(57)【要約】  一例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算し、遷移領域内のピクセルの予測値に基づいてブロックの遷移領域内のピクセルの残差値を計算し、及び、ピクセルの残差値を出力するように構成された映像符号化器を含む。一例では、映像復号器は、符号化されたブロックに関する残差値を受信し、及び幾何学的動き分割線の定義を使用した後に符号化されたブロックを復号するために同様のフィルタを用いることができる。
2013520877.tif 000002
【特許請求の範囲】
【請求項１】
映像データを符号化するための方法であって、
幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割することと、
前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの遷移領域内のピクセルの予測値を計算することと、
前記遷移領域内の前記ピクセルの前記予測値に基づいて前記ブロックの前記遷移領域内の前記ピクセルの残差値を計算することと、
前記ピクセルの前記残差値を出力することと、を備える、方法。
【請求項２】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項１に記載の方法。
【請求項３】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線は、角度値及び長さ値によって定義され、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び前記原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項１に記載の方法。
【請求項４】
前記角度値及び前記長さ値に基づいて前記幾何学的動き分割線の傾き値及びｙ切片値を計算することをさらに備え、前記傾き値及びｙ切片値は、整数値を備える請求項３に記載の方法。
【請求項５】
前記幾何学的動き分割線のための前記角度値及び前記長さ値を出力することをさらに備える請求項３に記載の方法。
【請求項６】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算することは、
前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算することと、
前記積の前記和を計算することと、
前記積の前記和を前記係数の前記和によって除することと、を備える請求項１に記載の方法。
【請求項７】
映像データを符号化するための装置であって、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの遷移領域内のピクセルの予測値を計算し、前記ブロックの前記遷移領域内の前記ピクセルの前記予測値に基づいて前記遷移領域内の前記ピクセルの残差値を計算し、及び前記ピクセルの前記残差値を出力するように構成された映像符号化器を備える、装置。
【請求項８】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項７に記載の装置。
【請求項９】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線は、角度値及び長さ値によって定義され、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び前記原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項７に記載の装置。
【請求項１０】
前記映像符号化器は、前記角度値及び前記長さ値に基づいて前記幾何学的動き分割線の傾き値及びｙ切片値を計算するように構成され、前記傾き値及びｙ切片値は、整数値を備える請求項９に記載の装置。
【請求項１１】
前記映像符号化器は、前記幾何学的動き分割線のための前記角度値及び前記長さ値を出力するように構成される請求項９に記載の装置。
【請求項１２】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算するために、前記映像符号化器は、前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算し、前記積の前記和を計算し、及び前記積の前記和を前記係数の前記和によって除するように構成される請求項７に記載の装置。
【請求項１３】
映像データを符号化するための装置であって、
幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割するための手段と、
前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの遷移領域内のピクセルの予測値を計算するための手段と、
前記ブロックの前記遷移領域内の前記ピクセルの前記予測値に基づいて前記遷移領域内の前記ピクセルの残差値を計算するための手段と、
前記ピクセルの前記残差値を出力するための手段と、を備える、装置。
【請求項１４】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項１３に記載の装置。
【請求項１５】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線は、角度値及び長さ値によって定義され、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び前記原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項１３に記載の装置。
【請求項１６】
前記角度値及び前記長さ値に基づいて前記幾何学的動き分割線の傾き値及びｙ切片値を計算するための手段をさらに備え、前記傾き値及び前記ｙ切片値は、整数値を備える請求項１５に記載の装置。
【請求項１７】
前記幾何学的動き分割線のための前記角度値及び前記長さ値を出力するための手段をさらに備える請求項１５に記載の装置。
【請求項１８】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算するための前記手段は、
前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算するための手段と、
前記積の前記和を計算するための手段と、
前記積の前記和を前記係数の前記和によって除するための手段と、を備える請求項１３に記載の装置。
【請求項１９】
実行されたときに、
幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、
前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの遷移領域内のピクセルの予測値を計算し、
前記ブロックの前記遷移領域内の前記ピクセルの前記予測値に基づいて前記遷移領域内の前記ピクセルの残差値を計算し、及び
前記ピクセルの前記残差値を出力することをプロセッサに行わせる命令を格納しているコンピュータによって読み取り可能な記憶媒体、を備える、コンピュータプログラム製品。
【請求項２０】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線は、角度値及び長さ値によって定義され、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び前記原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項１９に記載のコンピュータプログラム製品。
【請求項２２】
前記角度値及び前記長さ値に基づいて前記幾何学的動き分割線の傾き値及びｙ切片値を計算することを前記コンピュータに行わせる命令をさらに備え、前記傾き値及び前記ｙ切片値は、整数値を備える請求項２１に記載のコンピュータプログラム製品。
【請求項２３】
前記幾何学的動き分割線のための前記角度値及び前記長さ値を出力することを前記プロセッサに行わせる命令をさらに備える請求項２１に記載のコンピュータプログラム製品。
【請求項２４】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算することを前記プロセッサに行わせる前記命令は、
前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算し、
前記積の前記和を計算し、及び
前記積の前記和を前記係数の前記和によって除することを前記プロセッサに行わせる命令を備える請求項１９に記載のコンピュータプログラム製品。
【請求項２５】
映像データを復号する方法であって、
符号化された映像データのブロック、前記符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及び前記ブロックの遷移領域内のピクセルに関する残差値を受信することと、
前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの前記遷移領域内の前記ピクセルの予測値を計算することと、
前記予測値及び前記残差値に基づいて前記ブロックの前記遷移領域内の前記ピクセルに関する再構築された値を計算することと、
前記ピクセルの前記再構築された値を出力することと、を備える、方法。
【請求項２６】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項２５に記載の方法。
【請求項２７】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線の前記定義を受信することは、角度値及び長さ値を受信することを備え、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項２５に記載の方法。
【請求項２８】
前記幾何学的動き分割線の前記定義を受信することは、前記幾何学的動き分割線の傾き値及びｙ切片値を受信することを備え、前記傾き値及び前記ｙ切片値は、整数値を備える請求項２５に記載の方法。
【請求項２９】
前記予測値を計算することは、
前記第１の区画内の前記ブロックのピクセル及び前記第２の区画内の前記ブロックのピクセルを示すマスクを計算することと、
前記固定小数点算術を用いて前記マスクに基づいて前記第１の区画内の前記少なくとも１つの隣接ピクセル及び前記第２の区画内の前記少なくとも１つの隣接ピクセルの位置を見つけ出すことと、を備える請求項２８に記載の方法。
【請求項３０】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算することは、
前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算することと、
前記積の前記和を計算することと、
前記積の前記和を前記係数の前記和によって除することと、を備える請求項２５に記載の方法。
【請求項３１】
映像データを復号するための装置であって、符号化された映像データのブロック、前記符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及び前記ブロックの遷移領域内のピクセルに関する残差値を受信し、前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの前記遷移領域内の前記ピクセルの予測値を計算し、前記予測値及び前記残差値に基づいて前記ブロックの前記遷移領域内の前記ピクセルに関する再構築された値を計算し、及び前記ピクセルの前記再構築された値を出力するように構成された映像復号器を備える、装置。
【請求項３２】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項３１に記載の装置。
【請求項３３】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線の前記定義は、角度値と長さ値とを備え、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び前記原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項３１に記載の装置。
【請求項３４】
前記幾何学的動き分割線の前記定義は、前記幾何学的動き分割線の傾き値及びｙ切片値を備え、前記傾き値及び前記ｙ切片値は、整数値を備える請求項３１に記載の装置。
【請求項３５】
前記予測値を計算するために、前記映像復号器は、前記第１の区画内の前記ブロックのピクセル及び前記第２の区画内の前記ブロックのピクセルを示すマスクを計算し、及び固定小数点算術を用いて前記マスクに基づいて前記第１の区画内の前記少なくとも１つの隣接ピクセル及び前記第２の区画内の前記少なくとも１つの隣接ピクセルの位置を見つけ出すように構成される請求項３４に記載の装置。
【請求項３６】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算するために、前記映像復号器は、前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算し、前記積の前記和を計算し、及び前記積の前記和を前記係数の前記和によって除するように構成される請求項３１に記載の装置。
【請求項３７】
映像データを復号するための装置であって、
符号化された映像データのブロック、前記符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及び前記ブロックの遷移領域内のピクセルに関する残差値を受信するための手段と、
前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの前記遷移領域内の前記ピクセルの予測値を計算するための手段と、
前記予測値及び前記残差値に基づいて前記ブロックの前記遷移領域内の前記ピクセルに関する再構築された値を計算するための手段と、
前記ピクセルの前記再構築された値を出力するための手段と、を備える、装置。
【請求項３８】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項３７に記載の装置。
【請求項３９】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線の前記定義を受信するための前記手段は、角度値及び長さ値を受信するための手段を備え、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び前記原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項３７に記載の装置。
【請求項４０】
前記幾何学的動き分割線の前記定義を受信するための前記手段は、前記幾何学的動き分割線の傾き値及びｙ切片値を受信するための手段を備え、前記傾き値及び前記ｙ切片値は、整数値を備える請求項３７に記載の装置。
【請求項４１】
前記予測値を計算するための前記手段は、
前記第１の区画内の前記ブロックのピクセル及び前記第２の区画内の前記ブロックのピクセルを示すマスクを計算するための手段と、
前記固定小数点算術を用いて前記マスクに基づいて前記第１の区画内の前記少なくとも１つの隣接ピクセル及び前記第２の区画内の前記少なくとも１つの隣接ピクセルの位置を見つけ出すための手段と、を備える請求項４０に記載の装置。
【請求項４２】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算するための前記手段は、
前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算するための手段と、
前記積の前記和を計算するための手段と、
前記積の前記和を前記係数の前記和によって除するための手段と、を備える請求項３７に記載の装置。
【請求項４３】
実行されたときに、
符号化された映像データのブロック、前記符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及び前記ブロックの遷移領域内のピクセルに関する残差値を受信し、
前記第１の区画からの少なくとも１つの隣接ピクセルに関する値及び前記第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いて前記ブロックの前記遷移領域内の前記ピクセルの予測値を計算し、
前記予測値及び前記残差値に基づいて前記ブロックの前記遷移領域内の前記ピクセルに関する再構築された値を計算し、及び
前記ピクセルの前記再構築された値を出力することをプロセッサに行わせる命令を格納しているコンピュータによって読み取り可能な記憶媒体、を備える、コンピュータプログラム製品。
【請求項４４】
前記幾何学的動き分割線は、前記ブロックの水平境界及び前記ブロックの垂直境界を通る請求項４３に記載のコンピュータプログラム製品。
【請求項４５】
前記ブロックの原点は、前記ブロックの前記中心を備え、前記幾何学的動き分割線の前記定義を前記プロセッサに行わせる前記命令は、角度値及び長さ値を受信することを前記プロセッサに行わせる命令を備え、前記角度値は、ｘ軸に対する前記幾何学的動き分割線に垂直で及び原点を通る線の角度を備え、前記長さ値は、前記原点から前記垂直線が前記幾何学的動き分割線と交わる点までの距離を備える請求項４３に記載のコンピュータプログラム製品。
【請求項４６】
前記幾何学的動き分割線の前記定義を受信することを前記プロセッサに行わせる前記命令は、前記幾何学的動き分割線の傾き値及びｙ切片値を受信することを前記プロセッサに行わせる命令を備え、前記傾き値及び前記ｙ切片値は、整数値を備える請求項４３に記載のコンピュータプログラム製品。
【請求項４７】
前記予測値を計算することを前記プロセッサに行わせる前記命令は、
前記第１の区画内の前記ブロックのピクセル及び前記第２の区画内の前記ブロックのピクセルを示すマスクを計算し、及び
固定小数点算術を用いて前記マスクに基づいて前記第１の区画内の前記少なくとも１つの隣接ピクセル及び前記第２の区画内の前記少なくとも１つの隣接ピクセルの位置を見つけ出すことを前記プロセッサに行わせる命令を備える請求項４６に記載のコンピュータプログラム製品。
【請求項４８】
前記フィルタは、前記遷移領域内の前記ピクセル上にセンタリングされた係数の行列を備え、前記予測値を計算することを前記プロセッサに行わせる前記命令は、
前記フィルタの前記係数及び前記係数と共配置されたピクセルの値の積を計算し、
前記積の前記和を計算し、及び
前記積の前記和を前記係数の前記和によって除することを前記プロセッサに行わせる命令を備える請求項４３に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、米国仮特許出願第６１／３０５，８９２号（出願日：２０１０年２月１８日）、米国仮特許出願第６１／３２３，２３３号（出願日：２０１０年４月１２日）、及び米国仮特許出願第６１／３２３，２４４号（出願日：２０１０年４月１２日）の利益を主張するものであり、それらの各々の内容全体がここにおける引用によって明示で組み入れられている。
【０００２】
［関連出願の相互参照］
本特許出願は、下記の同時係属米国特許出願に関するものである。Ｃｈｅｎ  eｔ  ａｌ．（チェン、等）により、Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．１０１０５０Ｕ２を有し、これと同時並行して出願され、これの譲受人に対して譲渡され、ここにおける引用によって明示で組み入れられている“ADAPTIVE TRANSFORM SIZE SELECTION FOR GEOMETRIC MOTION PARTITIONING”（幾何学的動き分割のための適応型変換サイズ選択）、Ｃｈｅｎ  eｔ  ａｌ．（チェン、等）により、Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．１０１０５０Ｕ３を有し、これと同時並行して出願され、これの譲受人に対して譲渡され、ここにおける引用によって明示で組み入れられている“ENCODING MOTION VECTORS FOR GEOMETRIC MOTION PARTITIONING”（幾何学的動き分割に関する動きベクトルの符号化）、及び、Ｊｏｓｈｉ  eｔ  ａｌ．（ジョシ、等）により、Ａｔｔｏｒｎｅｙ  Ｄｏｃｋｅｔ  Ｎｏ．１０１６３７を有し、これと同時並行して出願され、これの譲受人に対して譲渡され、ここにおける引用によって明示で組み入れられている“FIXED POINT IMPLEMENTATION FOR GEOMETRIC MOTION PARTITIONING”（幾何学的動き分割のための固定小数点実装）。
【０００３】
［技術分野］
本開示は、映像コーディングに関するものである。
【背景技術】
【０００４】
［背景］
デジタル映像能力は、デジタルテレビ、デジタル直接放送システム、無線放送システム、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲームプレイ装置、ビデオゲーム卓、携帯電話、衛星無線電話、映像テレビ電話会議装置、等を含む広範なデバイスに組み入れることができる。デジタル映像装置は、デジタル映像情報をより効率的に送信及び受信するための映像圧縮技法、例えば、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３又はＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）（ＡＶＣ）によって定義された規格、及び該規格の拡大版において説明されるそれら、を実装する。
【０００５】
映像圧縮技法は、映像シーケンスに内在する冗長性を低減又は除去するために空間予測及び／又は時間予測を行う。ブロックに基づく映像コーディングのために、映像フレーム又はスライスをマクロブロックに分割することができる。各マクロブロックは、さらに分割することができる。イントラコーディング（ｉｎｔｒａ−ｃｏｄｉｎｇ）された（Ｉ）フレーム又はスライス内のマクロブロックは、隣接するマクロブロックに関する空間予測を用いて符号化される。インターコーディング（ｉｎｔｅｒ−ｃｏｄｉｎｇ）された（Ｐ又はＢ）フレーム又はスライス内のマクロブロックは、同じフレーム又はスライス内の隣接するマクロブロックに関する空間予測又はその他の基準フレームに関する時間予測を用いることができる。
【発明の概要】
【０００６】
概して、本開示は、映像ブロックの幾何学的動き分割（ｇｅｏｍｅｔｒｉｃ  ｍｏｔｉｏｎ  ｐａｒｔｉｔｉｏｎｉｎｇ）をサポートするための技法を説明する。すなわち、本開示の技法は、長方形のブロックを２つ以上の厳密に長方形の区画（ｐａｒｔｉｔｉｏｎ）に分割するのではなく、任意の区画境界を用いてブロックを分割することを提供し、幾何学的動き分割と呼ばれる。幾何学的動き分割をサポートするために、本開示は、区画境界における区画の重なり合う部分に関する動き補償を行うための技法を提供する。本開示は、分割されたブロックのサブブロックのための変換サイズを好適に選択するための技法も提供する。さらに、本開示は、区画の動きベクトルを個々に符号化するための技法を提供する。さらに、本開示の技法は、固定小数点実装又は浮動小数点実装のいずれかを用いて実行することができる。
【０００７】
一例では、方法は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割することと、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算することと、ブロックの遷移領域内のピクセルの予測値に基づいて遷移領域内のピクセルの残差値（ｒｅｓｉｄｕａｌ  ｖａｌｕｅ）を計算することと、ピクセルの残差値を出力することと、を含む。
【０００８】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値計算し、ブロックの遷移領域内のピクセルの予測値に基づいて遷移領域内のピクセルの残差値を計算し、及びピクセルの残差値を出力するように構成された映像符号化器を含む。
【０００９】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割するための手段と、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算するための手段と、ブロックの遷移領域内のピクセルの予測値に基づいて遷移領域内のピクセルの残差値を計算するための手段と、ピクセルの残差値を出力するための手段と、を含む。
【００１０】
他の例では、コンピュータプログラム製品は、実行されたときに、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算し、ブロックの遷移領域内のピクセルの予測値に基づいて遷移領域内のピクセルの残差値を計算し、及びピクセルの残差値を出力することをプロセッサに行わせる命令を格納しているコンピュータによって読み取り可能な媒体、を備える。
【００１１】
他の例では、方法は、符号化された映像データのブロック、符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及びブロックの遷移領域内のピクセルに関する残差値を受信することと、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算することと、予測値及び残差値に基づいてブロックの遷移領域内のピクセルに関する再構築された値を計算することと、ピクセルの再構築された値を出力することと、を含む。
【００１２】
他の例では、装置は、符号化された映像データのブロック、符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及びブロックの遷移領域内のピクセルに関する残差値を受信し、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算し、予測値及び残差値に基づいてブロックの遷移領域内のピクセルに関する再構築された値を計算し、及びピクセルの再構築された値を出力するように構成された映像復号器を含む。
【００１３】
他の例では、装置は、符号化された映像データのブロック、符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及びブロックの遷移領域内のピクセルに関する残差値を受信するための手段と、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算するための手段と、予測値及び残差値に基づいてブロックの遷移領域内のピクセルに関する再構築された値を計算するための手段と、ピクセルの再構築された値を出力するための手段と、を含む。
【００１４】
他の例では、コンピュータプログラム製品は、実行されたときに、符号化された映像データのブロック、符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及びブロックの遷移領域内のピクセルに関する残差値を受信し、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算し、予測値及び残差値に基づいてブロックの遷移領域内のピクセルに関する再構築された値を計算し、及びピクセルの再構築された値を出力することをプロセッサに行わせる命令を格納しているコンピュータによって読み取り可能な媒体を備える。
【００１５】
他の例では、方法は、幾何学的動き分割線を用いて映像データのブロックを第１の幾何学的区画及び第２の幾何学的区画に分割することであって、ブロックは、Ｎ×Ｎピクセルを備えることと、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割することと、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを符号化することと、を含む。
【００１６】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の幾何学的区画及び第２の幾何学的区画に分割し、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割し、及び（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを符号化するように構成され、ブロックは、Ｎ×Ｎピクセルを備える、映像符号化器、を含む。
【００１７】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の幾何学的区画及び第２の幾何学的区画に分割するための手段であって、ブロックは、Ｎ×Ｎピクセルを備える手段と、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割するための手段と、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを符号化するための手段と、を含む。
【００１８】
他の例では、コンピュータプログラム製品は、実行されたときに、幾何学的動き分割線を用いて映像データのブロックを第１の幾何学的区画及び第２の幾何学的区画に分割し、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割し、及び（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを符号化することをプロセッサに行わせる命令を格納しており、ブロックは、Ｎ×Ｎピクセルを備える、コンピュータによって読み取り可能な媒体、を備える。
【００１９】
他の例では、方法は、幾何学的動き分割線によって第１の幾何学的区画及び第２の幾何学的区画に分割された符号化された映像データのブロックを受信することであって、ブロックは、Ｎ×Ｎピクセルを備えることと、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割することと、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを逆変換することと、を含む。
【００２０】
他の例では、装置は、幾何学的動き分割線によって第１の幾何学的区画及び第２の幾何学的区画に分割された符号化された映像データのブロックを受信し、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割し、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを逆変換するように構成され、ブロックは、Ｎ×Ｎピクセルを備える、映像復号器、を含む。
【００２１】
他の例では、装置は、幾何学的動き分割線によって第１の幾何学的区画及び第２の幾何学的区画に分割された符号化された映像データのブロックを受信するための手段であって、ブロックは、Ｎ×Ｎピクセルを備える手段と、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割するための手段と、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを逆変換するための手段と、を含む。
【００２２】
他の例では、コンピュータプログラム製品は、実行されたときに、幾何学的動き分割線によって第１の幾何学的区画及び第２の幾何学的区画に分割された符号化された映像データのブロックを受信し、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割し、及び（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを逆変換することをプロセッサに行わせる命令を格納しており、ブロックは、Ｎ×Ｎのピクセルを備える、コンピュータによって読み取り可能な媒体、を備える。
【００２３】
他の例では、方法は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割することと、第１の区画に関する第１の動きベクトル及び第２の区画に関する第２の動きベクトルを決定することと、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子（ｐｒｅｄｉｃｔｏｒ）に基づいて第１の動きベクトルを符号化することと、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の動きベクトルを符号化することであって、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定されることと、符号化された第１及び第２の動きベクトルを出力することと、を含む。
【００２４】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、第１の区画に関する第１の動きベクトル及び第２の区画に関する第２の動きベクトルを決定し、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の動きベクトルを符号化し、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の動きベクトルを符号化し、及び、符号化された第１及び第２の動きベクトルを出力するように構成され、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定される、映像符号化器、を含む。
【００２５】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割するための手段と、第１の区画に関する第１の動きベクトル及び第２の区画に関する第２の動きベクトルを決定するための手段と、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の動きベクトルを符号化するための手段と、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の動きベクトルを符号化するための手段であって、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定される手段と、符号化された第１及び第２の動きベクトルを出力するための手段と、を含む。
【００２６】
他の例では、コンピュータプログラム製品は、実行されたときに、分割されたブロックに隣接するブロックの組を決定し、第１の区画に隣接するブロックを備えるブロック組の第１の部分組を決定し、及び第１の部分組を決定することから独立して、第２の区画に隣接するブロックを備えるブロックの組の第２の部分組を決定することをプロセッサに行わせる命令を格納しているコンピュータによって読み取り可能な媒体、を備える。
【００２７】
他の例では、方法は、幾何学的動き分割線によって第１の区画及び第２の区画に分割された映像データのブロック、第１の区画に関する第１の符号化動きベクトル、及び第２の区画に関する第２の符号化動きベクトルを受信することと、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の符号化された動きベクトルを復号することと、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の符号化された動きベクトルを復号することであって、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定されることと、復号された第１及び第２の動きベクトルを用いてブロックを復号することと、を含む。
【００２８】
他の例では、装置は、幾何学的動き分割線によって第１の区画及び第２の区画に分割された映像データのブロック、第１の区画に関する第１の符号化された動きベクトル、及び第２の区画に関する第２の符号化された動きベクトルを受信し、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の符号化された動きベクトルを復号し、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の符号化された動きベクトルを復号し、及び復号された第１及び第２の動きベクトル用いてブロックを復号するように構成され、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定される、映像復号器、を含む。
【００２９】
他の例では、装置は、幾何学的動き分割線によって第１の区画及び第２の区画に分割された映像データのブロック、第１の区画に関する第１の符号化された動きベクトル、及び第２の区画に関する第２の符号化された動きベクトルを受信するための手段と、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の符号化された動きベクトルを復号するための手段と、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の符号化された動きベクトルを復号するための手段であって、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定される手段と、復号された第１及び第２の動きベクトルを用いてブロックを復号するための手段と、を含む。
【００３０】
他の例では、コンピュータプログラム製品は、実行されたときに、幾何学的動き分割線によって第１の区画及び第２の区画に分割された映像データのブロック、第１の区画に関する第１の符号化された動きベクトル、及び第２の区画に関する第２の符号化された動きベクトルを受信し、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の符号化された動きベクトルを復号し、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の符号化された動きベクトルを復号し、及び復号された第１及び第２の動きベクトルを用いてブロックを復号することをプロセッサに行わせる命令を格納しており、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定される、コンピュータによって読み取り可能な媒体、を備える。
【００３１】
他の例では、方法は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割することと、幾何学的動き分割線の傾き値及びｙ切片値を計算することであって、傾き値及びｙ切片値は、整数値を備えることと、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算することと、マスクに基づいて第１の区画及び第２の区画を符号化することと、符号化された第１の区画、符号化された第２の区画、傾き値、及びｙ切片値を出力することと、を含む。
【００３２】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、幾何学的動き分割線の傾き値及びｙ切片値を計算し、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算し、マスクに基づいて第１の区画及び第２の区画を符号化し、及び符号化された第１の区画、符号化された第２の区画、傾き値、及びｙ切片値を出力するように構成され、傾き値及びｙ切片値は、整数値を備える、映像符号化器、を含む。
【００３３】
他の例では、装置は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割するための手段と、幾何学的動き分割線の傾き値及びｙ切片値を計算するための手段であって、傾き値及びｙ切片値は、整数値を備える手段と、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算するための手段と、マスクに基づいて第１の区画及び第２の区画を符号化するための手段と、符号化された第１の区画、符号化された第２の区画、傾き値、及びｙ切片値を出力するための手段と、を含む。
【００３４】
他の例では、コンピュータプログラム製品は、実行されたときに、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、幾何学的動き分割線の傾き値及びｙ切片値を計算し、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算し、マスクに基づいて第１の区画及び第２の区画を符号化し、及び符号化された第１の区画、符号化された第２の区画、傾き値、及びｙ切片値を出力することをプロセッサに行わせる命令を格納しており、傾き値及びｙ切片値は、整数値を備える、コンピュータによって読み取り可能な媒体、を備える。
【００３５】
他の例では、方法は、幾何学的動き分割線によって第１の区画及び第２の区画に分割されている符号化された映像データのブロックを受信し、幾何学的動き分割線を定義する傾き値及びｙ切片値を受信することであって、傾き値及びｙ切片値は、整数値を備えることと、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算することと、マスクに基づいてブロックの第１の区画及び第２の区画を復号することと、復号されたブロックを出力することと、を含む。
【００３６】
他の例では、装置は、幾何学的動き分割線によって第１の区画及び第２の区画に分割されている符号化された映像データのブロックを受信し、幾何学的動き分割線を定義する傾き値及びｙ切片値を受信し、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算し、マスクに基づいてブロックの第１の区画及び第２の区画を復号し、及び復号されたブロックを出力するように構成され、傾き値及びｙ切片値は、整数値を備える、映像復号器、を含む。
【００３７】
他の例では、装置は、幾何学的動き分割線によって第１の区画及び第２の区画に分割されている符号化された映像データのブロックを受信するための手段と、幾何学的動き分割線を定義する傾き値及びｙ切片値を受信するための手段であって、傾き値及びｙ切片値は、整数値を備える手段と、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算するための手段と、マスクに基づいてブロックの第１の区画及び第２の区画を復号するための手段と、復号されたブロックを出力するための手段と、を含む。
【００３８】
他の例では、コンピュータプログラム製品は、実行されたときに、幾何学的動き分割線によって第１の区画及び第２の区画に分割されている符号化された映像データのブロックを受信し、幾何学的動き分割線を定義する傾き値及びｙ切片値を受信し、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算し、マスクに基づいてブロックの第１の区画及び第２の区画を復号し、及び復号されたブロックを出力することをプロセッサに行わせる命令を格納しており、傾き値及びｙ切片値は、整数値を備える、コンピュータによって読み取り可能な媒体、を備える。
【００３９】
１つ以上の例の詳細が添付図及び以下の説明において詳述される。それらの説明及び図面から、及び請求項からその他の特徴、目的、及び利点が明確であろう。
【図面の簡単な説明】
【００４０】
【図１】幾何学的動き分割のための技法を利用することができる映像符号化及び復号システム例を示したブロック図である。
【図２】幾何学的動き分割のための技法を実装することができる映像符号化器の例を示したブロック図である。
【図３】幾何学的動き分割されたブロックを含む符号化された映像シーケンスを復号することができる映像復号器の例を示したブロック図である。
【図４】幾何学的動き分割線を用いて分割されているブロック及び幾何学的動き分割線を定義するために用いられるパラメータを例示した概念図である。
【図５】幾何学的動き分割線を用いて分割されているブロック及び幾何学的動き分割線の近傍の遷移領域内のピクセルを例示した概念図である。
【図６】３×３ピクセル配列を例示した概念図である。
【図７】幾何学的動き分割線を用いて分割されたブロックに関する残差値を計算するときにスムージングを行うための方法例を示したフローチャートである。
【図８】適応型変換サイズ選択を用いて変換されるブロック例を示した概念図である。
【図９】適応型変換サイズ選択を用いて変換される他のブロック例の概念図である。
【図１０】Ｎ×Ｎブロックのサブブロックのための変換サイズを決定するための方法例を示したフローチャートである。
【図１１】幾何学的分割されたブロック及び隣接するサブブロックを例示したブロック図である。
【図１２】映像データのブロックの幾何学的動き区画の動きベクトルを符号化するための方法例を示したフローチャートである。
【図１３】固定小数点実装を用いて映像データのブロックを符号化するための方法例を示したフローチャートである。
【発明を実施するための形態】
【００４１】
［詳細な説明］
概して、本開示は、映像ブロックの幾何学的動き分割をサポートするための技法について説明する。すなわち、この開示の技法は、長方形のブロックを２つ以上の厳密に長方形の区画に分割するのではなく、任意の区画境界を用いてブロックを分割することを提供し、幾何学的動き分割と呼ばれる。分割線は、２つのパラメータ、すなわち、分割線に垂直で及び分割されたブロックの中心点を起点とする線分の長さρ（ロー）、及び、分割されたブロックの中心点を通る水平線に対する垂直線の角度θ（シータ）を用いて定義することができる。幾つかの例では、分割線は、各区画のピクセルを画定するステップ付き線（ｓｔｅｐｐｅｄ  ｌｉｎｅ）によって実現することができ、従って、分割線は、ブロックのいずれのピクセル内も通らない。
【００４２】
例及び説明の目的上、本開示は、マクロブロックの幾何学的動き分割のための技法を説明する。しかしながら、これらの技法は、あらゆる映像データのブロックを分割するために概して適用できることが理解されるべきである。用語マクロブロックは、典型的には１６×１６ピクセルのサイズを有する二次元ピクセル配列を用いてデジタルピクチャ及び映像データをコーディングするためのデータ構造を意味する。マクロブロックは、色度データと輝度データとを含むことができる。典型的には、色度データは、水平的に又は垂直的に２倍分だけ輝度データと比較してダウンサンプリングされる。従って、マクロブロックは、４つの輝度ブロックと２つの色度ブロックとを含むことができる。４つの輝度ブロックの各々は、８×８ピクセルを備えることができ、及び、マクロブロックの各角は、輝度ブロックのうちの正確に１つの角が接することができる。２つの色度ブロックは、８×８ピクセルブロックであることができ、従って、色度ブロックの各々の角は、マクロブロックの各角に接する。従って、色度ブロックは、互いに及び輝度ブロックと重なり合うことができる。
【００４３】
映像コーディング規格は、典型的には、映像データのブロックを符号化するための様々な予測モードを提供する。イントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）は、スライス又はフレームのブロックをその同じスライス又はフレームのその他のブロックと比較して符号化することを含む。インター予測（ｉｎｔeｒ−ｐｒｅｄｉｃｔｉｏｎ）は、動き推定及び動き補償技法を用いて、スライス又はフレームのブロックを１つ以上のその他のスライス又はフレームと比較して符号化することを可能にする。
【００４４】
本開示の技法は、幾何学的動き分割が概して対象であり、任意の区画サイズ及び形状を許容することができる。すなわち、上述されるロー値及びシータ値を用いて定義された分割線は、マクロブロックを符号化するために長方形でない区画を用いるのを可能にすることができる。特に、本開示の技法は、幾何学的動き区画に関する動きベクトルを生成するための技法、及び幾何学的動き区画に基づいて動き補償を行うための技法を説明する。幾何学的動き分割線は、ブロックを長方形の区画に分割することに制限されない。幾つかの例では、幾何学的動き分割線は、Ｎ×ＮブロックをＮ×Ｍブロックに分割することができる一方で、幾何学的動き分割は、ブロックを長方形でない区画、例えば、三角形の区画、に分割する能力も提供する。この方法で、幾何学的動き分割線は、ブロックの１つの水平境界及びそのブロックの１つの垂直境界と交差することができる。
【００４５】
幾つかの例では、幾何学的動き分割をサポートすることは、変更された動き補償技法の使用を含む。特に、変更された動き補償技法は、幾何学的動き分割線の近傍における遷移領域内のピクセルのためのスムージングフィルタを提供することができる。本開示の動き補償技法は、該重なり合うピクセルに関する残差値を決定することを含むことができる。一例では、本開示の技法は、この境界領域内で動き補償を行うための低域通過フィルタ（例えば、スムージングフィルタ）を定義する。すなわち、幾何学的分割線における区画間での遷移をスムージングする様々なフィルタを定義することができる。ピクセルが遷移領域内に存在する場合は、そのピクセルのための動き補償は、これらのフィルタのうちの１つを適用してそのピクセルに関する予測値を決定し、次に、予測値と符号化されるべきピクセルの値との間の差分を決定することによって行うことができ、フィルタは、区画に関する動きベクトルによって特定された予測ブロックからの値を適用する。この差分は、ピクセルに関する残差値を表すことができる。
【００４６】
他の例では、幾何学的に分割されたブロックの境界領域において動き補償を行うために、加重平均を用いることができる。すなわち、ピクセルに関する動き補償された値を決定するために、２つの区画からのピクセルに関する値の加重平均を計算することができる。ピクセルが相対的により近い方の区画のための値は、他方の区画のための値よりも大きく加重することができる。ピクセルに関する予測された値は、この方法で計算し、残差値を計算するために、又は受信された残差値を予測された値に適用することによって符号化されたブロックを再構築するために用いることができる。
【００４７】
本開示は、幾何学的動き区画を用いて分割されたブロックの残差を符号化するための技法も含む。幾何学的区画を用いてブロックの残差を符号化するために、分割線の位置に基づいて適応型変換サイズを用いることができる。概して、Ｎ×Ｎピクセルの各サブブロックブロックに関して、サブブロックに関する残差は、区画がブロック内を横切らない場合にＮ×Ｎの変換サイズを用いて符号化することができ、そうでない場合は、Ｎ×ＮサブブロックをＮ／２×Ｎ／２サブブロックに細分することができ、それらの各々は、分割線がサブブロック内を横切るかどうかに関して再解析することができる。
【００４８】
例えば、ブロックサイズが１６×１６であると仮定する。内部の各々の８×８サブブロックに関して、８×８ブロック内部の全ピクセルが同じ区画に属する場合は８×８変換を用いることができ、そうでない場合は、４つの４×４変換を用いることができる。他の例として、ブロックサイズが３２×３２又は６４×６４であるときには、各々の３２×３２又は１６×１６の内部サブブロックに関して、１６×１６ブロック内部の全ピクセルが同じ区画に属する場合に１６×１６変換を用いることができ、そうでない場合は、各々の１６×１６サブブロックに関して論理を繰り返すことができる。
【００４９】
本開示は、幾何学的動き分割線を用いて分割されたブロックの区画に関する動きベクトルを符号化するための技法をさらに提供する。これらの技法は、動きベクトルのための動き予測子を選択することを含むことができ、動き予測子のための候補は、同じブロックの２つの区画の動きベクトルの場合と異なることができる。動き予測子のための候補は、従来の符号化規格に関する動き予測子よりも大きい潜在力を有するそれらを含むこともできる。
【００５０】
本開示の技法は、固定小数点実装において適用することもできる。特に、幾何学的動き分割線は、その線の傾き（ｍ）及びｙ切片（ｃ）を表す固定小数点（例えば、整数）値を用いて定義することができる。符号化器及び復号器は、幾何学的動き区画を評価するために固定小数点算術を用いるように構成することができ、従って、符号化器及び復号器は、固定小数点値から同一のマスクを生成する。符号化器及び復号器は、次のようにマスクを計算するように構成することができ、すなわち、マスクの各点（ｘ，ｙ）に関して、マスク内の（ｘ，ｙ）における点の値は、ｙ−ｍ＊ｘ＜ｃの場合は１であり、マスク内の（ｘ，ｙ）における点の値は、ｙ−ｍ＊ｘ≧ｃの場合は０である。この方法で、符号化器及び復号器は、（各々のｘ値及びｙ値によって定義された点の組を備える）マスクを計算するように構成することができ、従って、マスク内の各点に関して、マスク内のその点の値は、その点のｙ値と線の傾き値及びその点のｘ値の積との間の差分が線のy切片値よりも大きいかどうかを示す値に設定される。マスク内の各点の値は、１ビット値を備えることができる。
【００５１】
０の値を有するマスク内の点は、領域ゼロに対応し、１の値を有するマスク内の点は、領域１に対応する。幾何学的動き区画によって定義されるように、領域ゼロは、１つの区画であることができ、領域１は、他の区画であることができる。従って、符号化器及び復号器は、浮動小数点算術を用いて幾何学的動き区画の角度θ（シータ）及び中心点までの距離ρ（ロー）からマスクを計算するのではなく、角度値及び中心点値に基づいて傾きｍ及びｙ切片ｃのための固定小数点、整数値を用いてマスクを計算するように構成することができる。本開示の技法は、幾何学的動き分割を特定のブロック又はブロックの組のために用いられるかどうか、そしてそうである場合は、固定小数点又は浮動小数点演算のいずれがブロック又はブロックの組のために用いられるかをシグナリングすることを含むこともできる。
【００５２】
図１は、幾何学的動き分割のための技法を利用することができる映像符号化及び復号システム例１０を示したブロック図である。図１に示されるように、システム１０は、通信チャネル１６を介して行先デバイス１４に符号化された映像を送信するソースデバイス１２を含む。ソースデバイス１２及び行先デバイス１４は、広範なデバイスのうちのいずれも備えることができる。幾つの場合には、ソースデバイス１２及び行先デバイス１４は、無線通信デバイス、例えば、無線ハンドセット、いわゆる携帯又は衛星無線電話、又は通信チャネル１６を通じて映像情報を通信することができるあらゆる無線デバイス、を備えることができ、その場合は、通信チャネル１６は無線である。しかしながら、幾何学的動き分割に関する本開示の技法は、無線用途又は設定に必ずしも限定されない。例えば、これらの技法は、オーバーザエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、インターネット映像送信、記憶媒体において符号化される符号化されたデジタル映像、又はその他のシナリオに適用することができる。従って、通信チャネル１６は、符号化された映像データの送信に適する無線又は有線媒体のあらゆる組み合わせを備えることができる。
【００５３】
図１の例では、ソースデバイス１２は、映像ソース１８と、映像符号化器２０と、変調器／復調器（モデム）２２と、送信機２４と、を含む。行先デバイス１４は、受信機２６と、モデム２８と、映像復号器３０と、表示装置３２と、を含む。本開示により、ソースデバイス１２の映像符号化器２０は、幾何学的動き分割のための技法を適用するように構成することができる。その他の例では、ソースデバイス及び行先デバイスは、その他のコンポーネント又は配置を含むことができる。例えば、ソースデバイス１２は、外部映像ソース１８、例えば外部カメラ、から映像データを受信することができる。同様に、行先デバイス１４は、一体化された表示装置を含むのではなく、外部の表示装置とインタフェースすることができる。
【００５４】
図１の例示されたシステム１０は、単なる一例であるにすぎない。幾何学的動き分割のための技法は、あらゆるデジタル映像符号化及び／又は復号デバイスによって実行することができる。概して本開示の技法は映像符号化デバイスによって実行されるが、それらの技法は、典型的には“ＣＯＤＥＣ”と呼ばれる映像符号化器／復号器によって実行することもできる。さらに、本開示の技法の幾つかの態様は、映像前置プロセッサによって実行することもできる。ソースデバイス１２及び行先デバイス１４は、単に該コーディングデバイスの例であり、ソースデバイス１２は、行先デバイス１４への送信のためにコーディングされた映像データを生成する。幾つかの例では、デバイス１２、１４は、実質的に対称的に動作することができ、従って、デバイス１２、１４の各々は、映像符号化及び復号コンポーネントを含む。従って、システム１０は、例えば、映像ストリーミング、映像再生、映像放送、又は映像テレフォニーのための映像デバイス１２、１４間での１方向又は２方向送信をサポートすることができる。
【００５５】
ソースデバイス１２の映像ソース１８は、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像を含む映像アーカイブ、及び／又は映像コンテンツプロバイダからの映像フィード、を含むことができる。さらなる代替として、映像ソース１８は、コンピュータグラフィックスに基づくデータをソース映像、又は、ライブ映像、アーカイブに保存された映像、及びコンピュータによって生成された映像の組み合わせ、として生成することができる。幾つかの場合は、映像ソース１８がビデオカメラである場合は、ソースデバイス１２及び行先デバイス１４は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、上述されるように、本開示において説明される技法は、映像コーディング全般に対して適用可能であり、無線及び／又は有線用途に適用することができる。各々の場合において、キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像を映像符号化器２０によって符号化することができる。符号化された映像情報は、通信規格によりモデム２２によって変調し、送信機２４を介して行先デバイス１４に送信することができる。モデム２２は、信号変調用に設計された様々なミキサ、フィルタ、増幅器又はその他のコンポーネントを含むことができる。送信機２４は、データを送信するために設計された回路を含むことができ、増幅器と、フィルタと、１つ以上のアンテナとを含む。
【００５６】
行先デバイス１４の受信機２６は、チャネル１６を通じて情報を受信し、モデム２８は、その情報を復調する。繰り返すと、映像符号化プロセスは、幾何学的動き分割に従ってここにおいて説明される技法のうちの１つ以上を実装することができる。チャネル１６を通じて通信された情報は、マクロブロック及びその他のコーディングされたユニット、例えば、ピクチャグループ（ＧＯＰ）、の特性及び／又は処理を記述する構文要素を含む、映像復号器３０によっても用いられる、映像符号化器２０によって定義された構文情報を含むことができる。表示装置３２は、復号された映像データをユーザに表示し、様々な表示装置、例えば、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又はその他のタイプの表示装置のうちのいずれも備えることができる。
【００５７】
図１の例において、通信チャネル１６は、あらゆる無線又は有線通信媒体、例えば、無線周波数（ＲＦ）スペクトル又は１本以上の物理的送信線、又は無線及び有線媒体のあらゆる組み合わせ、を備えることができる。通信チャネル１６は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信チャネル１６は、ソースデバイス１２から行先デバイス１４に映像データを送信するための適切な通信媒体、又は異なる通信媒体の集合、を概して代表し、有線又は無線媒体のあらゆる適切な組み合わせを含む。通信チャネル１６は、ソースデバイス１２から行先デバイス１４への通信を容易にするために役立つことができるルータ、スイッチ、基地局、又はその他の装置、を含むことができる。
【００５８】
映像符号化器２０及び映像復号器３０は、映像圧縮規格、例えばＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）（アドバンスト映像コーディング）と代替で呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、により動作することができる。しかしながら、本開示の技法は、いずれの特定のコーディング規格にも限定されない。その他の例は、ＭＰＥＧ−２と、ＩＴＵ−Ｔ  Ｈ．２６３と、を含む。図１には示されないが、幾つかの態様においては、映像符号化器２０及び映像復号器３０は、音声符号化器及び復号器と各々一体化することができ、及び、共通のデータストリーム又は別個のデータストリームにおける音声と映像の両方の符号化を処理するために該当するＭＵＸ−ＤＥＭＵＸユニット、又はその他のハードウェアとソフトウェアとを含むことができる。該当する場合は、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はその他のプロトコル、例えばユーザデータグラムプロトコル（ＵＤＰ）、に準拠することができる。
【００５９】
ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、ジョイントビデオチーム（ＪＶＴ）と呼ばれる共同パートナー関係の産物としてＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）の共同で作成されたものである。幾つの態様では、本開示において説明される技法は、Ｈ．２６４規格に概して準拠するデバイスに適用することができる。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる、２００５年３月付のＩＴＵ−Ｔ勧告Ｈ．２６４、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ（一般的音声映像サービスのための高度映像コーディング）において説明され、ここでは、Ｈ．２６４規格又はＨ．２６４仕様、又はＨ．２６４／ＡＶＣ規格又は仕様と呼ばれることがある。ジョイントビデオチーム（ＪＶＴ）は、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣの拡大版に関する作業を継続中である。
【００６０】
映像符号化器２０及び映像復号器３０は、各々、様々な適切な符号化器回路、例えば、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。映像符号化器２０及び映像復号器３０の各々は、１つ以上の符号化器又は復号器に含めることができ、それらのいずれも、各々のカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバ、等において結合された符号化器／復号器（ＣＯＤＥＣ）の一部として一体化することができる。
【００６１】
映像シーケンスは、典型的には、映像ピクチャとも呼ばれる一続きの映像フレームを含む。ピクチャグループ（ＧＯＰ）は、概して、一続きの１つ以上の映像フレームを備える。ＧＯＰは、ＧＯＰに含まれる幾つかのフレームを記述する構文データをＧＯＰのヘッダ、ＧＯＰの１つ以上のフレームのヘッダ、又はその他の場所に含めることができる。各フレームは、各々のフレームのための符号化モードを記述するフレーム構文データを含むことができる。映像符号化器２０は、典型的には、映像データを符号化するために個々の映像フレーム内の映像ブロックに対して動作する。映像ブロックは、マクロブロック、マクロブロックの一区画、又はマクロブロックよりも大きいブロックに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格によりサイズが異なることができる。各映像フレームは、１つ以上のスライスを含むことができる。各スライスは、複数のマクロブロックを含むことができ、それらは、サブブロックとも呼ばれる区画内に配置することができる。
【００６２】
一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、様々なブロックサイズ、例えば、輝度（ｌｕｍａ）成分に関しては１６  ｂｙ  １６、８  ｂｙ  ８、又は４  ｂｙ  ４、及び色度（ｃｈｒｏｍａ）成分に関しては８×８、でのイントラ予測、及び、様々なブロックサイズ、例えば、輝度成分に関しては１６×１６、１６×８、８×１６、８×８、８×４、４×８及び４×４、及び色度成分に関しては対応するスケーリングされたサイズ、でのインター予測、をサポートする。本開示では、“Ｎ×Ｎ”及び“Ｎ  ｂｙ  Ｎ”は、縦寸法又は横寸法の点でのブロックのピクセル寸法を互換的に指し示すために用いることができ、例えば、１６×１６ピクセル又は１６  ｂｙ  １６ピクセルである。概して、１６×１６のブロックは、縦方向に１６のピクセル（ｙ＝１６）及び横方向に１６のピクセル（ｘ＝１６）を有することになる。同様に、Ｎ×Ｎブロックは、概して、縦方向にＮのピクセル及び横方向にＮのピクセルを有し、ここで、Ｎは負でない整数値を表す。ブロック内のピクセルは、行及び列で配置することができる。さらに、ブロックは、横方向のピクセル数が縦方向と必ずしも同じである必要がない。例えば、ブロックは、Ｎ×Ｍのピクセルを備えることができ、ここで、Ｍは、必ずしもＮと等しくない。
【００６３】
１６  ｂｙ  １６よりも小さいブロックサイズは、１６  ｂｙ  １６のマクロブロックの区画と呼ぶことができる。映像ブロックは、例えば、離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に類似する変換をコーディングされた映像ブロックと予測映像ブロックとの間のピクセル差分を表す残差映像ブロックデータに適用後における、ピクセル領域におけるピクセルデータのブロック、又は変換領域における変換係数のブロックを備えることができる。幾つかの場合は、映像ブロックは、変換領域における量子化された変換係数のブロックを備えることができる。
【００６４】
より小さい映像ブロックは、より良い解像度を提供することができ、及び、高レベルの詳細度を含む映像フレームの位置のために用いることができる。概して、マクロブロック、及びサブブロックと時々呼ばれる様々な区画は、映像ブロックとみなすことができる。さらに、スライスは、複数の映像ブロック、例えば、マクロブロック及び／又はサブブロック、であるとみなすことができる。各スライスは、映像フレームの独立して復号可能な単位であることができる。代替として、フレーム自体が復号可能な単位であることができ、又はフレームのその他の部分を復号可能な単位として定義することができる。用語“ココーディングされた単位”又は“コーディング単位”は、映像フレームの独立して復号可能な単位、例えば、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ（ＧＯＰ）、又は適用可能なコーディング技法により定義された他の独立して復号可能な単位を指し示すことができる。
【００６５】
本開示の技法により、映像符号化器２０は、ブロック、例えば、マクロブロック、のインターモード符号化中に幾何学的動き分割を用いるように構成することができる。すなわち、映像符号化器２０は、幾何学的区画とも呼ばれる幾何学的動き分割線を用いて最良の形で符号化できることを決定することができる。原点がブロックの中心であると仮定される。次に、各幾何学的動き分割線が、区画境界を画定する線に垂直な原点を通る線によって定義される。すなわち、映像符号化器２０は、２つのパラメータ、すなわち、分割線に垂直で及び分割されたブロックの中心点を起点とする線分の長さρ（ロー）、及び、分割されたブロックの中心点を通る水平線に対する垂直線の角度θ（シータ）を用いて幾何学的動き分割線を定義することができる。換言すると、幾何学的動き分割線は、Ｘ軸に対する垂直線の角度及び原点からの分割線の距離によって定義される。映像符号化器２０は、ブロックを２つの区画に分割すべきであることを決定し、及び、それらの２つの区画間の区分に最も適合する（ρ，θ）によって定義された分割線を計算するように構成することができる。以下の方程式（１）は、幾何学的動き分割線を定義する。
【００６６】
Y=(-1/tan(θ))・x+ρ/sin(θ)=mx+c              (1)
様々な例において、映像符号化器２０は、固定された又は可変のサイズのブロック、例えば、１６×１６、３２×３２、及び／又は６４×６４のブロックを用いるように構成することができる。概して、Ｎ×Ｎブロックに関しては、映像符号化器２０は、［０，（Ｎ／２）−１］の範囲内のρに関する値を選択することができる。従って、１６×１６ブロックに関しては、映像符号化器２０は、［０，７］の範囲内のρに関する値を選択するように構成することができる。他の例として、３２×３２ブロックに関しては、映像符号化器２０は、［０，１５］の範囲内のρに関する値を選択するように構成することができる。さらに他の例として、６４×６４ブロックに関しては、映像符号化器２０は、［０，３１］の範囲内のρに関する値を選択するように構成することができる。幾つかの例では、映像符号化器２０は、［０，３１］の範囲内のθに関する値を選択するように構成することができる。従って、θに関する値の範囲は、１１．２５度のステップサイズを有することができる。これらの例では、１６×１６のブロックサイズに関しては２５６の可能な幾何学的区画、３２×３２のブロックサイズに関しては５１２の可能な幾何学的区画、及び６４×６４のブロックサイズに関しては１０２４の可能な幾何学的区画が存在することができる。しかしながら、ブロックサイズ及びρとθのステップサイズの選択は、上述される値には必ずしも限定されない。
【００６７】
映像符号化器２０及び映像復号器３０は、特定のピクセルがいずれの幾何学的動き区画に対応するかを決定するように構成することができ、及び、符号化器及び復号器の両方が所定のピクセルに関して同じ区画を選択するように構成すべきである。幾つかの例では、映像符号化器２０及び映像復号器３０は、幾何学的動き区画を用いてブロックを分割するときには固定小数点計算を用いることができる。ピクセルが領域ゼロ又は領域１に対応するかの指示を、ゼロはピクセルが領域ゼロに属することを示し、１はピクセルが領域１に属することを示すバイナリマスクとして効率的に格納することができる。可能な幾何学的区画の数及びブロックサイズに起因して、映像符号化器２０及び映像復号器３０において全マスクを格納するのは法外になることがある。従って、本開示は、オンザフライ（ｏｎ  ｔｈｅ  ｆｌｙ）で、及び幾つかの場合は固定小数点演算を用いて、マスクを計算するための技法を含む。
【００６８】
公式（１）内の傾きｍ及びｙ切片ｃは三角関数を含み、従って、この公式に厳格に基づくオンザフライでのマスクの計算は、浮動小数点実装を要求することになる。幾つかの場合は、２つのデバイスが一致する浮動小数点実装を有するのは困難であり、又は不可能な場合さえもある。従って、マスクは、固定小数点算術を用いて計算することができる。従って、遷移領域内のピクセルに関する予測値を計算することは、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算することと、固定小数点算術を用いて、マスクに基づいて第１の区画内の遷移領域内のピクセルの少なくとも１つの隣接ピクセル及び第２の区画内の少なくとも１つの隣接ピクセルの位置を見つけ出す（ｌｏｃａｔｅ）ことと、を含むことができる。
【００６９】
固定小数点算術を用いる例では、θ＝０及びθ＝πの場合は幾何学的動き区画は無限の傾き及び無限のｙ切片を有する垂直線になるため除外することができる。残りの場合においては、１／ｔａｎθ及び１／ｓｉｎθは、固定小数点値を用いて表すことができる。その他のパラメータρは、整数として既に表すことができる。１／ｔａｎθに関しては、θの残りの値に関する最大絶対値は５．０２７３であり、１／ｔａｎθの２つの連続する値間の最大絶対差は、０．１９８９であることができる。同様に、１／ｓｉｎθに関しては、最大絶対値は、５．１２５８であることができ、１／ｓｉｎθの２つの連続する値間の最大絶対差は、０．０１９６であることができる。マスク計算を固定小数点演算に変換するために、映像符号化器２０は、２の適切なべき乗を１／ｔａｎθ及び１／ｓｉｎθに乗じ、その結果の小数点以下を四捨五入して整数を求めることができる。
【００７０】
一例において、固定小数点実装に関しては、映像符号化器２０は、２２０、すなわち１０４８５７６、を１／ｔａｎθ及び１／ｓｉｎθに乗じ、それらの小数点以下を四捨五入して整数を求めることができる。１のステップサイズを有する最大で６４×６４のブロックサイズの例におけるρの最大値は３２であるため、ｙの切片値を表すためには２５ビットの符号付き実装が適切である。式“ｍｘ”内のｘは、−３２乃至３１の値をとることができるため、ｍｘは、２５ビットの符号付き整数として表すこともできる。幾つかの例では、映像符号化器２０及び映像復号器３０は、θの３２個の値の各々に関して、１／ｔａｎθ及び１／ｓｉｎθの値を格納するために３２ビットの符号付き整数を用いることができる。ｓｉｎ関数及びｔａｎ関数の対称的性質に起因して、映像符号化器２０及び映像復号器３０は、傾き及び切片の８個の値のみを３２ビットの符号付き整数として格納するように構成することができる。前述されるように、これらの格納された値は、θ＝０及びθ＝πのときには用いる必要がない。
【００７１】
映像符号化器２０及び映像復号器３０は、固定小数点演算を用いて同一のマスクを導き出すように構成することができる。これは、本来は幾何学的動き分割によって引き起こされることがある、映像符号化器２０と映像復号器３０との間のドリフト誤差を引き起こすのを回避することができる。領域０内のいずれかの点（ｘ０，ｙ０）に関してｙ０−ｍ＊ｘ０≧ｃであるように領域ゼロを定義する。同様に、領域１内のいずれかの点（ｘ１，ｙ１）に関してｙ１−ｍ＊ｘ１＜ｃであるように領域１を定義する。あらゆる幾何学的動き区画に関して、及びあらゆる点（ｘ，ｙ）に関して、映像符号化器２０は、固定小数点でｙ−ｍ＊ｘを計算し、その結果をｙ切片と比較してその点が領域ゼロ又は領域１のいずれに属するかを決定することができる。θ＝０又はθ＝πのときには、幾何学的動き区画は、ｘ＝ρによって定義された垂直線である。その場合は、ｘ＜ρであるブロックからのすべての点を区画０に属するように定義することができ、残りの点（ｘ≧ρ）は区画１に属するように定義することができる。映像符号化器２０及び映像復号器３０は、いずれの点が領域ゼロに対応し、いずれの点が領域１に対応するかを示すブロックのためのマスクを計算するためにそのブロック内の各点を通じて繰り返すように構成することができる。固定小数点演算を用いてブロックのためのマスクを計算後は、幾何学に基づく動き区画のための残りの演算はマスクに基づくことができる。
【００７２】
この方法で、映像符号化器２０は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、幾何学的動き分割線の傾き値及びｙ切片値を計算し、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算し、マスクに基づいて第１の区画及び第２の区画を符号化し、及び、符号化された第１の区画、符号化された第２の区画、傾き値、及びｙ切片値を出力するように構成され、傾き値及びｙ切片値は、整数値を備える、映像符号化器の例、に対応することができる。
【００７３】
幾何学的動き区画を用いたブロックの分割は、各々が各々の動きベクトルを有する、ブロックの２つの長方形でない区画を生成することができる。それらの区画は、符号化されているブロックに関する予測値に対応することができる。映像符号化器２０は、幾何学的動き区画に関する動きベクトルを符号化することもできる。映像符号化器２０は、動き予測子に関して動きベクトルを符号化することができる。映像符号化器２０は、ブロックを符号化するときにはラスター走査順序設定を前提にし、既に符号化されている隣接ブロック、例えば、現在のブロックの上方、左、及び右上のブロック、の動きベクトルの中央値として動き予測子を選択することができる。本開示の技法は、従来のコーディング規格で用いられるよりも広範な候補動きベクトルの組から中央値を選択することと、ブロックの各動きベクトルのために潜在的に異なる候補動きベクトルを用いることと、を含む。すなわち、映像符号化器２０は、単一のブロックの幾何学的動き区画の動きベクトルのために異なる動き予測子を用いることを決定することができる。
【００７４】
さらに、映像符号化器２０は、ブロックに関する残差値を計算する。概して、ブロックのピクセルに関する残差値は、ブロックのピクセルに関する実際値及びブロックの共配置されたピクセルに関する予測値との間の差分に対応する。一例では、本開示の技法は、幾何学的動き分割線を越える遷移をスムージングすることを含む。そうするために、映像符号化器２０は、分割線周囲の特定の遷移領域を用いて構成することができる。一例として、映像符号化器２０は、現在のピクセル上にセンタリングされた３×３ピクセルウィンドーを用いるように構成することができる。一例として、映像符号化器２０は、真上の、下の、左の、及び右のピクセルのうちの少なくとも２つが異なる区画に属する場合に現在のピクセルが遷移領域内にあると決定するように構成することができる。他の例として、映像符号化器２０は、直ぐ隣の８つの隣接するピクセルのうちの少なくとも２つが異なる区画に属する場合に現在のピクセルが遷移領域内にあると決定するように構成することができる。その他の例では、これらの方式は、現在のピクセルが遷移領域内に属するかどうかを決定する際にピクセルが考慮される現在のピクセルの周囲にセンタリングされた異なるサイズのウィンドーにまで拡大させることができる。
【００７５】
遷移をスムージングするために、映像符号化器２０は、分割線を越えて低域通過フィルタを適用するように構成することができる。フィルタは、フィルタリングされるピクセル上にセンタリングされた係数の行列、例えば３×３行列、に対応することができる。従って、フィルタは、遷移領域内のピクセル上にセンタリングすることができる。低域通過フィルタは、様々な係数を有することができる。低域通過フィルタの一例は以下の通りであることができる。
【００７６】
１    ２    １
２    ３    ２
１    ２    １
ここで、“３”係数は、現在のピクセルに対応し、その他の係数は、現在のピクセルのその他の直ぐ隣のピクセルに対応する。低域通過フィルタの他の例は以下の通りである。
【００７７】
０    １    ０
１    ４    １
０    １    ０
ここで、“４”係数は、現在のピクセルに対応し、その他の係数は、現在のピクセルのその他の直ぐ隣のピクセルに対応する。遷移領域内のピクセルに関する予測値を計算するために、映像符号化器２０は、（フィルタが遷移領域内のピクセル上にセンタリングされているときに）フィルタの係数及びそれらの係数と共配置されたピクセルの値の積を計算し、積の和を計算し、及び積の和を係数の和で除することができる。
【００７８】
この方法で、映像符号化器２０は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割し、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算し、遷移領域内のピクセルの予測値に基づいてブロックの遷移領域内のピクセルの残差値を計算し、ピクセルの残差値を出力するように構成された映像符号化器の例に対応する。
【００７９】
幾つかの例では、遷移領域内でのスムージングのために、映像符号化器２０は、現在のピクセルに関する様々な条件に基づいて選択的にフィルタリングを行う。それらの条件は、分割線に垂直な方向に沿ったピクセル値の差分（又は一定の形の勾配）と、ブロックの２つの区画間の動きベクトル差分と、分割線方向と、基準フレームインデックスと、量子化パラメータと、２つの区画のピクセル数と、を含むことができる。遷移領域内のピクセルをフィルタリングすべきかどうか及びどのようにフィルタリングすべきかを決定するためにその他の条件も解析することができる。
【００８０】
視覚上の品質を向上させるための他の方法は、遷移領域内部のピクセルに関する２つの予測を重なり合わせることを含む。映像符号化器２０は、ブロックの区画に関する各々の動きベクトルを用いて、遷移領域に属するピクセルに関する２つの予測を生成することができる。映像符号化器２０は、次に、加重された和を用いて２つの予測を結合することができる。例えば、ピクセルが区画１に属し及び遷移領域内にも存在する場合は、映像符号化器２０は、２／３の重み、及び他方の区画からの予測値のための１／３の重みを用いて第１の区画値からの予測値を加重することができる。その他の重み値、例えば（３／４、１／４）又は（１／２、１／２）は、その他の例において適用することができる。幾つかの例では、重み値は、好適に決定することができる。
【００８１】
幾つの例では、加重和の演算のための加重係数は、現在のピクセルに関する様々な条件に基づいて決定される。それらの条件は、分割線に垂直な方向に沿ったピクセル値の差分（又は一定の形の勾配）と、ブロックの２つの区画間の動きベクトル差分と、分割線方向と、基準フレームインデックスと、量子化パラメータと、２つの区画のピクセル数と、を含むことができる。遷移領域内のピクセルをフィルタリングすべきかどうか及びどのようにフィルタリングすべきかを決定するためにその他の条件も解析することができる。
【００８２】
映像符号化器２０は、残差値への変換、例えば、離散コサイン変換、４×４整数変換、８×８変換、１６×１６変換、又はその他の変換、を適用することができる。一例では、映像符号化器２０は、幾何学動き分割線が区画内を通るかどうかに基づいて、ブロックの区画の残差のための変換サイズを好適に選択することができる。この例では、用語区画は、幾何学的動き区画とは正反対に、Ｎ×Ｎブロックの（Ｎ／２）×（Ｎ／２）又はそれよりも小さい区画を意味する。
【００８３】
一例として、幾何学的動き分割線を用いてＮ×Ｎブロックが分割されると仮定する。映像符号化器２０は、Ｎ×Ｎブロックを４つの重なり合わない（Ｎ／２）×（Ｎ／２）ブロックに分割する。次に、各々の（Ｎ／２）×（Ｎ／２）ブロックに関して、映像符号化器２０は、幾何学的動き分割が（Ｎ／２）×（Ｎ／２）内を通るかどうかを決定することができる。幾何学的動き分割線が（Ｎ／２）×（Ｎ／２）ブロック内を通らない場合は、映像符号化器２０は、ブロックのために（Ｎ／２）×（Ｎ／２）の変換サイズを用いることができる。他方、幾何学的動き分割線が（Ｎ／２）×（Ｎ／２）内を通る場合は、映像符号化器２０は、方法を反復的に実行する、すなわち、（Ｎ／２）×（Ｎ／２）を４つの重なり合わない（Ｎ／４）×（Ｎ／４）ブロックに分割し、幾何学的動き分割線が（Ｎ／４）×（Ｎ／４）ブロックのうちのいずれか内を通るかを決定することができる。映像符号化器２０は、最小変換サイズ、例えば、４×４、を用いて構成することができ、その点において、映像符号化器２０は、幾何学的動き分割線がサブブロック内を通るかどうかにかかわらずそのサブブロックのための最小変換サイズを選択することができる。
【００８４】
この方法で、映像符号化器２０は、幾何学的動き分割線を用いて映像データのブロックを第１の幾何学的区画及び第２の幾何学的区画に分割し、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割し、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを符号化するように構成され、ブロックは、Ｎ×Ｎピクセルを備える、映像符号化器の例、に対応することができる。
【００８５】
イントラ予測又はインター予測コーディングに従って予測データ及び残差データを生成し、及び変換（例えば、Ｈ．２６４／ＡＶＣで用いられる４×４又は８×８整数変換又は離散コサイン変換ＤＣＴ）に従って変換係数を生成した後は、変換係数の量子化を行うことができる。量子化は、概して、変換係数を表すために用いられるデータの量を可能な場合は低減させるために変換係数が量子化されるプロセスを意味する。量子化プロセスは、それらの係数の一部又は全部と関連付けられたビット深度を低減させることができる。例えば、量子化中にｎビット値を切り捨ててｍビット値にすることができ、ここで、ｎはｍよりも大きい。
【００８６】
量子化に引き続き、例えば、コンテンツ適応型可変長コーディング（ｃｏｎｔｅｎｔ  ａｄａｐｔｉｖｅ  ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ（ＣＡＶＡＬＣ）、コンテキスト適応型バイナリ算術コーディング（ｃｏｎｔｅｘｔ  ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｒｉｃ  ｃｏｄｉｎｇ（ＣＡＢＡＣ）、又は他のエントロピーコーディング方法により、量子化されたデータのエントロピーコーディングを行うことができる。エントロピーコーディングのために構成された処理ユニット、又は他の処理ユニットは、その他の処理機能、例えば、量子化された係数のゼロランレングス（ｚｅｒｏ  ｒｕｎ  ｌｅｎｇｔｈ）コーディング及び／又は構文情報の生成、例えば、コーディングされたブロックバターン（ＣＢＰ）値、マクロブロックタイプ、コーディングモード、コーディングされたユニットのための最大マクロブロックサイズ（例えば、フレーム、スライス、マクロブロック、又はシーケンス）、等を行うことができる。
【００８７】
映像符号化器２０は、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、又はＧＯＰヘッダにおいて、映像復号器３０に対して構文データ、例えばブロックに基づく構文データ、フレームに基づく構文データ、及びＧＯＰに基づく構文データ、をさらに送信することができる。例えば、映像符号化器２０が、固定小数点算術を可能にするために、幾何学的動き区画を定義する角度値及び長さ値のための整数を提供する場合は、映像符号化器２０は、整数の使用をシグナリングすることができる。映像符号化器２０は、シーケンスパラメータセット又はピクチャパラメータセットでこれをシグナリングすることができる。代替として、映像符号化器２０は、再定義されたプロフィール及び／又はレベルの組を用いることができ、従って、幾何学的動き区画に関する固定小数点算術を可能にするための整数値の使用を示すプロフィールインジケータ（ｐｒｏｆｉｌｅ＿ｉｄｃ）又はレベルインジケータ（ｌｅｖｅｌ＿ｉｄｃ）値を選択することができる。映像符号化器２０は、幾何学的動き区画がピクチャのシーケンス及び／又は個々のピクチャのためにイネーブルにされるかどうかをシグナリングすることもできる。
【００８８】
さらに、映像符号化器２０は、ブロックのためにスムージングがイネーブルにされているかどうか、そしてそうである場合は、そのスムージングがどのようにして完遂されるか、例えば、スムージングフィルタの指示、をシグナリングすることができる。例えば、映像符号化器２０は、スムージングフィルタの係数をシグナリングすることができる。映像符号化器２０は、適応型変換サイズ選択がイネーブルにされるかどうかもシグナリングすることができる。映像符号化器２０は、動き予測子に対して動きベクトルを符号化するために、候補動きベクトルの拡張された組がピクチャに関して許容されるかどうかをシグナリングすることもできる。
【００８９】
映像復号器３０は、受信された映像データを復号するときに本開示の技法を用いるように構成することができる。映像復号器３０によって適用される技法は、基本的には、映像符号化器２０によって適用されるそれらと対称的であることができる。例えば、映像復号器３０は、これらの技法の固定小数点実装を達成するために、符号化されたブロックのための幾何学的動き区画を定義する傾き及び切片のための固定小数点値を受信することができる。従って、映像復号器３０は、幾何学的動き区画の傾き及び切片に基づいて、オンザフライでブロックのためのマスクを計算することができ、各ピクセルが領域ゼロ又は領域１内に入るかを決定するためにブロックのための各ピクセルの位置を通じて繰り返すことができる。
【００９０】
この方法で、映像復号器３０は、幾何学的動き分割線によって第１の区画及び第２の区画に分割されている符号化された映像データのブロックを受信し、幾何学的動き分割線を定義する傾き値及びｙ切片値を受信し、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算し、マスクに基づいてブロックの第１の区画及び第２の区画を復号し、及び復号されたブロックを出力するように構成され、傾き値及びｙ切片値は、整数値を備える、映像復号器の例、に対応することができる。
【００９１】
他の例として、映像復号器３０は、ブロックのための幾何学的動き分割線におけるそのブロックの遷移領域をスムージングするためのスムージング技法を実装することができる。映像復号器３０は、ブロックのピクセルに関する予測値を決定するためにブロックの各幾何学的動き区画に関する動きベクトルを受信することができる。映像復号器３０は、上述されるように、幾何学的動き区画遷移領域内のピクセルにスムージングフィルタを適用することができる。従って、映像復号器３０は、符号化された映像データのブロック、符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、およびブロックの遷移領域内のピクセルに関する残差値を受信し、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算し、予測値及び残差値に基づいてブロックの遷移領域内のピクセルに関する再構築された値を計算し、及びピクセルの再構築された値を出力するように構成された映像復号器の例、に対応することができる。
【００９２】
さらに他の例として、映像復号器３０は、適応型変換サイズ選択に基づいて、様々なサイズの残差値のためのキーワードを受信することができる。これらのキーワードは、可変長コードに対応することができ、ブロックのための変換サイズに基づいて異なる辞書に対応することができる。従って、映像復号器３０は、幾何学的動き分割線が特定のブロック内を通るかどうかに基づいてそのブロックのための変換サイズを決定することができる。この方法で、映像復号器３０は、幾何学的動き分割線によって第１の幾何学的区画及び第２の幾何学的区画に分割された符号化された映像データのブロックを受信し、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割し、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを逆変換するように構成され、ブロックは、Ｎ×Ｎピクセルを備える、映像復号器の例、に対応することができる。
【００９３】
さらに他の例として、映像復号器３０は、動き予測子に関する幾何学的動き区画に関する動きベクトルを復号することができる。本開示の技法により、映像復号器３０は、候補動きベクトルのより大きい組から動き予測子を決定することができ、及び、各幾何学的区画のための動き予測子を個々に決定することができる。この方法で、映像復号器３０は、幾何学的動き分割線によって第１の区画及び第２の区画に分割された映像データのブロック、第１の区画に関する第１の符号化された動きベクトル、及び第２の区画に関する第２の符号化された動きベクトルを受信し、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の符号化された動きベクトルを復号し、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の符号化された動きベクトルを復号し、及び、復号された第１及び第２の動きベクトルを用いてブロックを復号するように構成され、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定される、映像復号器の例、に対応することができる。
【００９４】
映像符号化器２０及び映像復号器３０は、各々、様々な適切な符号化器又は復号器回路、例えば１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、個別論理回路、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせ、のうちのいずれかとして適宜実装することができる。映像符号化器２０及び映像復号器３０の各々は、１つ以上の符号化器又は復号器内に含めることができ、それらのいずれも、結合された映像符号化器／復号器（ＣＯＤＥＣ）の一部として一体化することができる。映像符号化器２０及び／又は映像復号器３０を含む装置は、集積回路、マイクロプロセッサ、及び／又は無線通信デバイス、例えば携帯電話、を備えることができる。
【００９５】
映像符号化器２０及び映像復号器３０は、本開示の技法のあらゆる組み合わせを実行するように構成することができる。すなわち、映像符号化器２０及び映像復号器３０は、幾何学的動き分割のための固定小数点実装、幾何学的動き区画境界によって定義された遷移領域のスムージング、各幾何学的動き区画に関する動きベクトルの符号化、及び／又は幾何学的動き分割線がサブブロックを通るかどうかに基づくサブブロックのための適応型変換サイズ選択のうちのあらゆる１つ以上をあらゆる組み合わせで実行するように構成することができる。
【００９６】
幾つかの例では、映像符号化器２０及び映像復号器３０は、本開示において説明される幾つかの技法を実装することができるが、それらの技法は、ディスエーブルにすることができ、又は、映像符号化器２０及び映像復号器３０のうちの１つは、技法の同じ組をサポートすることができない。従って、映像符号化器２０は、特定の映像ストリームのためにいずれの技法が用いられるかをシグナリングすることができ、及び、映像復号器３０は、映像復号器３０が映像ストリームを符号化するために用いられる技法をサポートするかどうかに基づいて、映像ストリームを取り出すか又は使用するかを選択することができる。例えば、映像符号化器２０は、プロフィールインジケータ（ｐｒｏｆｉｌｅ＿ｉｄｃ値）、レベルインジケータ（ｌｅｖｅｌ＿ｉｄｃ値）、ヘッダデータ、又はその他の記述データを用いて、シーケンスパラメータセット、ピクチャパラメータセットにおいていずれの技法が用いられるかをシグナリングすることができる。
【００９７】
図２は、幾何学的動き分割のための技法を実装することができる映像符号化器２０の例を示したブロック図である。映像符号化器２０は、マクロブロック、又はマクロブロックの区画又は小区画を含む映像フレーム内のブロックのイントラ及びインターコーディングを行うことができる。イントラコーディングは、所定の映像フレーム内の映像の空間冗長性を低減又は除去するために空間予測に依存する。インターコーディングは、映像シーケンスの隣接フレーム内での映像の時間的冗長性を低減又は除去するために時間的予測に依存する。イントラモード（Ｉモード（登録商標））は、幾つかの空間に基づく圧縮モードのうちのいずれかを意味することができ、インターモード、例えば単方向予測（Ｐモード）又は双方向予測（Ｂモード）、は、幾つかの時間に基づく圧縮モードのうちのいずれかを意味することができる。図２ではインターモード符号化のためのコンポーネントが描かれているが、映像符号化器２０は、イントラモード符号化のためのコンポーネントをさらに含むことができることが理解されるべきである。しかしながら、該コンポーネントは、簡潔性及び明確性のために例示されない。
【００９８】
図２に示されるように、映像符号化器２０は、符号化される映像フレーム内の現在の映像ブロックを受信する。図２の例では、映像符号化器２０は、モード選択ユニット４０と、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６と、基準フレームストア６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピーコーディングユニット５６と、を含む。映像ブロック再構築のために、映像符号化器２０は、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２と、も含む。再構築された映像からブロック性アーティファクトを除去するためにブロック境界をフィルタリングするためにデブロッキングフィルタ（図２に示されていない）を含めることもできる。希望される場合は、デブロッキングフィルタは、加算器６２の出力を典型的にフィルタリングする。
【００９９】
符号化プロセス中には、映像符号化器２０は、コーディングされる映像フレーム又はスライスを受信する。フレーム又はスライスは、複数の映像ブロックに分割することができる。動き推定ユニット４２及び動き補償ユニット４４は、時間的圧縮を提供するために１つ以上の基準フレーム内の１つ以上のブロックに対する受信された映像ブロックのインター予測コーディングを行う。イントラ予測ユニットは、空間圧縮を提供するためにコーディングされるブロックと同じフレーム又はスライス内において１つ以上の隣接ブロックに対する受信された映像ブロックのイントラ予測コーディングを行うこともできる。
【０１００】
モード選択ユニット４０は、例えば、誤差結果に基づいてコーディングモード、イントラ又はインター、のうちの１つを選択することができ、その結果得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に及び符号化されたブロックを基準フレームとしての使用のために再構築するために加算器６２に提供する。
【０１０１】
動き推定ユニット４２及び動き補償ユニット４４は、高度に一体化することができるが、概念上の目的のために別個に例示される。動き推定は、映像ブロックのための動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム内でコーディング中の現在のブロック（又は他方のコーディングされた単位）に対する予測基準フレーム内の予測ブロック（又は他方のコーディングされた単位）の変位を示すことができる。予測ブロックは、ピクセル差分の点でコーディングされるブロックと非常に一致することが判明しているブロックであり、それは、絶対差の和（ＳＡＤ）、平方差の和（ＳＳＤ）、又はその他の差分測定基準によって決定することができる。動きベクトルは、マクロブロックの区画の変位を示すこともできる。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含むことができる。繰り返しになるが、動き推定ユニット４２及び動き補償ユニット４４は、幾つかの例では、機能的に一体化することができる。
【０１０２】
幾つかの例では、動き推定ユニット４２は、幾何学的動き分割線を用いてブロックを分割すべきであることを決定することができる。動き推定ユニット４２は、幾何学的動き分割線のためのパラメータ、例えば、分割されたブロックの原点から幾何学的動き分割線の中点までの線の角度θ及び距離ρ、を計算することができる。幾つかの例では、動き推定ユニット４２は、これらの技法の固定小数点実装を可能にするために、それらのパラメータを幾何学的動き分割線の傾きｍ及びｙ切片ｃとして決定することができる。さらに、映像符号化器２０及び映像復号器３０（図１及び３）は、θの異なる値のための1／ｔａｎ（θ）及び１／ｓｉｎ（θ）のためのルックアップテーブルの同一のコピーを格納することができる。幾何学モードに関して、映像符号化器２０は、出力ビットストリームにおいてθ及びρのための値をシグナリングすることができる。映像復号器３０は、映像符号化器２０によって計算されたマスクと同じであるマスクを計算するために固定小数点計算を行うためにシグナリングされた値を用いるように構成することができる。
【０１０３】
動き推定ユニット４２は、映像ブロックを基準フレームストア６４内の基準フレームの映像ブロック（又は区画）と比較することによって、インターコーディングされたフレームの映像ブロック又はそれの幾何学的動き区画に関する動きベクトルを計算する。動き補償ユニット４４は、基準フレーム、例えば、Ｉフレーム又はＰフレーム、の小整数（ｓｕｂ−ｉｎｔｅｇｅｒ）ピクセルを内挿することもできる。ＩＴＵ  Ｈ．２６４規格は、基準フレームを“リスト”と呼んでいる。従って、基準フレームストア６４内に格納されたデータは、リスト内に格納することができる。動き推定ユニット４２は、基準フレームストア６４からの１つ以上の基準フレームのブロックを現在のフレーム、例えば、Ｐフレーム又はＢフレームの符号化されるべきブロックと比較する。基準フレームストア６４内の基準フレームが小整数ピクセルのための値を含むときには、動き推定ユニット４２によって計算された動きベクトルは、基準フレームの小整数ピクセル位置を指し示すことができる。
【０１０４】
幾つかの例では、動き推定ユニット４２は、動きベクトルを符号化するために、動きベクトルと動き予測子との間の差分を計算することができる。動き推定ユニット４２は、符号化中の現在のブロックの上方の、左の、左上の、及び右上のブロックの動きベクトルの中央値として動き予測子を選択することができる。動き推定ユニット４２は、現在のブロックの上方及び左のブロックが分割されているかどうか、及びそうである場合はこれらの区画が個別の動きベクトルを有するかどうか、を決定することもできる。そうである場合は、動き推定ユニット４２は、これらの候補の動きベクトル全部の中央値から動き予測子を選択することができる。動き予測子を決定後は、動き推定ユニット４２は、動きベクトルと動き予測子との間の差分を計算することができる。動き推定ユニット４２は、計算された差分をエントロピーコーディングユニット５６に及び計算された動きベクトルを動き補償ユニット４４に送信する。
【０１０５】
動き補償ユニット４４は、予測ブロックに基づいて予測データを計算することができる。映像符号化器２０は、コーディング中の原映像ブロックから動き補償ユニット４４からの予測データを減じることによって残差映像ブロックを形成する。加算器５０は、この減算演算を行うコンポーネント又はコンポーネント（複数）を表す。
【０１０６】
幾つかの例では、動き補償ユニット４４は、本開示の技法により、ブロックのための幾何学的動き分割線によって定義された遷移領域におけるそのブロック内のピクセルをフィルタリングすることができる。例えば、動き補償ユニット４４は、領域ゼロ及び領域１の両方からの値を考慮する３×３ピクセルフィルタを用いて遷移領域内のピクセルのための予測値を計算することができ、ここで、領域ゼロ及び領域１は、幾何学的動き区画に対応する。他の例として、動き補償ユニット４４は、領域ゼロ内のピクセルに関する値及び領域１内のピクセルに関する値の加重和を計算することによって遷移領域内のピクセルに関する予測値を計算することができる。遷移領域内のピクセルに関する予測値を計算後は、加算器５０は、ピクセルの予測値と実際値との間の差分としてピクセルに関する残差値を計算することができる。この方法で、加算器５０によって計算された残差値は、動き補償ユニット４４によって計算されたスムージングされた予測値に基づくことができる。
【０１０７】
変換ユニット５２は、変換、例えば、離散コサイン変換（ＤＣＴ）又は概念的に類似する変換、を残差ブロックに適用し、残差変換係数値を備える映像ブロックを生成する。変換ユニット５２は、ＤＣＴに概念的に類似するその他の変換、例えば、Ｈ．２６４規格によって定義されたそれら、を行うことができる。ウェーブレット変換、整数変換、サブバンド変換又はその他のタイプの変換も使用可能である。いずれの場合も、変換ユニット５２は、残差ブロックに変換を適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から変換領域、例えば、周波数領域、に変換することができる。
【０１０８】
幾つかの例では、変換ユニット５２は、動き補償ユニット４４から様々なサイズのブロックを受信することができる。動き補償ユニット４４は、ブロックが幾何学的動き分割線に接するどうかに基づいてブロックサイズを選択するように構成することができる。例えば、原ブロックが１６×１６ブロックであると仮定する。動き補償ユニット４４は、原ブロックを４つの８×８ブロックに分割することができる。次に、動き補償ユニット４４は、幾何学的動き分割線に接する４つの８×８ブロックのうちのすべてを４×４ブロックに分割することができる。変換ユニット５２は、各々の可能なブロックサイズに関する変換を用いて構成することができる。この方法で、映像符号化器２０は、ブロックに関する残差値を計算するときに幾何学的動き分割されたブロックのための適応型変換サイズ選択を行うことができる。１６×１６ブロックの例が説明されるが、その他のサイズブロック、例えば、３２×３２、６４×６４、等、に対して同様の技法を適用することができる。さらに、動き補償ユニット４４は、最小ブロックサイズ、例えば、４×４、で構成することができる。
【０１０９】
量子化ユニット５４は、ビットレートをさらに低減させるために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を低減させることができる。量子化度は、量子化パラメータを調整することによって変更することができる。
【０１１０】
量子化に後続して、エントロピーコーディングユニット５６は、量子化された変換係数をコーディングする。例えば、エントロピーコーディングユニット５６は、コンテンツ適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、又は他のエントロピーコーディング技法を実行することができる。エントロピーコーディングユニット５６によるエントロピーコーディングに引き続き、符号化された映像を他のデバイスに送信すること又はのちの送信又は取り出しのためにアーカイブに保存することができる。コンテキスト適応型バイナリ算術コーディングの場合は、コンテキストは、隣接するマクロブロックに基づくことができる。
【０１１１】
幾つかの場合は、エントロピーコーディングユニット５６又は映像符号化器２０の他のユニットは、エントロピーコーディングに加えて、その他のコーディング機能を実行するように構成することができる。例えば、エントロピーコーディングユニット５６は、マクロブロック及び区画のためのＣＢＰ値を決定するように構成することができる。さらに、幾つかの場合は、エントロピーコーディングユニット５６は、マクロブロック又はそれの区画内で係数のランレングス（ｒｕｎ  ｌｅｎｇｔｈ）コーディングを行うことができる。特に、エントロピーコーディングユニット５６は、マクロブロック又は区画内で変換係数を走査するためにジグザグ走査又はその他の走査パターンを適用すること及びさらなる圧縮のためにゼロのランを符号化することができる。エントロピーコーディングユニット５６は、符号化された映像ビットストリームでの送信のための該当する構文要素を有するヘッダ情報を構築することもできる。
【０１１２】
逆量子化ユニット５８及び逆変換ユニット６０は、例えば基準ブロックとしてののちの使用を目的として、ピクセル領域内の残差ブロックを再構築するために逆量子化及び逆変換をそれぞれ適用する。動き補償ユニット４４は、基準フレームストア６４のフレームのうちの１つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット４４は、動き推定における使用のために小整数ピクセル値を計算するために再構築された残差ブロックに１つ以上の内挿フィルタを適用することもできる。加算器６２は、基準フレームストア６４内での格納のために再構築された映像ブロックを生成するために動き補償ユニット４４によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。再構築された映像ブロックは、後続する映像フレーム内のブロックをインターコーディングするための基準ブロックとして動き推定ユニット４２及び動き補償ユニット４４によって用いることができる。
【０１１３】
図３は、映像復号器３０の例を示したブロック図であり、それは、符号化された映像シーケンスを復号する。図３の例では、映像復号器３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、基準フレームストア８２と、加算器８０と、を含む。映像復号器３０は、幾つかの例では、映像符号化器２０に関して説明された符号化パス（ｐａｓｓ）と概して相互的である復号パスを行うことができる（図２）。イントラ予測ユニット７４は、空間的に隣接するブロックから予測ブロックを形成するためにビットストリーム内で受信されたイントラ予測モードを用いることができる。
【０１１４】
動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成することができる。幾何学的動き分割線を用いて符号化されたブロックが分割されたときには、動き補償ユニット７２は、ブロックのいずれのピクセルがいずれの区画に対応するかを決定するためにブロックのための幾何学的動き分割線の定義を受信することができる。幾つかの例では、その線の定義は、ブロックの原点から幾何学的動き分割線の中心までの線の角度θ及び長さρによることができる。幾つかの例では、その線の定義は、幾何学的動き分割線の傾きｍ及びｙ切片ｃによることができ、従って、動き補償ユニット７２は、固定小数点算術を用いてブロックのいずれの幾何学的区画ピクセルに対応するかを示すマスクを計算することができる。
【０１１５】
動き補償ユニット７２は、基準フレームストア８２内の基準フレーム内の予測ブロックを識別するためにビットストリームで受信された動きベクトルを用いることができる。幾つかの例では、動きベクトルは、以前に符号化されたブロック又はそれらの区画から選択された動き予測子に関して符号化することができる。従って、動き補償ユニット７２は、ブロック又は区画のための動き予測子を決定し、次に受信された差分値を動き予測子に加えることによって動きベクトルを復号することができる。
【０１１６】
動き補償ユニット７２は、スムージングフィルタを用いて幾何学的動き区画間の遷移領域内のピクセルに関する予測値を計算するように構成することもできる。例えば、動き補償ユニット７２は、予測値を決定するためにこれらのピクセルに３×３ピクセルフィルタを適用することができる。他の例として、動き補償ユニット７２は、第１の区画からの値と第２の区画からの値の加重和を用いて遷移領域内のピクセルのための予測値を計算することができる。
【０１１７】
逆量子化ユニット７６は、ビットストリームで提供されてエントロピー復号ユニット７０によって復号された量子化されたブロック係数を逆量子化、すなわち量子化解除、する。逆量子化プロセスは、例えばＨ．２６４復号規格によって定義されるような、従来のプロセスを含むことができる。逆量子化プロセスは、量子化度、そして同様に適用されるべき逆量子化度、を決定するために各マクロブロックのために符号化器５０によって計算された量子化パラメータＱＰＹの使用を含むこともできる。
【０１１８】
逆変換ユニット５８は、ピクセル領域において残差ブロックを生成するために、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に類似する逆変換プロセスを変換係数に適用する。動き補償ユニット７２は、動き補償されたブロックを生成し、可能な場合は内挿フィルタに基づいて内挿を行う。サブピクセル精度を有する動き推定のために用いられる内挿フィルタのための識別子を構文要素内に含めることができる。動き補償ユニット７２は、基準ブロックの小整数ピクセルのための内挿された値を計算するために映像ブロックの符号化中に映像符号化器２０によって用いられる内挿フィルタを用いることができる。動き補償ユニット７２は、受信された構文情報により映像符号化器２０によって用いられる内挿フィルタを決定すること及び内挿フィルタを用いて予測ブロックを生成することができる。
【０１１９】
幾つかの例では、逆変換ユニット７８は、動き補償ユニット７２から符号化されたブロックのための変換サイズの指示を受信することができる。動き補償ユニット７２は、ブロックが幾何学的動き区画に接するかどうかを決定し、そしてそうである場合は、変換サイズを１／２だけ縮小して最小変換サイズ、例えば、４×４ピクセル、にする。幾つかの例では、変換されたブロックは、適用すべき変換のサイズを記述する構文情報を含むことができる。
【０１２０】
動き補償ユニット７２は、符号化された映像シーケンスのフレームを符号化するために用いられるマクロブロックのサイズを決定するための構文情報、符号化された映像シーケンスのフレームの各マクロブロックがどのように分割されるかを記述する区画情報、各区画が符号化される方法を示すモード、各々のインター符号化されたマクロブロック又は区画のための１つ以上の基準フレーム、及び符号化された映像シーケンスを復号するためのその他の情報を用いることができる。
【０１２１】
加算器８０は、復号されたブロックを形成するために動き補償ユニット７２又はイントラ予測ユニットによって生成された対応する予測ブロックと残差ブロックを合計する。希望される場合は、ブロック性アーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタを適用することもできる。復号された映像ブロックは、次に、基準フレームストア８２内に格納され、それは、後続する動き補償のための基準ブロックを提供し及び表示装置（例えば、図１の表示装置３２）上での提示のための復号された映像も生成する。
【０１２２】
図４は、幾何学的動き分割線１１６を用いて分割されているブロック１１０を例示した概念図である。幾何学的動き分割線１１６は、ブロック１１０を２つの区画、すなわち、領域１１２及び領域１１４、に分割する。
【０１２３】
幾つかの例では、幾何学的動き分割線１１６は、垂直線１２０の特性により定義することができる。特に、ｘ軸１１３及びｙ軸１１１の交差点をブロック１１０のための原点として定義する。垂直線１２０は、幾何学的動き分割線１１６に垂直であり、点１２４において幾何学的動き分割線１１６と交差する。角度１１８は、ｘ軸１１３に対する垂直線１２０の角度に対応する。距離１２２は、ブロック１１０の原点と幾何学的動き分割線１１６の点１２４との間の距離に対応し、それは、ブロック１１０の原点からの幾何学的動き分割線１１６の垂直距離でもある。角度１１８は、θ（シータ）と呼ぶこともでき、距離１２２は、ρ（ロー）と呼ぶことができ、θ及びρは上記において定義されるとおりである。この方法で、幾何学的動き分割線１１６は、角度１１８及び距離１２２の組み合わせを用いてブロック１１０のために定義することができる。
【０１２４】
代替として、幾何学的動き分割線１１６は、傾き１２６及びｙ切片１２８により定義することができる。傾き角度１２６は、幾何学的動き分割線１１６の傾きに対応する。ｙ切片１２８は、幾何学的動き分割線１１６がｙ軸１１１と交差する点に対応する。上記において定義されるように、傾き１２６は、ｍを用いて表すこともでき、ｙ切片１２８は、ｃを用いて表すことができる。傾き１２６及びｙ切片１２８は、ピクセルが領域１１２にあるか又は領域１１４にあるかを示すブロック１１０のためのマスクを計算するために固定小数点算術を用いるのを可能にするために、傾き１２６及びｙ切片１２８は整数値として表すことができる。傾き１２６及びｙ切片１２８は、便宜上以下に再掲した上記の方程式（１）によって角度１１８及び距離１２０に数学的に関連付けられる。
【０１２５】
Y=(-1/tan(θ))・x+ρ/sin(θ)=mx+c              (1)
図５は、幾何学的動き分割線１３８を用いて分割されているブロック１３０を例示した概念図である。幾何学的動き分割線１３８は、ブロック１３０を２つの領域、すなわち、領域１３２及び領域１３４、に分割する。遷移領域１３６は、幾何学的動き分割線１３８付近のピクセルを含む。幾つかの例では、遷移領域１３６は、領域１３２における少なくとも１つの隣接ピクセル及び領域１３４における少なくとも１つの隣接ピクセルを有するピクセルを含むように定義することができる。隣接ピクセルは、上隣の、下隣の、左隣の、右隣の、左上隣の、右上隣の、左下隣の、及び／又は右下隣のうちのいずれか又は全部を含むことができる。
【０１２６】
領域１３６内のピクセルは、それらのピクセルが領域１３２又は領域１３４のいずれにより近いかを示すための様々な陰影レベルを用いて例示される。特に、この例では、より明るい陰影のピクセルは領域１３２により近く、より暗い陰影のピクセルは、領域１３４により近い。一例では、ピクセルは、そのピクセルの大部分の隣接ピクセルが特定の領域内に存在するときにその領域の方に近いと言うことができる。幾つかの例では、映像符号化器２０及び／又は映像復号器３０は、遷移領域１３６内のピクセルにスムージングフィルタを適用するように構成することができる。
【０１２７】
図６は、３×３ピクセル配列１４０を例示した概念図である。ピクセル配列１４０は、現在のピクセル１４２と、隣接ピクセル１４４Ａ乃至１４４Ｈ（隣接ピクセル１４４）とを含む。特に、図６の例では、ピクセル１４４Ｂは、上隣のピクセルに対応し、ピクセル１４４Ｇは、下隣のピクセルに対応し、ピクセル１４４Ｄは、左隣のピクセルに対応し、ピクセル１４４Ｅは、右隣のピクセルに対応し、ピクセル１４４Ａは、左上隣のピクセルに対応し、ピクセル１４４Ｃは、右上隣のピクセル１４４Ｅに対応し、ピクセル１４４Ｆは、左下隣のピクセルに対応し、ピクセル１４４Ｈは、右下隣のピクセルに対応する。
【０１２８】
ピクセル配列１４０は、現在のピクセル１４２が遷移領域、すなわち、幾何学的動き分割線付近の領域、内にあるかどうかを決定するときに用いることができる。隣接ピクセル１４４のうちの２つ以上が異なる領域内に存在するときには、現在のピクセル１４２は、遷移領域内に含まれると言うことができる。例えば、隣接ピクセル１４４Ｄが領域ゼロ内に存在し、隣接ピクセル１４４Ｅが領域１内に存在する場合は、現在のピクセル１４２は、遷移領域内に存在すると言うことができる。幾つかの例では、現在のピクセル１４２は、大部分の隣接ピクセルが特定の領域内に存在するときにその領域により近いと言うことができる。例えば、現在のピクセル１４２は、隣接ピクセル１４４Ａ、１４４Ｂ、１４４Ｃ、１４４Ｄ、及び１４４Ｆが領域ゼロ内に存在し、隣接ピクセル１４４Ｅ、１４４Ｇ、及び１４４Ｈが領域１内に存在する場合は領域ゼロにより近いと言うことができる。
【０１２９】
ピクセル配列１４０は、現在のピクセル１４２の値を調整するために３×３スムージングフィルタを定義するために用いることもできる。フィルタは、現在のピクセル１４２及び隣接ピクセル１４４の各々のための定義された重みを有することができる。現在のピクセル１４２に関する値を計算するために、ピクセル配列１４０内のピクセルの各々の重みは、対応する位置におけるピクセルの値を乗じ、次に、加算して重みの和によって除算することができる。一例では、隣接ピクセル１４４Ａは、１の重み、隣接ピクセル１４４Ｂは、２の重み、隣接ピクセル１４４Ｃは、１の重み、隣接ピクセル１４４Ｄは、２の重み、隣接ピクセル１４４Ｅは、２の重み、隣接ピクセル１４４Ｆは、１の重み、隣接ピクセルＧは、２の重み、隣接ピクセル１４４Ｈは、１の重み、現在のピクセル１４２は、３の重みを有する。これらの重みは、各々のピクセルの値を乗じ、１５（１＋２＋１＋２＋３＋２＋１＋２＋１）によって除して現在のピクセル１４２に関するスムージングされた値を計算することができる。
【０１３０】
他の例では、隣接ピクセル１４４Ａは、０の重み、隣接ピクセル１４４Ｂは、１の重み、隣接ピクセル１４４Ｃは、０の重み、隣接ピクセル１４４Ｄは、１の重み、隣接ピクセル１４４Ｅは、１の重み、隣接ピクセル１４４Ｆは、０の重み、隣接ピクセル１４４Ｇは、１の重み、隣接ピクセル１４４Ｈは、０の重み、現在のピクセル１４２は、４の重みを有する。これらの重みは、各々のピクセルの値を乗じ、８（１＋１＋４＋１＋１）によって除して現在のピクセル１４２に関するスムージングされた値を計算することができる。その他の例では、その他のスムージングフィルタを生成するために、その他の重みを隣接ピクセル１４４及び現在のピクセル１４２に割り当てることができる。さらに、隣接ピクセル１４４に割り当てられた重みは、必ずしも対称的である必要がない。さらに、より大きいスムージングフィルタ、例えば、５×５、７×７、等も定義することができる。
【０１３１】
図７は、幾何学的動き分割線を用いて分割されたブロックに関する残差値を計算するときにスムージングを行うための方法例を示したフローチャートである。図７の方法は、例を目的として映像符号化器２０に関して説明されているが、あらゆるその他の処理ユニットによって実行できることが理解されるべきである。例えば、図７の方法は、映像復号器３０によって適用することもできる。
【０１３２】
最初に、映像符号化器２０は、符号化されるべき映像データのブロックを受信する（１５０）。この例の目的上、ブロックは、インター予測符号化されたフレーム、例えば、Ｐフレーム又はＢフレーム、のブロックに対応することが仮定される。動き推定ユニット４２は、ブロックのための動き探索を行うことができる。動き探索の結果、動き推定ユニット４２は、幾何学的動き分割線を用いてブロックを分割すべきであることを決定することができる（１５２）。その結果、動き推定ユニット４２は、幾何学的動き分割線を用いてブロックを分割し、２つの動きベクトル、各幾何学的動き区画ごとに１つ、を生成することができる。
【０１３３】
動き推定ユニット４２は、動きベクトルを、幾何学的動き分割線の定義とともに動き補償ユニット４４に送信することができる。幾何学的動き分割線の定義は、ブロックの原点から幾何学的動き分割線までの垂直線のための角度値及び距離値を用いて、又は、幾つかの例では幾何学的動き分割線のための傾き値及びｙ切片値を用いて表すことができる。動き補償ユニット４４は、幾何学的動き分割線の定義を用いてブロックのためのマスクを計算することができる。垂直線の角度及び長さを用いて線が定義されるときには、計算は、浮動小数点算術を用いて行うことができる。幾何学的動き分割線の傾き及びｙ切片を用いて線が定義されるときには、計算は、固定小数点算術を用いて行うことができる。
【０１３４】
動き補償ユニット４４は、遷移領域に対応するブロック内のピクセルを決定することができる（１５４）。これらのピクセルは、幾何学的動き区画のうちの１方において少なくとも１つの隣接ピクセルを有し、他方の幾何学的動き区画内において他の隣接ピクセルを有するピクセルに対応することができる。隣接ピクセルの組は、ピクセルの直ぐ隣（例えば、真上、真下、真横）のみのものを含むことができ、又は、ピクセルに対角の隣接するものを含むことができる。動き補償ユニット４４は、遷移領域内のピクセルのためのスムージングプロセスを開始することができる。
【０１３５】
遷移領域内のピクセルは、定義上、ブロックの両方の幾何学的動き区画内の隣接物を含む。従って、スムージングは、ブロックの両方の区画からの値を用いて遷移領域内のピクセルに関する予測値を計算することによって２つの区画間で生じる（１５６）。幾つかの例では、遷移領域内のピクセルのスムージングは、各区画からの遷移領域内の共配置されたピクセルに関する値の加重和を計算することによって生じる。
【０１３６】
幾つかの例では、遷移領域内でのピクセルのスムージングは、遷移領域内のピクセルの周囲のピクセルの値の平均を求めて遷移領域内のピクセルのための予測値を計算することによって生じ、それは、各区画内の隣接ピクセルを含む。従って、動き補償ユニット４４は、係数として割り当てられている重みを有するフィルタをフィルタリングされるべきピクセル及び隣接ピクセルに適用することによって遷移領域内のピクセルに関する予測値を計算することができる。動き補償ユニット４４は、次に、フィルタリングされたピクセルに関する予測値を生成するためにこれらの値の各々を加算して重みの和によって除することによってこれらの値の平均を求めることができる。
【０１３７】
動き補償ユニット４４は、同様の方法で遷移領域内のピクセルの各々に関する予測値を計算することができる。次に、映像符号化器２０は、例えば加算器５０を用いて、原ブロックから予測値を減じる（１５８）ことによってブロックに関する残差値を計算することができる。以下においてさらに詳細に説明されるように、映像符号化器２０は、ブロックに関する残差を、変換ユニット５２によって変換されるべき様々なサイズのサブブロックに分割することができる。サブブロックに適用される遷移のサイズは、幾何学的分割線が区画内を通るかどうかに基づいて好適に決定することができる。映像符号化器２０は、計算された残差も出力することができる。出力することは、ネットワークを通じて送信すること、放送すること、コンピュータによって読み取り可能な媒体に格納すること、又はその他の方法でデータを出力することを含むことができる。
【０１３８】
図７の方法は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割することと、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算することと、遷移領域内のピクセルの予測値に基づいてブロックの遷移領域内のピクセルの残差値を計算することと、ピクセルの残差値を出力することと、を含む方法として要約することができる。
【０１３９】
映像復号器３０によって同様の方法を実行することができる。該方法は、符号化された映像データのブロック、符号化されたブロックを第１の区画及び第２の区画に分割する幾何学的動き分割線の定義、及びブロックの遷移領域内のピクセルに関する残差値を受信することと、第１の区画からの少なくとも１つの隣接ピクセルに関する値及び第２の区画からの少なくとも１つの隣接ピクセルに関する値を適用するフィルタを用いてブロックの遷移領域内のピクセルの予測値を計算することと、予測値及び残差値に基づいてブロックの遷移領域内のピクセルに関する再構築された値を計算することと、ピクセルの再構築された値を出力することと、を含むことができる。
【０１４０】
図８は、適応型変換サイズ選択を用いて変換されるべきブロック例１７０を示した概念図である。ブロック１７０は、幾何学的動き区画線１７２を用いて分割されている。図８の例では、ブロック１７０は、１６×１６ピクセルのブロックである。変換ユニット５２（図２）は、異なる変換を用いてブロック１７０のサブブロックを変換するために異なるサイズの様々な変換を用いて構成することができる。映像符号化器２０は、最初にブロック１７０を４つの８×８ブロック１７４Ａ乃至１７４Ｄ（８×８ブロック１７４）に分割することができ、ここで、Ｔｒは、変換サイズを示す“変換”を意味する。
【０１４１】
８×８ブロック１７４の各々に関して、映像符号化器２０は、幾何学的動き分割線１７２が８×８ブロック内を通るかどうかを決定することができる。そうである場合は、映像符号化器２０は、８×８ブロックを４×４ブロックにさらに分割することができる。そうでない場合は、映像符号化器２０は、８×８変換を用いて８×８ブロックを変換することができる。
【０１４２】
図８の例では、幾何学的動き分割線１７２は、８×８ブロック１７４Ｂ、１７４Ｃ、及び１７４Ｄ内を通る。従って、８×８ブロック１７４Ｂ、１７４Ｃ、及び１７４Ｄは、重なり合わない４×４ブロックにさらに分割される。従って、この例では、８×８ブロック１７４Ｂ、１７４Ｃ、及び１７４Ｄの４×４サブブロックは、４×４変換を用いて変換される。映像符号化器２０は、４×４の最小変換サイズを用いて構成することができ、従って、４×４ブロックをそれ以上分割することはできない。しかしながら、最小変換サイズは、４×４である必要はなく、代わりに２×２であることができ、又は、映像符号化器２０は、最小変換サイズを用いて構成されないことがある。幾つかの例では、最小変換サイズは、４×４よりも大きいことができる。この例では、幾何学的動き分割線１７２は、８×８ブロック１７４Ａ内を通らず、従って、８×８ブロック１７４Ａには８×８変換が適用される。
【０１４３】
図９は、適応型変換サイズ選択を用いて変換されるべき他のブロック例１８０の概念図である。この例では、ブロック１８０は、幾何学的動き分割線１８２によって分割されている３２×３２ブロックを備える。最初に、映像符号化器２０は、ブロック１８０を４つの１６×１６ブロック１８４Ａ乃至１８４Ｄ（１６×１６ブロック１８４）に分割することができる。映像符号化器２０は、次に、幾何学的動き分割線１８２が１６×１６ブロック１８４のうちのいずれかを通るかどうかを決定することができる。
【０１４４】
この例では、幾何学的動き分割線１８２は、１６×１６ブロック１８４Ａ内を通らない。従って、映像符号化器２０は、１６×１６区画を用いて１６×１６区画１８４Ａを変換することができる。幾何学的動き分割線１８２は、１６×１６ブロック１８４Ｂ、１８４Ｃ、及び１８４Ｄ内を通るため、映像符号化器２０は、図９に示されるように１６×１６ブロック１８４Ｂ、１８４Ｃ、及び１８４Ｄを８×８ブロックにさらに分割することができる。映像符号化器２０は、図９の例において再度示されるように、幾何学的動き分割線１８２が通る８×８ブロックの各々を４×４ブロックにさらに分割することができる。この例では、１６×１６ブロック１８４Ｂのうちの１つの８×８ブロックが４×４ブロックにさらに分割され、１６×１６ブロック１８４Ｃのうちの１つの８×８ブロックが４×４ブロックにさらに分割され、１６×１６ブロック１８４Ｄの８×８ブロックのうちの３つが４×４ブロックにさらに分割される。例を目的として、映像符号化器２０は、４×４の最小変換サイズを用いて構成されると仮定されている。
【０１４５】
映像符号化器２０は、８×８変換サイズを用いて分割されなかった８×８ブロックを変換し、４×４変換サイズを用いて４×４ブロックの各々を変換することができる。映像符号化器２０は、１６×１６変換を用いて１６×１６ブロック１８４Ａを変換することができる。この方法で、映像符号化器２０は、ブロック１８０のサブブロックが幾何学的動き分割線１８２に接するかどうかに基づいてそれらのサブブロックのための変換サイズを好適に決定することができる。
【０１４６】
図１０は、Ｎ×Ｎブロックのサブブロックのための変換サイズを決定するための方法例を示したフローチャートである。例を目的として映像符号化器２０に関して説明されるが、図１０の方法は、あらゆるその他の処理ユニットによって実行可能であることが理解されるべきである。例えば、図１０の方法は、例えば、Ｎ×Ｎブロックのサブブロックを逆変換するために、それらのサブブロックのための変換サイズを決定するために映像復号器３０によって適用することもできる。
【０１４７】
最初に、映像符号化器２０は、Ｎ×Ｎブロックを受信する（２００）。Ｎ×Ｎブロックは、分割されている完全なブロック又はそのサブブロックであることができる。映像符号化器２０は、幾何学的動き分割線がＮ×Ｎブロック内を通るかどうかを決定することができる（２０２）。通らない（２０２の“いいえ”分岐）である場合は、映像符号化器２０は、Ｎ×Ｎブロックを変換するためにＮ×Ｎ変換サイズを用いることができる（２０４）。
【０１４８】
他方、幾何学的動き分割線がＮ×Ｎブロック内を通る（２０２の“はい”分岐）場合は、映像符号化器２０は、Ｎ×Ｎブロックを４つの重なり合わない（Ｎ／２）×（Ｎ／２）ブロックに分割することができる（２０６）。次に、映像符号化器２０は、各々の（Ｎ／２）×（Ｎ／２）ブロックのための変換サイズを決定することができる（２０８）。そうするために、映像符号化器２０は、各（Ｎ／２）×（Ｎ／２）ブロックに関して図１０の方法の繰り返しの呼び出しを行うことができる。すなわち、映像符号化器２０は、幾何学的動き分割線が各（Ｎ／２）×（Ｎ／２）ブロック内を通るかどうかを決定することができる。それが通らないそれらに関しては、映像符号化器２０は、（Ｎ／２）×（Ｎ／２）変換サイズを用いて変換することができ、それが通るそれらに関しては、映像符号化器２０は、４つの（Ｎ／４）×（Ｎ／４）ブロックにさらに細分割して、図１０の方法の繰り返し例を再度使用して、各（Ｎ／４）×（Ｎ／４）ブロックのための変換サイズを決定することができる。映像符号化器２０は、次に、変換されたサブブロックを出力することができる。出力することは、ネットワークを通じて送信すること、放送すること、コンピュータによって読み取り可能な媒体に格納すること、又はその他の方法でデータを出力することを含むことができる。
【０１４９】
図１０の方法と同様の方法例は、幾何学的動き分割線を用いて映像データのブロックを第１の幾何学的区画及び第２の幾何学的区画に分割することであって、ブロックは、Ｎ×Ｎピクセルを備えることと、映像データブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割することと、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを符号化することと、を含むことができる。
【０１５０】
同様の方法を映像復号器３０によって実行することができる。映像復号器によって実行される方法例は、幾何学的動き分割線によって第１の幾何学的区画及び第２の幾何学的区画に分割された符号化された映像データのブロックを受信することであって、ブロックは、Ｎ×Ｎピクセルを備えることと、映像データのブロックを４つの等しいサイズの、重なり合わない（Ｎ／２）×（Ｎ／２）サブブロックに分割することと、（Ｎ／２）×（Ｎ／２）よりも小さい変換サイズを用いて幾何学的動き分割線が通るサブブロックのうちの少なくとも１つを逆変換することと、を含むことができる。
【０１５１】
以下の擬似コードは、図１０の方法の部分的実装例として、（ｘ，ｙ）を開始点とするブロックのための変換サイズを決定するための関数例“ｄｅｔｅｒｍｉｎｅＴｒａｎｓｆｏｒｍＳｉｚｅ”を提供する。変数傾き及び切片は、ブロックに関する幾何学的動き分割線を定義する傾き値及び切片値である。変数＿ｍｉｎＴｒａｎｓｆｏｒｍは、水平方向及び垂直方向の両方において最小変換サイズにより定義されたグローバル変数、例えば、４である。変数ｃｕｒｒＳｉｚｅは、現在の変換サイズであり、それは、幾何学的動き分割されているＮ×Ｎブロックのために（Ｎ／２）を用いて初期化することができる。
【０１５２】
変数ｓｔａｒｔＰａｒｔｉｔｉｏｎは、（ｘ，ｙ）におけるブロックの開始ピクセルのための区画に対応し、変数ｃｕｒＰａｒｔｉｔｉｏｎは、ブロックの現在のピクセルのための区画を追跡する。値ｓｔａｒｔＰａｒｔｉｔｉｏｎ及びｃｕｒＰａｒｔｉｔｉｏｎは、ｃのような条件付き演算子“？”を用いて計算され、“ｃｏｎｄｉｔｉｏｎ？ｒｅｓｕｌｔ１：ｒｅｓｕｌｔ２”は、“ｃｏｎｄｉｔｉｏｎ”（条件）が真である場合はｒｅｓｕｌｔ１（結果１）を戻し、そうでない場合は、ｒｅｓｕｌｔ２（結果２）を戻す。２つのｆｏｒ  ｌｏｏｐ（ループ用）は、ブロックのピクセルを通じて繰り返す。いずれかの点で現在のピクセルのための区画が開始ピクセルの区画とマッチしない場合は、幾何学的動き分割線は、ブロック内を通る。これは、ｆｏｒ  ｌｏｏｐを中断させ、繰り返し呼び出しに１／２だけ縮小された現在の変換サイズｃｕｒｒＳｉｚｅを有するＴｒａｎｓｆｏｒｍＳｉｚｅを決定させる。その他の場合は、ブロックの全ピクセルが同じ区画内にとどまる場合は、ブロックを変換するために変換サイズｃｕｒｒＳｉｚｅを用いることができる。
【０１５３】
int determine TransformSize(int currSize.int x, int y,int slope,.int intercept){ 
if(currSize>_minTransform){
int curPartition=0;
int startPartition=((y-slope*x)>intercept)?0:1;
for(int i<x+currSize)＆＆（curPartition＝＝startPartition；i++)
for(intj=y;((j<y+ currSize)＆＆（curPartition＝startPartition；j ++)
curPartition=((j-slope*i)> intercept) ?0:1;
if(curr Partition== startPartition)
return currSize
else
return determine TransformSize(currSize/2,x,y,slope,intercept);
}
else
return currSize
}
図１１は、幾何学的に分割されたブロック２２０及び隣接するサブブロック２２８Ａ乃至２２８Ｆ（隣接サブブロック２２８）を例示したブロック図である。幾何学的動き分割線２２６は、ブロック２２０を２つの区画、すなわち、区画２２２及び区画２２４に分割する。映像符号化器、例えば映像符号化器２０、は、隣接するサブブロック２２８のうちの各々の１つに関する動きベクトルに関して区画２２２、２２４に関する動きベクトルを符号化することができる。すなわち、映像符号化器２０は、隣接するサブブロック２２８のうちのいずれが各々の区画２２２、２２４の隣接物としてみなされるかを決定することができる。
【０１５４】
区画２２２の隣接物は、区画２２４の隣接物とは必ずしもみなされず、同様に、区画２２４の隣接物は、区画２２２の隣接物とは必ずしもみなされない。例えば、映像符号化器２０は、サブブロック２２８の各々が区画２２２の隣接物であると決定することができるが、サブブロック２２８のうちのいずれも区画２２４の隣接物ではない。サブブロック２２８Ａ及び２２８Ｅの各々に関して、右境界に位置するピクセルが区画の隣接物である場合は、サブブロックは、その区画の隣接物であるとみなすことができる。サブブロック２２８Ｂ及び２２８Ｆの各々に関して、下側境界に位置するピクセルが区画の隣接物である場合にその区画の隣接物であるとみなすことができる。サブブロック２２８Ｄは、右下隅のピクセルが区画の隣接物である場合にその区画の隣接物であるとみなすことができる。サブブロック２２８Ｃは、左下隅のピクセルが区画の隣接物である場合にその区画の隣接物であるとみなすことができる。他の例では、サブブロックの部分的境界ピクセルが隣接物である場合は、そのサブブロックは、区画の隣接物であるとみなすことができる。
【０１５５】
映像符号化器２０は、区画のための動き予測子を決定するためにその区画に隣接するとみなされるサブブロック２２８に関する動きベクトルの中央値を計算することができる。区画に隣接するとみなされるサブブロック２２８に関する動きベクトルは、候補動き予測子の組と呼ぶこともできる。例を目的として、サブブロック２２８の各々が区画２２２に隣接すると決定されたと仮定すると、映像符号化器２０は、区画２２２のための動き予測子を決定するためにサブブロック２２８の各々に関する動きベクトルの中央値を計算することができる。映像符号化器２０は、次に、動きベクトルを符号化するために区画２２２に関する動きベクトルと区画２２２のための動き予測子との間の差分を計算することができる。
【０１５６】
例を目的として、サブブロック２２８Ｃ、２２８Ｅ、及び２２８Ｆが区画２２４に隣接すると決定されたと仮定すると、映像符号化器２０は、区画２２４のための動き予測子を決定するためにサブブロック２２８Ｃ、２２８Ｅ、及び２２８Ｆに関する動きベクトルの中央値を計算することができる。映像符号化器２０は、次に、動きベクトルを符号化するために区画２２４に関する動きベクトルと区画２２４のための動き予測子との間の差分を計算することができる。
【０１５７】
この方法で、映像符号化器又は映像復号器は、サブブロック２２８Ａ、２２８Ｂ、２２８Ｃ、及び２２８Ｄのみから選択する従来の方法よりも大規模な組の候補動き予測子から動き予測子を選択することができる。さらに、映像符号化器又は映像復号器は、他方の区画、例えば、区画２２４、のための動き予測子から独立して一方の区画、例えば、区画２２２、のための動き予測子を選択することができる。従って、区画２２２、２２４は、同じブロック２２０の区画であるが、区画２２２、２２４のための動き予測子は異なることができる。従って、映像符号化器又は映像復号器は、区画を含有するブロック、すなわち、区画が一部を形成するブロック、ではなく、候補動き予測子に関連するブロックが区画に隣接するかどうかに基づいて区画のための動き予測子を選択することができる。
【０１５８】
図１２は、映像データのブロックの幾何学的動き区画の動きベクトルを符号化するための方法例を示したフローチャートである。例を目的として映像符号化器２０に関して説明されるが、図１２の方法は、あらゆるその他の処理ユニットによって実行できることが理解されるべきである。例えば、図１２の方法は、幾何学的動き分割されているブロックの符号化された動きベクトルを復号するために映像復号器３０によって適用することもできる。
【０１５９】
最初に、映像符号化器２０は、映像データのブロックを受信することができる（２５０）。映像符号化器２０は、次に、幾何学的動き区画を用いてブロックを分割することができる（２５２）。映像符号化器２０は、次に、第１の幾何学的動き区画のための候補予測子の組を決定することができる（２５４）。すなわち、映像符号化器２０は、ブロックに隣接する一組のサブブロックのうちのいずれが第１の区画にも同様に隣接するとみなされるかを決定することができる。次に、映像符号化器２０は、第１の区画に隣接するサブブロックに関する動きベクトルを取り出すことができる。映像符号化器２０は、次に、これらの動きベクトルの中央値を計算し、計算された中央値を第１の区画のための動き予測子として用いることができる（２５６）。映像符号化器２０は、次に、第１の区画のための予測子に関して動きベクトルを符号化するために第１の区画に関する動きベクトルと第１の区画のための動き予測子との間の差分を計算することができる（２５８）。
【０１６０】
次に、映像符号化器２０は、第２の幾何学的動き区画のための候補予測子の組を決定することができる（２６０）。すなわち、映像符号化器２０は、ブロックに隣接する一組のサブブロックのうちのいずれが第２の区画に隣接するとみなされるかを決定することができる。次に、映像符号化器２０は、第２の区画に隣接するサブブロックに関する動きベクトルを取り出すことができる。映像符号化器２０は、次に、これらの動きベクトルの中央値を計算し、計算された中央値を第２の区画のための動き予測子として用いることができる（２６２）。映像符号化器２０は、次に、第２の区画のための予測子に関して動きベクトルを符号化するために第２の区画に関する動きベクトルと第２の区画のための動き予測子との間の差分を計算することができる（２６４）。映像符号化器２０は、次に、符号化された動きベクトルを出力することができる。出力することは、ネットワークを通じて送信すること、放送すること、コンピュータによって読み取り可能な媒体に格納すること、又はその他の方法でデータを出力することを含むことができる。
【０１６１】
この方法で、映像符号化器２０は、各区画のために独立して選択された候補動き予測子を用いて、互いに独立してブロックの幾何学的動き区画に関する動きベクトルを符号化することができる。従って、映像符号化器２０は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割することと、第１の区画に関する第１の動きベクトル及び第２の区画に関する第２の動きベクトルを決定することと、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の動きベクトルを符号化することと、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の動きベクトルを符号化することであって、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定されることと、符号化された第１及び第２の動きベクトルを出力することと、を含む方法を実行することができる。映像符号化器２０は、図１１に関して説明されるように、従来用いられるよりも大規模な組の動きベクトルから候補動き予測子を選択することもできる。
【０１６２】
映像復号器３０は、符号化されたブロックに関する符号化された動きベクトルを復号するために同様の方法を利用することができる。動き予測子と動きベクトルとの間の差分を計算するのではなく、映像復号器３０は、動きベクトルを復号するために符号化された動きベクトルを受信して符号化された動きベクトルのための値を動き予測子に加えることができる。従って、映像復号器３０は、幾何学的動き分割線によって第１の区画及び第２の区画に分割された映像データのブロック、第１の区画に関する第１の符号化された動きベクトル及び第２の区画に関する第２の符号化された動きベクトルを受信することと、第１の区画に隣接するブロックに関する動きベクトルから選択された第１の動き予測子に基づいて第１の符号化された動きベクトルを復号することと、第２の区画に隣接するブロックに関する動きベクトルから選択された第２の動き予測子に基づいて第２の符号化された動きベクトルを復号することであって、第２の区画に隣接するブロックは、第１の区画に隣接するブロックから独立して決定されることと、復号された第１及び第２の動きベクトルを用いてブロックを復号することと、を含む方法を実行することができる。
【０１６３】
図１３は、固定小数点実装を用いて映像データのブロックを符号化するための方法例を示したフローチャートである。例を目的として、映像符号化器２０に関して説明されるが、図１３の方法と同様のそれらをその他の処理ユニットによって実行できることが理解されるべきである。例えば、図１３の方法と同様のそれは、固定小数点実装において映像データを復号するために映像復号器３０によって適用することもできる。
【０１６４】
最初に、映像符号化器２０は、映像データのブロックを受信することができる（２８０）。映像符号化器２０は、次に、幾何学的動き区画を用いてブロックを分割することができる（２８２）。映像符号化器２０は、幾何学的動き分割線に垂直であり及びブロックの原点から始まる線分の角度θ及び長さρにより、ブロックを分割するために用いられる幾何学的動き分割線を定義することができる。
【０１６５】
映像符号化器２０は、角度値及び長さ値のためのステップサイズを用いて構成することができ、従って、角度値及び長さ値は、特定のビット数を有する整数によって格納することができる。例として、映像符号化器２０は、５ビットの数字内に幾何学的動き分割線を定義する角度値を格納するように構成することができる。角度値は、１のステップサイズ及び０乃至３１の範囲を有することができる。従って、角度値の２つの連続するステップ間の差分は、１１．２５度の差分を表すことができる。長さ値は、ブロックのサイズに依存することができ、及び、０乃至Ｎ／２−１の範囲を有する符号付き整数に対応することができ、ここで、Ｎは、ブロックサイズを表す。例えば、１６×１６ブロックに関しては、長さ値は、０乃至７の間の符号付き整数に対応することができ、３２×３２ブロックに関しては、長さ値は、０乃至１５の間の符号付き整数に対応することができ、６４×６４ブロックに関しては、長さ値は、０乃至３１の間の符号付き整数に対応することができる。
【０１６６】
しかしながら、固定小数点実装を可能にするために、映像符号化器２０は、例えば、公式（１）により、幾何学的動き分割線のための傾き及びｙ切片を計算することができる（２８４）。映像符号化器２０は、傾き及びｙ切片を整数値として表すことができる。すなわち、符号化器２０は、角度値及び長さ値から傾き値及びｙ切片値を計算し、傾き値及びｙ切片値に整数値、例えば、６５５３６、を乗じ、次に、計算された傾き値及びｙ切片値の小数点第一位を四捨五入して整数を求めることができる。映像符号化器２０は、その結果得られた傾き値及びｙ切片値を、適切なサイズのビットベクトル、例えば、３２ビット整数値、として格納することができる。
【０１６７】
映像符号化器２０は、次に、傾き値及びｙ切片値を用いてブロックのためのマスクを計算することができる（２８６）。すなわち、映像符号化器２０は、ブロックの各点を通じて繰り返し、その点が領域０にあるか又は領域１にあるかを決定することができる（例えば、図１１の例では区画２２２又は区画２２４）。映像符号化器２０は、ブロックを符号化するときにマスクを参照すること、すなわち、マスクに基づいてブロックを符号化することができる（２８８）。例えば、映像符号化器２０は、ブロックに関する残差を計算するために、ブロックの各区画の境界を決定することができる。すなわち、映像符号化器２０は、第１の区画と関連付けられた動きベクトル又は第２の区画と関連付けられた動きベクトルを用いてブロックのピクセルのための値を取り出すかどうかを決定するためにマスクを参照することができる。
【０１６８】
映像符号化器２０は、これらの動きベクトルを用いてピクセルのための値を取り出し、これらの値と符号化されるべきブロックとの間の差分を計算することによってブロックに関する残差を計算することができる。この方法で、映像符号化器２０は、マスクを用いてブロック内のピクセルが第１の区画に対応するか又は第２の区画に対応するかを決定し、第１の区画に関する動きベクトルによって示された基準ブロックから第１の区画内のピクセルに関する予測値を取り出し、及び、第２の区画に関する動きベクトルによって示された基準ブロックから第２の区画内のピクセルに関する予測値を取り出すことができる。
【０１６９】
幾つかの例では、映像符号化器２０は、本開示において説明されるスムージング技法を用いて区画間の遷移をスムージングすることができる。すなわち、映像符号化器２０は、遷移領域内のブロックのピクセルの組を決定し、第１の区画に関する動きベクトルによって示される基準ブロック及び第２の区画に関する動きベクトルによって示される基準ブロックに基づいて遷移領域内のピクセルの組に関する予測値を計算することができる。
【０１７０】
映像符号化器２０は、次に、符号化されたブロック、及び幾何学的動き分割線を定義する傾き値及びｙ切片値を出力することができる（２９０）。出力することは、ネットワークを通じて送信すること、放送すること、コンピュータによって読み取り可能な媒体に格納すること、又はその他の方法でデータを出力することを含むことができる。映像符号化器２０は、本開示の技法を用いて区画に関する動きベクトルをさらに符号化することができ、及び、残差のサブブロックを変換するときに本開示の適応型変換サイズ選択技法を適用することができる。
【０１７１】
この方法で、映像符号化器、例えば映像符号化器２０、によって実行することができる図１３の方法に対応する方法例は、幾何学的動き分割線を用いて映像データのブロックを第１の区画及び第２の区画に分割することと、幾何学的動き分割線の傾き値及びｙ切片値を計算することであって、傾き値及びｙ切片値は、整数値を備えることと、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算することと、マスクに基づいて第１の区画及び第２の区画を符号化することと、符号化された第１の区画、符号化された第２の区画、傾き値、及びｙ切片値を出力することと、を含むことができる。
【０１７２】
映像復号器、例えば、映像復号器３０、は、映像データを復号するための同様の方法を実行することができる。映像データを復号する方法例は、幾何学的動き分割線によって第１の区画及び第２の区画に分割されている符号化された映像データのブロックを受信することと、幾何学的動き分割線を定義する傾き値及びｙ切片値を受信することであって、傾き値及びｙ切片値は、整数値を備えることと、第１の区画内のブロックのピクセル及び第２の区画内のブロックのピクセルを示すマスクを計算することと、マスクに基づいてブロックの第１の区画及び第２の区画を復号することと、復号されたブロックを出力することと、を含むことができる。
【０１７３】
１つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらのあらゆる組み合わせ内に実装することができる。ソフトウェア内に実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において１つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば通信プロトコルによる１つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応する。この方法で、コンピュータによって読み取り可能な媒体は、概して、（１）非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は（２）信号又は搬送波、等の通信媒体に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のための命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
【０１７４】
例として、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセスすることができるあらゆるその他の媒体を備えることができる。さらに、いずれの接続もコンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又はその他の過渡的媒体は含まず、非過渡的な有形の記憶媒体が代わりに対象となることが理解されるべきである。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザディスク（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、ブルーレイディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。上記の組合せも、コンピュータによって読み取り可能な媒体の適用範囲に含めるべきである。
【０１７５】
命令は、１つ以上のプロセッサ、例えば、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又はその他の同等の集積回路又は個別論理回路、によって実行することができる。従って、用語“プロセッサ”は、ここにおいて用いられる場合は、上記の構造又はここにおいて説明される技法の実装に適したあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化及び復号のために構成されるか又は結合されたコーデック内に組み入れられた専用ハードウェア及び／又はソフトウェアモジュール内において提供することができる。さらに、それらの技法は、１つ以上の回路又は論理素子内において完全に実装可能である。
【０１７６】
本開示の技法は、無線ハンドセット、集積回路（ＩＣ）又はＩＣの組（例えば、チップセット）を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示された技法を実行するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットを、適切なソフトウェア及び／又はファームウェアと関係させて、コーデックハードウェアユニット内に結合すること又は上述される１つ以上のプロセッサを含む相互運用可能なハードウェアユニットの集合によって提供することができる。
【０１７７】
様々な例が説明されている。これらの及びその他の例は、次の請求項の適用範囲内にある。
【図１】
2013520877.tif 000003
【図２】
2013520877.tif 000004
【図３】
2013520877.tif 000005
【図４】
2013520877.tif 000006
【図５】
2013520877.tif 000007
【図６】
2013520877.tif 000008
【図７】
2013520877.tif 000009
【図８】
2013520877.tif 000010
【図９】
2013520877.tif 000011
【図１０】
2013520877.tif 000012
【図１１】
2013520877.tif 000013
【図１２】
2013520877.tif 000014
【図１３】
2013520877.tif 000015
【国際調査報告】
2013520877.tif 000016
2013520877.tif 000017
2013520877.tif 000018