一態様によれば、回路と、前記回路に接続されたメモリとを備える画像符号化装置が提供される。前記回路は、動作において、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することと、前記第1パーティションについて第1動きベクトルを予測し、前記第2パーティションについて第2動きベクトルを予測することと、前記第1動きベクトルを用いて前記第1パーティションを符号化し、前記第2動きベクトルを用いて前記第2パーティションを符号化することとを行う。
さらなる態様によれば、前記第2パーティションは、非矩形形状を有する。他の態様によれば、前記非矩形形状は、三角形である。さらなる態様によれば、前記非矩形形状は、三角形、台形、及び、少なくとも5つの辺と角とを有する多角形からなる群から選択される。
他の態様によれば、前記予測することは、前記第1動きベクトルを第1動きベクトル候補セットから選択することと、前記第2動きベクトルを第2動きベクトル候補セットから選択することとを含む。例えば、前記第1動きベクトル候補セットは、前記第1パーティションに隣接する複数のパーティションの複数の動きベクトルを含んでもよく、前記第2動きベクトル候補セットは、前記第2パーティションに隣接する複数のパーティションの複数の動きベクトルを含んでもよい。前記第1パーティションに隣接する前記複数のパーティションと前記第2パーティションに隣接する前記複数のパーティションとは、前記第1パーティション及び前記第2パーティションに分割される前記画像ブロックの外部であってもよい。前記隣接する複数のパーティションは、空間的に隣接する複数のパーティション、及び、時間的に隣接する複数のパーティションの一方又は両方であってもよい。前記第1動きベクトル候補セットは、前記第2動きベクトル候補セットと同じであっても、異なってもよい。
他の態様によれば、前記予測することは、第1動きベクトル候補を第1動きベクトル候補セットから選択し、前記第1動きベクトル候補に第1差分動きベクトルを加算することによって前記第1動きベクトルを導出することと、第2動きベクトル候補を第2動きベクトル候補セットから選択し、前記第2動きベクトル候補に第2差分動きベクトルを加算することによって前記第2動きベクトルを導出することとを含む。
他の態様によれば、動作において、原画像を受信し複数のブロックに分割する分割部と、動作において、前記分割部から前記複数のブロックを受信し、予測制御部から複数の予測を受信し、各予測をその対応ブロックから減算して、残差を出力する加算部と、動作において、前記加算部から出力された複数の残差に変換を行って複数の変換係数を出力する変換部と、動作において、前記複数の変換係数を量子化して複数の量子化変換係数を生成する量子化部と、動作において、前記複数の量子化変換係数を符号化してビットストリームを生成するエントロピー符号化部と、動作において、符号化済み参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部、動作において、カレントピクチャにおける符号化済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部、及び、メモリに接続された前記予測制御部とを備える画像符号化装置を提供する。前記予測制御部は、動作において、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに前記複数のブロックを分割し、前記第1パーティションについて第1動きベクトルを予測し、前記第2パーティションについて第2動きベクトルを予測し、前記第1動きベクトルを用いて前記第1パーティションを符号化し、前記第2動きベクトルを用いて前記第2パーティションを符号化する。
他の態様によれば、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することと、前記第1パーティションについて第1動きベクトルを予測し、前記第2パーティションについて第2動きベクトルを予測することと、前記第1動きベクトルを用いて前記第1パーティションを符号化し、前記第2動きベクトルを用いて前記第2パーティションを符号化することとを含む画像符号化方法を提供する。
一態様によれば、回路と、前記回路に接続されたメモリとを備える画像復号装置が提供される。前記回路は、動作において、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することと、前記第1パーティションについて第1動きベクトルを予測し、前記第2パーティションについて第2動きベクトルを予測することと、前記第1動きベクトルを用いて前記第1パーティションを復号し、前記第2動きベクトルを用いて前記第2パーティションを復号することとを行う。
さらなる態様によれば、前記第2パーティションは、非矩形形状を有する。他の態様によれば、前記非矩形形状は、三角形である。さらなる態様によれば、前記非矩形形状は、三角形、台形、及び、少なくとも5つの辺と角とを有する多角形からなる群から選択される。
他の態様によれば、動作において、符号化ビットストリームを受信し復号して複数の量子化変換係数を取得するエントロピー復号部と、動作において、前記複数の量子化変換係数を逆量子化して複数の変換係数を取得し、前記複数の変換係数を逆変換して複数の残差を取得する、逆量子化部及び逆変換部と、動作において、前記逆量子化部及び前記逆変換部から出力された前記複数の残差と、予測制御部から出力された複数の予測とを加算して複数のブロックを再構成する加算部と、動作において、復号済みの参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部、動作において、カレントピクチャにおける復号済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部、及び、メモリに接続された前記予測制御部とを備える画像復号装置が提供される。前記予測制御部は、動作において、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割し、前記第1パーティションについて第1動きベクトルを予測し、前記第2パーティションについて第2動きベクトルを予測し、前記第1動きベクトルを用いて前記第1パーティションを復号し、前記第2動きベクトルを用いて前記第2パーティションを復号する。
他の態様によれば、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することと、前記第1パーティションについて第1動きベクトルを予測し、前記第2パーティションについて第2動きベクトルを予測することと、前記第1動きベクトルを用いて前記第1パーティションを復号し、前記第2動きベクトルを用いて前記第2パーティションを復号することとを含む画像復号方法が提供される。
一態様によれば、回路と、前記回路に接続されたメモリとを備える画像符号化装置が提供される。前記回路は、動作において、画像ブロックから分割された、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿う境界平滑化動作を行う。当該境界平滑化動作は、前記第1パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの画素セットの複数の第1値を第1予測することと、前記第2パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの前記画素セットの複数の第2値を第2予測することと、前記複数の第1値と前記複数の第2値とを重み付けすることと、重み付けされた前記複数の第1値と重み付けされた前記複数の第2値とを用いて前記第1パーティションを符号化することとを含む。
さらなる態様によれば、前記非矩形形状は、三角形である。他の態様によれば、前記非矩形形状は、三角形、台形、及び、少なくとも5つの辺と角とを有する多角形からなる群から選択される。さらに別の態様によれば、前記第2パーティションは、非矩形形状を有する。
他の態様によれば、前記第1予測及び前記第2予測の少なくとも一方は、符号化済み参照ピクチャにおける参照パーティションに基づいて前記複数の第1値及び前記複数の第2値を予測するインター予測処理である。前記インター予測処理は、前記画素セットを含む前記第1パーティションの複数の画素の複数の第1値を予測してもよく、前記第1パーティションの前記画素セットのみの前記複数の第2値を予測してもよい。
他の態様によれば、前記第1予測及び前記第2予測の少なくとも一方は、カレントピクチャにおける符号化済み参照パーティションに基づいて前記複数の第1値及び前記複数の第2値を予測するイントラ予測処理である。
他の態様によれば、前記第1予測に用いられる予測方法は、前記第2予測に用いられる予測方法と異なる。
さらなる態様によれば、前記複数の第1値及び前記複数の第2値を予測する各行又は各列の前記画素セットの数は、整数である。例えば、各行又は各列の前記画素セットの数が4つである場合、1/8、1/4、3/4及び7/8の複数の重みが、それぞれ、前記画素セットにおける4つの画素の複数の第1値に適用されてもよく、7/8、3/4、1/4及び1/8の複数の重みが、それぞれ、前記画素セットにおける4つの画素の複数の第2値に適用されてもよい。他の例として、各行又は各列の前記画素セットの数が2つである場合、1/3及び2/3の複数の重みが、それぞれ、前記画素セットにおける2つの画素の複数の第1値に適用されてもよく、2/3及び1/3の複数の重みが、それぞれ、前記画素セットにおける2つの画素の複数の第2値に適用されてもよい。
他の態様によれば、複数の重みは、整数値でもよいし、分数値でもよい。
他の態様によれば、動作において、原画像を受信し複数のブロックに分割する分割部と、動作において、前記分割部から前記複数のブロックを受信し、予測制御部から複数の予測を受信し、各予測をその対応ブロックから減算して、残差を出力する加算部と、動作において、前記加算部から出力された複数の残差に変換を行って複数の変換係数を出力する変換部と、動作において、前記複数の変換係数を量子化して複数の量子化変換係数を生成する量子化部と、動作において、前記複数の量子化変換係数を符号化してビットストリームを生成するエントロピー符号化部と、動作において、符号化済み参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部、動作において、カレントピクチャにおける符号化済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部、及び、メモリに接続された前記予測制御部とを備える画像符号化装置が提供される。前記予測制御部は、動作において、画像ブロックから分割された、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿う境界平滑化動作を行う。前記境界平滑化動作は、前記第1パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの画素セットの複数の第1値を第1予測することと、前記第2パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの前記画素セットの複数の第2値を第2予測することと、前記複数の第1値と前記複数の第2値とを重み付けすることと、重み付けされた前記複数の第1値と重み付けされた前記複数の第2値とを用いて前記第1パーティションを符号化することとを含む。
他の態様によれば、画像ブロックから分割された、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿う境界平滑化動作を行う画像符号化方法が提供される。当該方法は、前記第1パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの画素セットの複数の第1値を第1予測することと、前記第2パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの前記画素セットの複数の第2値を第2予測することと、前記複数の第1値と前記複数の第2値とを重み付けすることと、重み付けされた前記複数の第1値と重み付けされた前記複数の第2値とを用いて前記第1パーティションを符号化することとの4ステップを通常含む。
さらなる態様によれば、回路と、前記回路に接続されたメモリとを備える画像復号装置が提供される。前記回路は、動作において、画像ブロックから分割された、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿う境界平滑化動作を行う。前記境界平滑化動作は、前記第1パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの画素セットの複数の第1値を第1予測することと、前記第2パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの前記画素セットの複数の第2値を第2予測することと、前記複数の第1値と前記複数の第2値とを重み付けすることと、重み付けされた前記複数の第1値と重み付けされた前記複数の第2値とを用いて前記第1パーティションを復号することとを含む。
他の態様によれば、前記非矩形形状は、三角形である。さらなる態様によれば、前記非矩形形状は、三角形、台形、及び、少なくとも5つの辺と角とを有する多角形からなる群から選択される。他の態様によれば、前記第2パーティションは、非矩形形状を有する。
他の態様によれば、前記第1予測及び前記第2予測の少なくとも一方は、符号化済み参照ピクチャにおける参照パーティションに基づいて前記複数の第1値及び前記複数の第2値を予測するインター予測処理である。前記インター予測処理は、前記画素セットを含む前記第1パーティションの複数の画素の複数の第1値を予測してもよく、前記第1パーティションの前記画素セットのみの前記複数の第2値を予測してもよい。
他の態様によれば、前記第1予測及び前記第2予測の少なくとも一方は、カレントピクチャにおける符号化済み参照パーティションに基づいて前記複数の第1値及び前記複数の第2値を予測するイントラ予測処理である。
他の態様によれば、動作において、符号化ビットストリームを受信し復号して複数の量子化変換係数を取得するエントロピー復号部と、動作において、前記複数の量子化変換係数を逆量子化して複数の変換係数を取得し、前記複数の変換係数を逆変換して複数の残差を取得する、逆量子化部及び逆変換部と、動作において、前記逆量子化部及び前記逆変換部から出力された前記複数の残差と、予測制御部から出力された複数の予測とを加算して複数のブロックを再構成する加算部と、動作において、復号済みの参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部、動作において、カレントピクチャにおける復号済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部、及び、メモリに接続された前記予測制御部とを備える画像復号装置が提供される。前記予測制御部は、動作において、画像ブロックから分割された、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿う境界平滑化動作を行う。前記境界平滑化動作は、前記第1パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの画素セットの複数の第1値を第1予測することと、前記第2パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの前記画素セットの複数の第2値を第2予測することと、前記複数の第1値と前記複数の第2値とを重み付けすることと、重み付けされた前記複数の第1値と重み付けされた前記複数の第2値とを用いて前記第1パーティションを復号することとを含む。
他の態様によれば、画像ブロックから分割された、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿う境界平滑化動作を行う画像復号方法が提供される。当該方法は、前記第1パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの画素セットの複数の第1値を第1予測することと、前記第2パーティションの情報を用いて、前記境界に沿う、前記第1パーティションの前記画素セットの複数の第2値を第2予測することと、前記複数の第1値と前記複数の第2値とを重み付けすることと、重み付けされた前記複数の第1値と重み付けされた前記複数の第2値とを用いて前記第1パーティションを復号することとの4ステップを通常含む。
一態様によれば、回路と、前記回路に接続されたメモリとを備える画像符号化装置が提供される。前記回路は、動作において、パーティションシンタックス動作を行い、前記パーティションシンタックス動作は、分割を示すパーティションパラメータに基づいて、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することと、前記第1パーティションと前記第2パーティションとを符号化することと、前記パーティションパラメータを含む1つ以上のパラメータをビットストリームに書き込むこととを含む。
さらなる態様によれば、前記パーティションパラメータは、前記第1パーティションが三角形形状を有することを示す。
他の態様によれば、前記パーティションパラメータは、前記第2パーティションが非矩形形状を有することを示す。
他の態様によれば、前記パーティションパラメータは、前記非矩形形状が、三角形、台形、及び、少なくとも5つの辺と角とを有する多角形のうちの1つであることを示す。
他の態様によれば、前記パーティションパラメータは、前記画像ブロックを前記複数のパーティションに分割するために適用される分割方向を一体として符号化する。例えば、前記分割方向は、前記画像ブロックの左上角からその右下角、及び、前記画像ブロックの右上角からその左下角を含んでもよい。前記パーティションパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを一体として符号化してもよい。
他の態様によれば、前記パーティションパラメータ以外の1つ以上のパラメータは、前記画像ブロックを前記複数のパーティションに分割するために適用される分割方向を符号化する。前記分割方向を符号化するパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを一体として符号化してもよい。
他の態様によれば、前記パーティションパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを一体として符号化してもよい。前記パーティションパラメータは、前記第2パーティションの第2動きベクトルを一体として符号化してもよい。
他の態様によれば、前記パーティションパラメータ以外の1つ以上のパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを符号化してもよい。
他の態様によれば、前記1つ以上のパラメータは、前記1つ以上のパラメータのうちの少なくとも1つの値に応じて選択される二値化方式に従って、二値化される。
さらなる態様によれば、動作において、原画像を受信し複数のブロックに分割する分割部と、動作において、前記分割部から前記複数のブロックを受信し、予測制御部から複数の予測を受信し、各予測をその対応ブロックから減算して、残差を出力する加算部と、動作において、前記加算部から出力された複数の残差に変換を行って複数の変換係数を出力する変換部と、動作において、前記複数の変換係数を量子化して複数の量子化変換係数を生成する量子化部と、動作において、前記複数の量子化変換係数を符号化してビットストリームを生成するエントロピー符号化部と、動作において、符号化済み参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部、動作において、カレントピクチャにおける符号化済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部、及び、メモリに接続された前記予測制御部とを備える画像符号化装置が提供される。前記予測制御部は、動作において、分割を示すパーティションパラメータに基づいて、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割し、前記第1パーティションと前記第2パーティションとを符号化する。前記エントロピー符号化部は、動作において、前記パーティションパラメータを含む1つ以上のパラメータをビットストリームに書き込む。
他の態様によれば、パーティションシンタックス動作を含む画像符号化方法が提供される。当該方法は、分割を示すパーティションパラメータに基づいて、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することと、前記第1パーティションと前記第2パーティションとを符号化することと、前記パーティションパラメータを含む1つ以上のパラメータをビットストリームに書き込むこととの3ステップを通常含む。
他の態様によれば、回路と、前記回路に接続されたメモリとを備える画像復号装置が提供される。前記回路は、動作において、パーティションシンタックス動作を行い、前記パーティションシンタックス動作は、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することを示すパーティションパラメータを含む1つ以上のパラメータをビットストリームから読み解くことと、前記パーティションパラメータに基づいて、前記画像ブロックを前記複数のパーティションに分割することと、前記第1パーティションと前記第2パーティションとを復号することとを含む。
さらなる態様によれば、前記パーティションパラメータは、前記第1パーティションが三角形形状を有することを示す。
他の態様によれば、前記パーティションパラメータは、前記第2パーティションが非矩形形状を有することを示す。
他の態様によれば、前記パーティションパラメータは、前記非矩形形状が、三角形、台形、及び、少なくとも5つの辺と角とを有する多角形のうちの1つであることを示す。
他の態様によれば、前記パーティションパラメータは、前記画像ブロックを前記複数のパーティションに分割するために適用される分割方向を一体として符号化する。例えば、前記分割方向は、前記画像ブロックの左上角からその右下角、及び、前記画像ブロックの右上角からその左下角を含む。前記パーティションパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを一体として符号化してもよい。
他の態様によれば、前記パーティションパラメータ以外の1つ以上のパラメータは、前記画像ブロックを前記複数のパーティションに分割するために適用される分割方向を符号化する。前記分割方向を符号化するパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを一体として符号化してもよい。
他の態様によれば、前記パーティションパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを一体として符号化してもよい。前記パーティションパラメータは、前記第2パーティションの第2動きベクトルを一体として符号化してもよい。
他の態様によれば、前記パーティションパラメータ以外の1つ以上のパラメータは、少なくとも、前記第1パーティションの第1動きベクトルを符号化してもよい。
他の態様によれば、前記1つ以上のパラメータは、前記1つ以上のパラメータのうちの少なくとも1つの値に応じて選択される二値化方式に従って、二値化される。
さらなる態様によれば、動作において、符号化ビットストリームを受信し復号して複数の量子化変換係数を取得するエントロピー復号部と、動作において、前記複数の量子化変換係数を逆量子化して複数の変換係数を取得し、前記複数の変換係数を逆変換して複数の残差を取得する、逆量子化部及び逆変換部と、動作において、前記逆量子化部及び前記逆変換部から出力された前記複数の残差と、予測制御部から出力された複数の予測とを加算して複数のブロックを再構成する加算部と、動作において、復号済みの参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部、動作において、カレントピクチャにおける復号済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部、及び、メモリに接続された前記予測制御部とを備える画像復号装置が提供される。前記エントロピー復号部は、動作において、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することを示すパーティションパラメータを含む1つ以上のパラメータをビットストリームから読み解き、前記パーティションパラメータに基づいて、前記画像ブロックを前記複数のパーティションに分割し、前記第1パーティションと前記第2パーティションとを復号する。
他の態様によれば、パーティションシンタックス動作を含む画像復号方法が提供される。当該方法は、非矩形形状を有する第1パーティションと、第2パーティションとを含む複数のパーティションに画像ブロックを分割することを示すパーティションパラメータを含む1つ以上のパラメータをビットストリームから読み解くことと、前記パーティションパラメータに基づいて、前記画像ブロックを前記複数のパーティションに分割することと、前記第1パーティションと前記第2パーティションとを復号することとの3ステップを通常含む。
図面において、同一の参照符号は、同じ構成要素を示す。図面における構成要素の大きさおよび相対位置は、必ずしも縮尺比に従うものではない。
以下、実施の形態について図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの関係及び順序などは、一例であり、請求の範囲を限定する主旨ではない。したがって、以下の実施の形態に開示されているけれども、最も広い発明概念を定義する独立請求項に記載されていない構成要素は、任意の構成要素と理解されてもよい。
以下では、符号化装置および復号化装置の実施の形態を説明する。実施の形態は、本開示の各態様で説明する処理および/または構成を適用可能な符号化装置および復号化装置の例である。処理および/または構成は、実施の形態とは異なる符号化装置および復号化装置においても実施可能である。例えば、実施の形態に対して適用される処理および/または構成に関して、例えば以下のいずれかを実施してもよい。
(1)本開示の各態様で説明する実施の形態の符号化装置または復号装置の複数の構成要素のうちいずれかは、本開示の各態様のいずれかで説明する他の構成要素に置き換えまたは組み合わせられてもよい。
(2)実施の形態の符号化装置または復号装置において、当該符号化装置または復号装置の複数の構成要素のうち一部の構成要素によって行われる機能または処理に、機能または処理の追加、置き換え、削除などの任意の変更がなされてもよい。例えば、いずれかの機能または処理は、本開示の各態様のいずれかで説明する他の機能または処理に、置き換えまたは組み合わせられてもよい。
(3)実施の形態の符号化装置または復号装置が実施する方法において、当該方法に含まれる複数の処理のうちの一部の処理について、追加、置き換えおよび削除などの任意の変更がなされてもよい。例えば、方法におけるいずれかの処理は、本開示の各態様のいずれかで説明する他の処理に、置き換えまたは組み合わせられてもよい。
(4)実施の形態の符号化装置または復号装置を構成する複数の構成要素のうちの一部の構成要素は、本開示の各態様のいずれかで説明する構成要素と組み合わせられてもよいし、本開示の各態様のいずれかで説明する機能の一部を備える構成要素と組み合わせられてもよいし、本開示の各態様で説明する構成要素が実施する処理の一部を実施する構成要素と組み合わせられてもよい。
(5)実施の形態の符号化装置または復号装置の機能の一部を備える構成要素、または、実施の形態の符号化装置または復号装置の処理の一部を実施する構成要素は、本開示の各態様いずれかで説明する構成要素と、本開示の各態様でいずれかで説明する機能の一部を備える構成要素と、または、本開示の各態様のいずれかで説明する処理の一部を実施する構成要素と組み合わせまたは置き換えられてもよい。
(6)実施の形態の符号化装置または復号装置が実施する方法において、当該方法に含まれる複数の処理のいずれかは、本開示の各態様のいずれかで説明する処理に、または、同様のいずれかの処理に、置き換えまたは組み合わせられてもよい。
(7)実施の形態の符号化装置または復号装置が実施する方法に含まれる複数の処理のうちの一部の処理は、本開示の各態様のいずれかで説明する処理と組み合わせられてもよい。
(8)本開示の各態様で説明する処理および/または構成の実施の仕方は、実施の形態の符号化装置または復号装置に限定されるものではない。例えば、処理および/または構成は、実施の形態において開示する動画像符号化または動画像復号とは異なる目的で利用される装置において実施されてもよい。
[符号化装置の概要]
まず、実施の形態に係る符号化装置の概要を説明する。図1は、実施の形態に係る符号化装置100の機能構成を示すブロック図である。符号化装置100は、動画像をブロック単位で符号化する動画像符号化装置である。
図1に示すように、符号化装置100は、画像をブロック単位で符号化する装置であって、分割部102と、減算部104と、変換部106と、量子化部108と、エントロピー符号化部110と、逆量子化部112と、逆変換部114と、加算部116と、ブロックメモリ118と、ループフィルタ部120と、フレームメモリ122と、イントラ予測部124と、インター予測部126と、予測制御部128と、を備える。
符号化装置100は、例えば、汎用プロセッサ及びメモリにより実現される。この場合、メモリに格納されたソフトウェアプログラムがプロセッサにより実行されたときに、プロセッサは、分割部102、減算部104、変換部106、量子化部108、エントロピー符号化部110、逆量子化部112、逆変換部114、加算部116、ループフィルタ部120、イントラ予測部124、インター予測部126及び予測制御部128として機能する。また、符号化装置100は、分割部102、減算部104、変換部106、量子化部108、エントロピー符号化部110、逆量子化部112、逆変換部114、加算部116、ループフィルタ部120、イントラ予測部124、インター予測部126及び予測制御部128に対応する専用の1以上の電子回路として実現されてもよい。
以下に、符号化装置100に含まれる各構成要素について説明する。
[分割部]
分割部102は、入力動画像に含まれる各ピクチャを複数のブロックに分割し、各ブロックを減算部104に出力する。例えば、分割部102は、まず、ピクチャを固定サイズ(例えば128x128)のブロックに分割する。この固定サイズのブロックは、符号化ツリーユニット(CTU)と呼ばれることがある。そして、分割部102は、再帰的な四分木(quadtree)及び/又は二分木(binary tree)ブロック分割に基づいて、固定サイズのブロックの各々を可変サイズ(例えば64x64以下)のブロックに分割する。この可変サイズのブロックは、符号化ユニット(CU)、予測ユニット(PU)あるいは変換ユニット(TU)と呼ばれることがある。様々な処理例では、CU、PU及びTUは区別される必要はなく、ピクチャ内の一部又はすべてのブロックがCU、PU、TUの処理単位となってもよい。
図2は、実施の形態におけるブロック分割の一例を示す図である。図2において、実線は四分木ブロック分割によるブロック境界を表し、破線は二分木ブロック分割によるブロック境界を表す。
ここでは、ブロック10は、128x128画素の正方形ブロック(128x128ブロック)である。この128x128ブロック10は、まず、4つの正方形の64x64ブロックに分割される(四分木ブロック分割)。
左上の64x64ブロックは、さらに2つの矩形の32x64ブロックに垂直に分割され、左の32x64ブロックはさらに2つの矩形の16x64ブロックに垂直に分割される(二分木ブロック分割)。その結果、左上の64x64ブロックは、2つの16x64ブロック11、12と、32x64ブロック13とに分割される。
右上の64x64ブロックは、2つの矩形の64x32ブロック14、15に水平に分割される(二分木ブロック分割)。
左下の64x64ブロックは、4つの正方形の32x32ブロックに分割される(四分木ブロック分割)。4つの32x32ブロックのうち左上のブロック及び右下のブロックはさらに分割される。左上の32x32ブロックは、2つの矩形の16x32ブロックに垂直に分割され、右の16x32ブロックはさらに2つの16x16ブロックに水平に分割される(二分木ブロック分割)。右下の32x32ブロックは、2つの32x16ブロックに水平に分割される(二分木ブロック分割)。その結果、左下の64x64ブロックは、16x32ブロック16と、2つの16x16ブロック17、18と、2つの32x32ブロック19、20と、2つの32x16ブロック21、22とに分割される。
右下の64x64ブロック23は分割されない。
以上のように、図2では、ブロック10は、再帰的な四分木及び二分木ブロック分割に基づいて、13個の可変サイズのブロック11~23に分割される。このような分割は、QTBT(quad-tree plus binary tree)分割と呼ばれることがある。
図2では、1つのブロックが4つ又は2つのブロックに分割されていたが(四分木又は二分木ブロック分割)、分割はこれらに限定されない。例えば、1つのブロックが3つのブロックに分割されてもよい(三分木ブロック分割)。このような三分木ブロック分割を含む分割は、MBT(multi type tree)分割と呼ばれることがある。
[減算部]
減算部104は、分割部102から入力され、分割部102によって分割されたブロック単位で、原信号(原サンプル)から予測信号(以下に示す予測制御部128から入力される予測サンプル)を減算する。つまり、減算部104は、符号化対象ブロック(以下、カレントブロックという)の予測誤差(残差ともいう)を算出する。そして、減算部104は、算出された予測誤差(残差)を変換部106に出力する。
原信号は、符号化装置100の入力信号であり、動画像を構成する各ピクチャの画像を表す信号(例えば輝度(luma)信号及び2つの色差(chroma)信号)である。以下において、画像を表す信号をサンプルともいうこともある。
[変換部]
変換部106は、空間領域の予測誤差を周波数領域の変換係数に変換し、変換係数を量子化部108に出力する。具体的には、変換部106は、例えば空間領域の予測誤差に対して予め定められた離散コサイン変換(DCT)又は離散サイン変換(DST)を行う。
なお、変換部106は、複数の変換タイプの中から適応的に変換タイプを選択し、選択された変換タイプに対応する変換基底関数(transform basis function)を用いて、予測誤差を変換係数に変換してもよい。このような変換は、EMT(explicit multiple core transform)又はAMT(adaptive multiple transform)と呼ばれることがある。
複数の変換タイプは、例えば、DCT-II、DCT-V、DCT-VIII、DST-I及びDST-VIIを含む。図3は、各変換タイプに対応する変換基底関数を示す表である。図3においてNは入力画素の数を示す。これらの複数の変換タイプの中からの変換タイプの選択は、例えば、予測の種類(イントラ予測及びインター予測)に依存してもよいし、イントラ予測モードに依存してもよい。
このようなEMT又はAMTを適用するか否かを示す情報(例えば、EMTフラグまたはAMTフラグと呼ばれる)及び選択された変換タイプを示す情報は、通常、CUレベルで信号化される。なお、これらの情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、ビットシーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
また、変換部106は、変換係数(変換結果)を再変換してもよい。このような再変換は、AST(adaptive secondary transform)又はNSST(non-separable secondary transform)と呼ばれることがある。例えば、変換部106は、イントラ予測誤差に対応する変換係数のブロックに含まれるサブブロック(例えば4x4サブブロック)ごとに再変換を行う。NSSTを適用するか否かを示す情報及びNSSTに用いられる変換行列に関する情報は、通常、CUレベルで信号化される。なお、これらの情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
変換部106には、Separableな変換と、Non-Separableな変換とが適用されてもよい。Separableな変換とは、入力の次元の数だけ方向ごとに分離して複数回変換を行う方式であり、Non-Separableな変換とは、入力が多次元であった際に2つ以上の次元をまとめて1次元とみなして、まとめて変換を行う方式である。
例えば、Non-Separableな変換の一例として、入力が4×4のブロックであった場合にはそれを16個の要素を持ったひとつの配列とみなし、その配列に対して16×16の変換行列で変換処理を行うようなものが挙げられる。
また、Non-Separableな変換のさらなる例では、4×4の入力ブロックを16個の要素を持ったひとつの配列とみなした後に、その配列に対してGivens回転を複数回行うような変換(例えば、Hypercube Givens Transform)が行われてもよい。
[量子化部]
量子化部108は、変換部106から出力された変換係数を量子化する。具体的には、量子化部108は、カレントブロックの変換係数を所定の走査順序で走査し、走査された変換係数に対応する量子化パラメータ(QP)に基づいて当該変換係数を量子化する。そして、量子化部108は、カレントブロックの量子化された変換係数(以下、量子化係数という)をエントロピー符号化部110及び逆量子化部112に出力する。
所定の走査順序は、変換係数の量子化/逆量子化のための順序である。例えば、所定の走査順序は、周波数の昇順(低周波から高周波の順)又は降順(高周波から低周波の順)で定義される。
量子化パラメータ(QP)とは、量子化ステップ(量子化幅)を定義するパラメータである。例えば、量子化パラメータの値が増加すれば量子化ステップも増加する。つまり、量子化パラメータの値が増加すれば量子化誤差が増大する。
[エントロピー符号化部]
エントロピー符号化部110は、量子化部108から入力された量子化係数に基づいて符号化信号(符号化ビットストリーム)を生成する。具体的には、例えば、エントロピー符号化部110は、量子化係数を二値化し、二値信号を算術符号化し、圧縮されたビットストリームまたはシーケンスを出力する。
[逆量子化部]
逆量子化部112は、量子化部108から入力された量子化係数を逆量子化する。具体的には、逆量子化部112は、カレントブロックの量子化係数を所定の走査順序で逆量子化する。そして、逆量子化部112は、カレントブロックの逆量子化された変換係数を逆変換部114に出力する。
[逆変換部]
逆変換部114は、逆量子化部112から入力された変換係数を逆変換することにより予測誤差(残差)を復元する。具体的には、逆変換部114は、変換係数に対して、変換部106による変換に対応する逆変換を行うことにより、カレントブロックの予測誤差を復元する。そして、逆変換部114は、復元された予測誤差を加算部116に出力する。
なお、復元された予測誤差は、通常、量子化により情報が失われているので、減算部104が算出した予測誤差と一致しない。すなわち、復元された予測誤差には、通常、量子化誤差が含まれている。
[加算部]
加算部116は、逆変換部114から入力された予測誤差と予測制御部128から入力された予測サンプルとを加算することによりカレントブロックを再構成する。そして、加算部116は、再構成されたブロックをブロックメモリ118及びループフィルタ部120に出力する。再構成ブロックは、ローカル復号ブロックと呼ばれることもある。
[ブロックメモリ]
ブロックメモリ118は、イントラ予測で参照されるブロックであって符号化対象ピクチャ(「カレントピクチャ」という)内のブロックを格納するための記憶部である。具体的には、ブロックメモリ118は、加算部116から出力された再構成ブロックを格納する。
[ループフィルタ部]
ループフィルタ部120は、加算部116によって再構成されたブロックにループフィルタを施し、フィルタされた再構成ブロックをフレームメモリ122に出力する。ループフィルタとは、符号化ループ内で用いられるフィルタ(インループフィルタ)であり、例えば、デブロッキング・フィルタ(DF)、サンプルアダプティブオフセット(SAO)及びアダプティブループフィルタ(ALF)などを含む。
ALFでは、符号化歪みを除去するための最小二乗誤差フィルタが適用され、例えばカレントブロック内の2x2サブブロックごとに、局所的な勾配(gradient)の方向及び活性度(activity)に基づいて複数のフィルタの中から選択された1つのフィルタが適用される。
具体的には、まず、サブブロック(例えば2x2サブブロック)が複数のクラス(例えば15又は25クラス)に分類される。サブブロックの分類は、勾配の方向及び活性度に基づいて行われる。例えば、勾配の方向値D(例えば0~2又は0~4)と勾配の活性値A(例えば0~4)とを用いて分類値C(例えばC=5D+A)が算出される。そして、分類値Cに基づいて、サブブロックが複数のクラスに分類される。
勾配の方向値Dは、例えば、複数の方向(例えば水平、垂直及び2つの対角方向)の勾配を比較することにより導出される。また、勾配の活性値Aは、例えば、複数の方向の勾配を加算し、加算結果を量子化することにより導出される。
このような分類の結果に基づいて、複数のフィルタの中からサブブロックのためのフィルタが決定される。
ALFで用いられるフィルタの形状としては例えば円対称形状が利用される。図4A~図4Cは、ALFで用いられるフィルタの形状の複数の例を示す図である。図4Aは、5x5ダイヤモンド形状フィルタを示し、図4Bは、7x7ダイヤモンド形状フィルタを示し、図4Cは、9x9ダイヤモンド形状フィルタを示す。フィルタの形状を示す情報は、通常、ピクチャレベルで信号化される。なお、フィルタの形状を示す情報の信号化は、ピクチャレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、スライスレベル、タイルレベル、CTUレベル又はCUレベル)であってもよい。
ALFのオン/オフは、ピクチャレベル又はCUレベルで決定されてもよい。例えば、輝度についてはCUレベルでALFを適用するか否かが決定され、色差についてはピクチャレベルでALFを適用するか否かが決定されてもよい。ALFのオン/オフを示す情報は、通常、ピクチャレベル又はCUレベルで信号化される。なお、ALFのオン/オフを示す情報の信号化は、ピクチャレベル又はCUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
選択可能な複数のフィルタ(例えば15又は25までのフィルタ)の係数セットは、通常、ピクチャレベルで信号化される。なお、係数セットの信号化は、ピクチャレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、スライスレベル、タイルレベル、CTUレベル、CUレベル又はサブブロックレベル)であってもよい。
[フレームメモリ]
フレームメモリ122は、インター予測に用いられる参照ピクチャを格納するための記憶部であり、例えば、フレームバッファと呼ばれることもある。具体的には、フレームメモリ122は、ループフィルタ部120によってフィルタされた再構成ブロックを格納する。
[イントラ予測部]
イントラ予測部124は、ブロックメモリ118に格納されているようなカレントピクチャ内のブロックを参照してカレントブロックのイントラ予測(画面内予測ともいう)を行うことで、予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部124は、カレントブロックに隣接するブロックのサンプル(例えば輝度値、色差値)を参照してイントラ予測を行うことでイントラ予測信号を生成し、イントラ予測信号を予測制御部128に出力する。
例えば、イントラ予測部124は、予め規定された複数のイントラ予測モードのうちの1つを用いてイントラ予測を行う。複数のイントラ予測モードは、通常、1以上の非方向性予測モードと、複数の方向性予測モードと、を含む。
1以上の非方向性予測モードは、例えばH.265/HEVC規格で規定されたPlanar予測モード及びDC予測モードを含む。
複数の方向性予測モードは、例えばH.265/HEVC規格で規定された33方向の予測モードを含む。なお、複数の方向性予測モードは、33方向に加えてさらに32方向の予測モード(合計で65個の方向性予測モード)を含んでもよい。
図5Aは、イントラ予測において用いられ得る全67個のイントラ予測モード(2個の非方向性予測モード及び65個の方向性予測モード)を示す概念図である。実線矢印は、H.265/HEVC規格で規定された33方向を表し、破線矢印は、追加された32方向を表す(2個の「非方向性」予測モードは図5Aには図示されていない)。
様々な処理例では、色差ブロックのイントラ予測において、輝度ブロックが参照されてもよい。つまり、カレントブロックの輝度成分に基づいて、カレントブロックの色差成分が予測されてもよい。このイントラ予測は、CCLM(cross-component linear model)予測と呼ばれることがある。このような輝度ブロックを参照する色差ブロックのイントラ予測モード(例えばCCLMモードと呼ばれる)は、色差ブロックのイントラ予測モードの1つとして加えられてもよい。
イントラ予測部124は、水平/垂直方向の参照画素の勾配に基づいてイントラ予測後の画素値を補正してもよい。このような補正をともなうイントラ予測は、PDPC(position dependent intra prediction combination)と呼ばれることがある。PDPCの適用の有無を示す情報(例えばPDPCフラグと呼ばれる)は、通常、CUレベルで信号化される。なお、この情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル又はCTUレベル)であってもよい。
[インター予測部]
インター予測部126は、フレームメモリ122に格納された参照ピクチャであってカレントピクチャとは異なる参照ピクチャを参照してカレントブロックのインター予測(画面間予測ともいう)を行うことで、予測信号(インター予測信号)を生成する。インター予測は、カレントブロック又はカレントブロック内のカレントサブブロック(例えば4x4ブロック)の単位で行われる。例えば、インター予測部126は、カレントブロック又はカレントサブブロックについて参照ピクチャ内で動き探索(motion estimation)を行い、そのカレントブロック又はサブブロックに最も一致する参照ピクチャ内の参照ブロック又はサブブロックを見つける。そして、インター予測部126は、参照ブロック又はサブブロックからカレントブロック又はサブブロックへの動き又は変化を補償する(又は予測する)動き情報(例えば、動きベクトル)を取得する。そして、インター予測部126は、その動き情報に基づいて、動き補償(又は動き予測)を行い、カレントブロック又はサブブロックのインター予測信号を生成する。そして、インター予測部126は、生成されたインター予測信号を予測制御部128に出力する。
動き補償に用いられた動き情報は、多様な形態でインター予測信号として信号化されてもよい。例えば、動きベクトルが信号化されてもよい。他の例として、動きベクトルと予測動きベクトルとの差分が信号化されてもよい。
なお、動き探索により得られたカレントブロックの動き情報だけでなく、隣接ブロックの動き情報も用いて、インター予測信号が生成されてもよい。具体的には、(参照ピクチャにおける)動き探索により得られた動き情報に基づく予測信号と、(カレントピクチャにおける)隣接ブロックの動き情報に基づく予測信号と、を重み付け加算することにより、カレントブロック内のサブブロック単位でインター予測信号が生成されてもよい。このようなインター予測(動き補償)は、OBMC(overlapped block motion compensation)と呼ばれることがある。
OBMCモードでは、OBMCのためのサブブロックのサイズを示す情報(例えばOBMCブロックサイズと呼ばれる)は、シーケンスレベルで信号化されてもよい。また、OBMCモードを適用するか否かを示す情報(例えばOBMCフラグと呼ばれる)は、CUレベルで信号化されてもよい。なお、これらの情報の信号化のレベルは、シーケンスレベル及びCUレベルに限定される必要はなく、他のレベル(例えばピクチャレベル、スライスレベル、タイルレベル、CTUレベル又はサブブロックレベル)であってもよい。
OBMCモードについて、より具体的に説明する。図5B及び図5Cは、OBMC処理による予測画像補正処理を説明するフローチャート及び概念図である。
図5Cを参照すると、まず、符号化対象(カレント)ブロックに割り当てられた動きベクトル(MV)を用いて通常の動き補償による予測画像(Pred)を取得する。図5Cにおいて、矢印「MV」は参照ピクチャを指し、予測画像を得るためにカレントピクチャ内のカレントブロックが何を参照しているのかを示している。
次に、符号化済みの左隣接ブロックに対して既に導出された動きベクトル(MV_L)を符号化対象(カレント)ブロックに適用(再利用)して予測画像(Pred_L)を取得する。動きベクトル(MV_L)は、カレントブロックから参照ピクチャを指す矢印「MV_L」によって示される。そして、2つの予測画像PredとPred_Lとを重ね合わせることで予測画像の1回目の補正を行う。これは、隣接ブロック間の境界を混ぜ合わせる効果を有する。
同様に、符号化済みの上隣接ブロックに対して既に導出された動きベクトル(MV_U)を符号化対象(カレント)ブロックに適用(再利用)して予測画像(Pred_U)を取得する。動きベクトル(MV_U)は、カレントブロックから参照ピクチャを指す矢印「MV_U」によって示される。そして、予測画像Pred_Uを1回目の補正を行った予測画像(つまり、PredとPred_L)に重ね合わせることで予測画像の2回目の補正を行う。これは、一態様において、隣接ブロック間の境界を混ぜ合わせる効果を有する。2回目の補正によって得られた予測画像は、隣接ブロックとの境界が混ぜ合わされた(スムージングされた)、カレントブロックの最終的な予測画像である。
なお、ここでは左隣接ブロックと上隣接ブロックを用いた2段階の補正方法を説明したが、右隣接ブロックや下隣接ブロックを用いて2段階よりも多い回数の補正を行う構成とすることも可能である。
なお、重ね合わせを行う領域はブロック全体の画素領域ではなく、ブロック境界近傍の一部の領域のみであってもよい。
なお、ここでは1枚の参照ピクチャに基づいて、追加の予測画像Pred_LおよびPred_Uを重ね合せることで1枚の予測画像Predを得るためのOBMCの予測画像補正処理について説明した。しかし、複数の参照ピクチャに基づいて予測画像が補正される場合には、同様の処理が複数の参照ピクチャのそれぞれに適用されてもよい。このような場合、複数の参照ピクチャに基づくOBMCの画像補正を行うことによって、各々の参照ピクチャから、補正された予測画像を取得した後に、その取得された複数の補正予測画像をさらに重ね合わせることで最終的な予測画像を取得する。
なお、OBMCでは、対象ブロックの単位は、予測ブロック単位であっても、予測ブロックをさらに分割したサブブロック単位であってもよい。
OBMC処理を適用するかどうかの判定の方法として、例えば、OBMC処理を適用するかどうかを示す信号であるobmc_flagを用いる方法がある。具体的な一例としては、符号化装置において、符号化対象ブロックが動きの複雑な領域に属しているかどうかを判定し、動きの複雑な領域に属している場合はobmc_flagとして値「1」を設定してOBMC処理を適用して符号化を行い、動きの複雑な領域に属していない場合はobmc_flagとして値「0」を設定してOBMC処理を適用せずに符号化を行う。一方、復号装置では、ストリーム(つまり、圧縮シーケンス)に記述されたobmc_flagを復号することで、その値に応じてOBMC処理を適用するかどうかを切替えて復号を行う。
なお、動き情報は、符号化装置側から信号化されずに、復号装置側で導出されてもよい。例えば、H.265/HEVC規格で規定されたマージモードが用いられてもよい。また例えば、復号装置側で動き探索を行うことにより動き情報が導出されてもよい。この場合、復号装置側では、カレントブロックの画素値を用いずに動き探索が行われてもよい。
ここで、復号装置側で動き探索を行うモードについて説明する。この復号装置側で動き探索を行うモードは、PMMVD(pattern matched motion vector derivation)モード又はFRUC(frame rate up-conversion)モードと呼ばれることがある。
FRUC処理の一例を図5Dに示す。まず、カレントブロックに空間的又は時間的に隣接する符号化済みブロックの動きベクトルを参照して、各々が予測動きベクトル(MV)を有する複数の候補のリスト(マージリストと共通であってもよい)が生成される。次に、候補リストに登録されている複数の候補MVの中からベスト候補MVを選択する。例えば、候補リストに含まれる各候補MVの評価値が算出され、評価値に基づいて1つの候補MVが選択される。
そして、選択された候補の動きベクトルに基づいて、カレントブロックのための動きベクトルが導出される。具体的には、例えば、選択された候補の動きベクトル(ベスト候補MV)がそのままカレントブロックのための動きベクトルとして導出される。また例えば、選択された候補の動きベクトルに対応する参照ピクチャ内の位置の周辺領域において、パターンマッチングを行うことにより、カレントブロックのための動きベクトルが導出されてもよい。すなわち、ベスト候補MVの周辺の領域に対して、参照ピクチャにおけるパターンマッチングと評価値とを用いた探索を行い、さらに評価値が良い値となるMVがあった場合は、ベスト候補MVを前記MVに更新して、それをカレントブロックの最終的なMVとしてもよい。より良い評価値を有するMVへの更新を行う処理を実施しない構成とすることも可能である。
サブブロック単位で処理を行う場合も全く同様の処理としてもよい。
なお、評価値は、様々な方法で算出されてもよい。例えば、動きベクトルに対応する参照ピクチャ内の領域の再構成画像を、所定の領域(例えば、後述するように、他の参照ピクチャの領域、又は、カレントピクチャの隣接ブロックの領域であってもよい)の再構成画像とを比較し、2つの再構成画像の画素値の差分を算出して動きベクトルの評価値として用いてもよい。なお、差分値に加えてそれ以外の情報を用いて評価値を算出してもよい。
次に、パターンマッチングの例について詳細に説明する。まず、候補MVリスト(例えばマージリスト)に含まれる1つの候補MVを、パターンマッチングによる探索のスタートポイントとして選択する。例えば、パターンマッチングとしては、第1パターンマッチング又は第2パターンマッチングが用いられ得る。第1パターンマッチング及び第2パターンマッチングは、それぞれ、バイラテラルマッチング(bilateral matching)及びテンプレートマッチング(template matching)と呼ばれることがある。
第1パターンマッチングでは、異なる2つの参照ピクチャ内の2つのブロックであってカレントブロックの動き軌道(motion trajectory)に沿う2つのブロックの間でパターンマッチングが行われる。したがって、第1パターンマッチングでは、参照ピクチャ内の領域に対し、上述した候補の評価値の算出のための所定の領域として、カレントブロックの動き軌道に沿う他の参照ピクチャ内の領域が用いられる。
図6は、動き軌道に沿う2つの参照ピクチャにおける2つのブロック間での第1パターンマッチング(バイラテラルマッチング)の一例を説明するための図である。図6に示すように、第1パターンマッチングでは、カレントブロック(Cur block)の動き軌道に沿う2つのブロックであって異なる2つの参照ピクチャ(Ref0、Ref1)内の2つのブロックのペアの中で最もマッチするペアを探索することにより2つの動きベクトル(MV0、MV1)が導出される。具体的には、カレントブロックに対して、候補MVで指定された第1の符号化済み参照ピクチャ(Ref0)内の指定位置における再構成画像と、前記候補MVを表示時間間隔でスケーリングした対称MVで指定された第2の符号化済み参照ピクチャ(Ref1)内の指定位置における再構成画像との差分を導出し、得られた差分値を用いて評価値を算出する。複数の候補MVの中で最も評価値が良い値となる候補MVを最終MVとして選択することが可能であり、良い結果をもたらし得る。
連続的な動き軌道の仮定の下では、2つの参照ブロックを指し示す動きベクトル(MV0、MV1)は、カレントピクチャ(Cur Pic)と2つの参照ピクチャ(Ref0、Ref1)との間の時間的な距離(TD0、TD1)に対して比例する。例えば、カレントピクチャが時間的に2つの参照ピクチャの間に位置し、カレントピクチャから2つの参照ピクチャへの時間的な距離が等しい場合、第1パターンマッチングでは、2つの鏡映対称な双方向の動きベクトルが導出される。
第2パターンマッチング(テンプレートマッチング)では、カレントピクチャ内のテンプレート(カレントピクチャ内でカレントブロックに隣接するブロック(例えば上及び/又は左隣接ブロック))と参照ピクチャ内のブロックとの間でパターンマッチングが行われる。したがって、第2パターンマッチングでは、上述した候補の評価値の算出のための所定の領域として、カレントピクチャ内のカレントブロックに隣接するブロックが用いられる。
図7は、カレントピクチャ内のテンプレートと参照ピクチャ内のブロックとの間でのパターンマッチング(テンプレートマッチング)の一例を説明するための図である。図7に示すように、第2パターンマッチングでは、カレントピクチャ(Cur Pic)内でカレントブロック(Cur block)に隣接するブロックと最もマッチするブロックを参照ピクチャ(Ref0)内で探索することによりカレントブロックの動きベクトルが導出される。具体的には、カレントブロックに対して、左隣接および上隣接の両方もしくはどちらか一方の符号化済み領域の再構成画像と、候補MVで指定された符号化済み参照ピクチャ(Ref0)内の同等位置における再構成画像との差分を導出し、得られた差分値を用いて評価値を算出し、複数の候補MVの中で最も評価値が良い値となる候補MVをベスト候補MVとして選択することが可能である。
このようなFRUCモードを適用するか否かを示す情報(例えばFRUCフラグと呼ばれる)は、CUレベルで信号化されてもよい。また、FRUCモードが適用される場合(例えばFRUCフラグが真の場合)、パターンマッチングの方法(例えば、第1パターンマッチング又は第2パターンマッチング)を示す情報(例えばFRUCモードフラグと呼ばれる)がCUレベルで信号化されてもよい。なお、これらの情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル、CTUレベル又はサブブロックレベル)であってもよい。
次に、動きベクトルの導出方法を説明する。まず、等速直線運動を仮定したモデルに基づいて動きベクトルを導出するモードについて説明する。このモードは、BIO(bi-directional optical flow)モードと呼ばれることがある。
図8は、等速直線運動を仮定したモデルを説明するための図である。図8において、(vx,vy)は、速度ベクトルを示し、τ0、τ1は、それぞれ、カレントピクチャ(Cur Pic)と2つの参照ピクチャ(Ref0,Ref1)との間の時間的な距離を示す。(MVx0,MVy0)は、参照ピクチャRef0に対応する動きベクトルを示し、(MVx1、MVy1)は、参照ピクチャRef1に対応する動きベクトルを示す。
このとき速度ベクトル(vx,vy)の等速直線運動の仮定の下では、(MVx0,MVy0)及び(MVx1,MVy1)は、それぞれ、(vxτ0,vyτ0)及び(-vxτ1,-vyτ1)と表され、以下のオプティカルフロー等式(1)が成り立つ。
ここで、I(k)は、動き補償後の参照画像k(k=0,1)の輝度値を示す。このオプティカルフロー等式は、(i)輝度値の時間微分と、(ii)水平方向の速度及び参照画像の空間勾配の水平成分の積と、(iii)垂直方向の速度及び参照画像の空間勾配の垂直成分の積と、の和が、ゼロと等しいことを示す。このオプティカルフロー等式とエルミート補間(Hermite interpolation)との組み合わせに基づいて、マージリスト等から得られるブロック単位の動きベクトルが画素単位で補正されてもよい。
なお、等速直線運動を仮定したモデルに基づく動きベクトルの導出とは異なる方法で、復号装置側で動きベクトルが導出されてもよい。例えば、複数の隣接ブロックの動きベクトルに基づいてサブブロック単位で動きベクトルが導出されてもよい。
次に、複数の隣接ブロックの動きベクトルに基づいてサブブロック単位で動きベクトルを導出するモードについて説明する。このモードは、アフィン動き補償予測(affine motion compensation prediction)モードと呼ばれることがある。
図9Aは、複数の隣接ブロックの動きベクトルに基づくサブブロック単位の動きベクトルの導出を説明するための図である。図9Aにおいて、カレントブロックは、16の4x4サブブロックを含む。ここでは、隣接ブロックの動きベクトルに基づいてカレントブロックの左上角制御ポイントの動きベクトルv0が導出される。同様に、隣接サブブロックの動きベクトルに基づいてカレントブロックの右上角制御ポイントの動きベクトルv1が導出される。そして、2つの動きベクトルv0及びv1を用いて、以下の式(2)により、カレントブロック内の各サブブロックの動きベクトル(vx,vy)が導出される。
ここで、x及びyは、それぞれ、サブブロックの水平位置及び垂直位置を示し、wは、予め定められた重み係数を示す。
このアフィン動き補償予測モードでは、左上及び右上角制御ポイントの動きベクトルの導出方法が異なるいくつかのモードを含んでもよい。このアフィン動き補償予測モードを示す情報(例えばアフィンフラグと呼ばれる)は、CUレベルで信号化されてもよい。なお、このアフィン動き補償予測モードを示す情報の信号化は、CUレベルに限定される必要はなく、他のレベル(例えば、シーケンスレベル、ピクチャレベル、スライスレベル、タイルレベル、CTUレベル又はサブブロックレベル)であってもよい。
[予測制御部]
予測制御部128は、(イントラ予測部124から出力される信号)イントラ予測信号及び(インター予測部126から出力される信号)インター予測信号のいずれかを選択し、選択した信号を予測信号として減算部104及び加算部116に出力する。
図1に示すように、種々の処理例では、予測制御部128は、エントロピー符号化部110に入力される予測パラメータを出力してもよい。エントロピー符号化部110は、予測制御部128から入力されるその予測パラメータ、量子化部108から入力される量子化係数に基づいて、符号化ビットストリーム(またはシーケンス)を生成してもよい。予測パラメータは復号装置に使用されてもよい。復号装置は、符号化ビットストリームを受信して復号し、イントラ予測部124、インター予測部126および予測制御部128において行われる予測処理と同じ処理を行ってもよい。予測パラメータは、選択予測信号(例えば、動きベクトル、予測タイプ、または、イントラ予測部124またはインター予測部126で用いられた予測モード)、または、イントラ予測部124、インター予測部126および予測制御部128において行われる予測処理に基づく、あるいはその予測処理を示す、任意のインデックス、フラグ、もしくは値を含んでいてもよい。
図9Bは、マージモードでカレントピクチャの動きベクトルを導出する処理の一例を示している。
まず、予測MVの候補を登録した予測MVリストを生成する。予測MVの候補としては、対象ブロックの空間的に周辺に位置する複数の符号化済みブロックが持つMVである空間隣接予測MV、符号化済み参照ピクチャにおける対象ブロックの位置を投影した近辺のブロックが持つMVである時間隣接予測MV、空間隣接予測MVと時間隣接予測MVのMV値を組み合わせて生成したMVである結合予測MV、および値がゼロのMVであるゼロ予測MV等がある。
次に、予測MVリストに登録されている複数の予測MVの中から1つの予測MVを選択することで、対象ブロックのMVとして決定する。
さらに、可変長符号化部では、どの予測MVを選択したかを示す信号であるmerge_idxをストリームに記述して符号化する。
なお、図9Bで説明した予測MVリストに登録する予測MVは一例であり、図中の個数とは異なる個数であったり、図中の予測MVの一部の種類を含まない構成であったり、図中の予測MVの種類以外の予測MVを追加した構成であったりしてもよい。
マージモードにより導出した対象ブロックのMVを用いて、後述するDMVR(decoder motion vector refinement)処理を行うことによって最終的なMVを決定してもよい。
図9Cは、MVを決定するためのDMVR処理の一例を説明するための概念図である。
まず、(例えばマージモードにおいて)カレントブロックに設定された最適MVPを、候補MVとする。そして、候補MV(L0)に従って、L0方向の符号化済みピクチャである第1参照ピクチャ(L0)から参照画素を特定する。同様に、候補MV(L1)に従って、L1方向の符号化済みピクチャである第2参照ピクチャ(L1)から参照画素を特定する。これらの参照画素の平均をとることでテンプレートを生成する。
次に、前記テンプレートを用いて、第1参照ピクチャ(L0)および第2参照ピクチャ(L1)の候補MVの周辺領域をそれぞれ探索し、コストが最小となるMVを最終的なMVとして決定する。なお、コスト値は、例えば、テンプレートの各画素値と探索領域の各画素値との差分値および候補MV値等を用いて算出してもよい。
なお、典型的には、符号化装置と、後述の復号化装置とでは、ここで説明した処理の構成および動作は基本的に共通である。
ここで説明した処理例そのものでなくても、候補MVの周辺を探索して最終的なMVを導出することができる処理であれば、どのような処理を用いてもよい。
次に、LIC(local illumination compensation)処理を用いて予測画像(予測)を生成するモードの一例について説明する。
図9Dは、LIC処理による輝度補正処理を用いた予測画像生成方法の一例を説明するための概念図である。
まず、符号化済みの参照ピクチャからMVを導出して、カレントブロックに対応する参照画像を取得する。
次に、カレントブロックに対して、参照ピクチャとカレントピクチャとで輝度値がどのように変化したかを示す情報を抽出する。この抽出は、カレントピクチャにおける符号化済み左隣接参照領域(周辺参照領域)および符号化済み上隣参照領域(周辺参照領域)の輝度画素値と、導出されたMVで指定された参照ピクチャ内の同等位置における輝度画素値とに基づいて行われる。そして、輝度値がどのように変化したかを示す情報を用いて、輝度補正パラメータを算出する。
MVで指定された参照ピクチャ内の参照画像に対して前記輝度補正パラメータを適用する輝度補正処理を行うことで、カレントブロックに対する予測画像を生成する。
なお、図9Dにおける前記周辺参照領域の形状は一例であり、これ以外の形状を用いてもよい。
また、ここでは1枚の参照ピクチャから予測画像を生成する処理について説明したが、複数枚の参照ピクチャから予測画像を生成する場合も同様であり、各々の参照ピクチャから取得した参照画像に、上述と同様の方法で輝度補正処理を行ってから予測画像を生成してもよい。
LIC処理を適用するかどうかの判定の方法として、例えば、LIC処理を適用するかどうかを示す信号であるlic_flagを用いる方法がある。具体的な一例としては、符号化装置において、カレントブロックが、輝度変化が発生している領域に属しているかどうかを判定し、輝度変化が発生している領域に属している場合はlic_flagとして値「1」を設定してLIC処理を適用して符号化を行い、輝度変化が発生している領域に属していない場合はlic_flagとして値「0」を設定してLIC処理を適用せずに符号化を行う。一方、復号化装置では、ストリームに記述されたlic_flagを復号化することで、その値に応じてLIC処理を適用するかどうかを切替えて復号を行ってもよい。
LIC処理を適用するかどうかの判定の別の方法として、例えば、周辺ブロックでLIC処理を適用したかどうかに従って判定する方法もある。具体的な一例としては、カレントブロックがマージモードであった場合、マージモード処理におけるMVの導出の際に選択した周辺の符号化済みブロックがLIC処理を適用して符号化したかどうかを判定する。その結果に応じてLIC処理を適用するかどうかを切替えて符号化を行う。なお、この例の場合でも、同じ処理が復号装置側の処理に適用される。
[復号装置の概要]
次に、上記の符号化装置100から出力された符号化信号(符号化ビットストリーム)を復号可能な復号装置の概要について説明する。図10は、実施の形態に係る復号装置200の機能構成を示すブロック図である。復号装置200は、動画像をブロック単位で復号する動画像復号装置である。
図10に示すように、復号装置200は、エントロピー復号部202と、逆量子化部204と、逆変換部206と、加算部208と、ブロックメモリ210と、ループフィルタ部212と、フレームメモリ214と、イントラ予測部216と、インター予測部218と、予測制御部220と、を備える。
復号装置200は、例えば、汎用プロセッサ及びメモリにより実現される。この場合、メモリに格納されたソフトウェアプログラムがプロセッサにより実行されたときに、プロセッサは、エントロピー復号部202、逆量子化部204、逆変換部206、加算部208、ループフィルタ部212、イントラ予測部216、インター予測部218及び予測制御部220として機能する。また、復号装置200は、エントロピー復号部202、逆量子化部204、逆変換部206、加算部208、ループフィルタ部212、イントラ予測部216、インター予測部218及び予測制御部220に対応する専用の1以上の電子回路として実現されてもよい。
以下に、復号装置200に含まれる各構成要素について説明する。
[エントロピー復号部]
エントロピー復号部202は、符号化ビットストリームをエントロピー復号する。具体的には、エントロピー復号部202は、例えば、符号化ビットストリームから二値信号に算術復号する。そして、エントロピー復号部202は、二値信号を多値化(debinarize)する。エントロピー復号部202は、ブロック単位で量子化係数を逆量子化部204に出力する。エントロピー復号部202は、実施の形態におけるイントラ予測部216、インター予測部218および予測制御部220に、符号化ビットストリーム(図1参照)に含まれている予測パラメータを出力してもよい。イントラ予測部216、インター予測部218および予測制御部220は、符号化装置側におけるイントラ予測部124、インター予測部126および予測制御部128で行われる処理と同じ予測処理を実行することができる。
[逆量子化部]
逆量子化部204は、エントロピー復号部202から入力された復号対象ブロック(以下、カレントブロックという)の量子化係数を逆量子化する。具体的には、逆量子化部204は、カレントブロックの量子化係数の各々について、当該量子化係数に対応する量子化パラメータに基づいて当該量子化係数を逆量子化する。そして、逆量子化部204は、カレントブロックの逆量子化された量子化係数(つまり変換係数)を逆変換部206に出力する。
[逆変換部]
逆変換部206は、逆量子化部204から入力された変換係数を逆変換することにより予測誤差(残差)を復元する。
例えば符号化ビットストリームから読み解かれた情報がEMT又はAMTを適用することを示す場合(例えばAMTフラグが真)、逆変換部206は、読み解かれた変換タイプを示す情報に基づいてカレントブロックの変換係数を逆変換する。
また例えば、符号化ビットストリームから読み解かれた情報がNSSTを適用することを示す場合、逆変換部206は、変換係数に逆再変換を適用する。
[加算部]
加算部208は、逆変換部206から入力された予測誤差と予測制御部220から入力された予測サンプルとを加算することによりカレントブロックを再構成する。そして、加算部208は、再構成されたブロックをブロックメモリ210及びループフィルタ部212に出力する。
[ブロックメモリ]
ブロックメモリ210は、イントラ予測で参照されるブロックであって復号対象ピクチャ(以下、カレントピクチャという)内のブロックを格納するための記憶部である。具体的には、ブロックメモリ210は、加算部208から出力された再構成ブロックを格納する。
[ループフィルタ部]
ループフィルタ部212は、加算部208によって再構成されたブロックにループフィルタを施し、フィルタされた再構成ブロックをフレームメモリ214及び表示装置等に出力する。
符号化ビットストリームから読み解かれたALFのオン/オフを示す情報がALFのオンを示す場合、局所的な勾配の方向及び活性度に基づいて複数のフィルタの中から1つのフィルタが選択され、選択されたフィルタが再構成ブロックに適用される。
[フレームメモリ]
フレームメモリ214は、インター予測に用いられる参照ピクチャを格納するための記憶部であり、フレームバッファと呼ばれることもある。具体的には、フレームメモリ214は、ループフィルタ部212によってフィルタされた再構成ブロックを格納する。
[イントラ予測部]
イントラ予測部216は、符号化ビットストリームから読み解かれたイントラ予測モードに基づいて、ブロックメモリ210に格納されたカレントピクチャ内のブロックを参照してイントラ予測を行うことで、予測信号(イントラ予測信号)を生成する。具体的には、イントラ予測部216は、カレントブロックに隣接するブロックのサンプル(例えば輝度値、色差値)を参照してイントラ予測を行うことでイントラ予測信号を生成し、イントラ予測信号を予測制御部220に出力する。
なお、色差ブロックのイントラ予測において輝度ブロックを参照するイントラ予測モードが選択されている場合は、イントラ予測部216は、カレントブロックの輝度成分に基づいて、カレントブロックの色差成分を予測してもよい。
また、符号化ビットストリーム(例えば、エントロピー復号部202から出力される予測パラメータ)から読み解かれた情報がPDPCの適用を示す場合、イントラ予測部216は、水平/垂直方向の参照画素の勾配に基づいてイントラ予測後の画素値を補正する。
[インター予測部]
インター予測部218は、フレームメモリ214に格納された参照ピクチャを参照して、カレントブロックを予測する。予測は、カレントブロック又はカレントブロック内のサブブロック(例えば4x4ブロック)の単位で行われる。例えば、インター予測部218は、符号化ビットストリーム(例えば、エントロピー復号部202から出力される予測パラメータ)から読み解かれた動き情報(例えば動きベクトル)を用いて動き補償を行うことでカレントブロック又はサブブロックのインター予測信号を生成し、インター予測信号を予測制御部220に出力する。
符号化ビットストリームから読み解かれた情報がOBMCモードを適用することを示す場合、インター予測部218は、動き探索により得られたカレントブロックの動き情報だけでなく、隣接ブロックの動き情報も用いて、インター予測信号を生成する。
また、符号化ビットストリームから読み解かれた情報がFRUCモードを適用することを示す場合、インター予測部218は、符号化ストリームから読み解かれたパターンマッチングの方法(バイラテラルマッチング又はテンプレートマッチング)に従って動き探索を行うことにより動き情報を導出する。そして、インター予測部218は、導出された動き情報を用いて動き補償(予測)を行う。
また、インター予測部218は、BIOモードが適用される場合に、等速直線運動を仮定したモデルに基づいて動きベクトルを導出する。また、符号化ビットストリームから読み解かれた情報がアフィン動き補償予測モードを適用することを示す場合には、インター予測部218は、複数の隣接ブロックの動きベクトルに基づいてサブブロック単位で動きベクトルを導出する。
[予測制御部]
予測制御部220は、イントラ予測信号及びインター予測信号のいずれかを選択し、選択した信号を予測信号として加算部208に出力する。全体的に、復号装置側の予測制御部220、イントラ予測部216およびインター予測部218の構成、機能、および処理は、符号化装置側の予測制御部128、イントラ予測部124およびインター予測部126の構成、機能、および処理と対応していてもよい。
[非矩形分割]
符号化装置(図1参照)のイントラ予測部124及びインター予測部126に接続された予測制御部128においても、復号装置(図10参照)のイントラ予測部216及びインター予測部218に接続された予測制御部220においても、従来、各ブロックの分割から得られ、動き情報(例えば複数の動きベクトル)が得られる複数のパーティション(又は、複数の可変サイズブロック、又は、複数のサブブロック)は、図2に示されるように、常に矩形である。発明者らは、三角形形状のような非矩形形状を有する複数のパーティションを生成することが、様々な実施において、ピクチャにおける画像の内容に応じて、画質及び符号化効率の改善を導くことを発見した。以下、予測の目的で画像ブロックから分割される少なくとも1つのパーティションが非矩形形状を有する様々な実施の形態が述べられる。なお、これらの実施の形態は、符号化装置側(イントラ予測部124及びインター予測部126に接続された予測制御部128)に対して、及び、復号装置側(イントラ予測部216及びインター予測部218に接続された予測制御部220)に対して、等しく適用可能であり、図1の符号化装置等に、又は、図10の復号装置等に、実装されてもよい。
図11は、非矩形形状(例えば三角形)を有する少なくとも第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割し、さらに、第1パーティションと第2パーティションとの再構成された組み合わせとして画像ブロックを符号化(又は復号)する処理を行う処理の一例を示すフローチャートである。
ステップS1001で、画像ブロックは、非矩形形状を有する第1パーティション、及び、非矩形形状を有しても有さなくてもよい第2パーティションを含む複数のパーティションに分割される。例えば、図12に示されるように、画像ブロックは、共に非矩形形状(例えば三角形)を有する第1パーティション及び第2パーティションを作成するため、画像ブロックの左上角から画像ブロックの右下角へ分割されてもよい。あるいは、画像ブロックは、共に非矩形形状(例えば三角形)を有する第1パーティション及び第2パーティションを作成するため、画像ブロックの右上角から画像ブロックの左下角へ分割されてもよい。図12及び図17~図19を参照して、後に、非矩形の分割の様々な例が述べられる。
ステップS1002において、処理は、第1パーティションについて第1動きベクトルを予測し、第2パーティションについて第2動きベクトルを予測する。例えば、第1動きベクトル及び第2動きベクトルを予測することは、第1動きベクトル候補セットから第1動きベクトルを選択すること、及び、第2動きベクトル候補セットから第2動きベクトルを選択することを含んでいてもよい。
ステップS1003において、上記のステップS1002で導出された第1動きベクトルを用いて第1パーティションを取得し、上記のステップS1002で導出された第2動きベクトルを用いて第2パーティションを取得するため、動き補償処理が行われる。
ステップS1004において、第1パーティションと第2パーティションとの(再構成された)組み合わせとして画像ブロックについて予測処理が行われる。予測処理は、第1パーティションと第2パーティションとの間の境界を滑らかにするための境界平滑化処理を含む。例えば、境界平滑化処理は、第1パーティションに基づいて予測される、複数の境界画素の複数の第1値と、第2パーティションに基づいて予測される、複数の境界画素の複数の第2値とを重み付けすることを伴う。境界平滑化処理の様々な実装が、図13、図14、図20及び図21A~図21Dを参照して後に述べられる。
ステップS1005において、処理は、非矩形形状を有する第1パーティション、及び、第2パーティションに画像ブロックを分割することを示すパーティションパラメータを含む1つ以上のパラメータを用いて画像ブロックを符号化又は復号する。図15の表に集約されるように、例えば、パーティションパラメータ(「第1インデックス値」)は、例えば、(例えば図12に示されるように左上から右下へ又は右上から左下への)分割に適用される分割方向と、上述されたステップS1002で導出された第1動きベクトル及び第2動きベクトルとを一体として符号化してもよい。パーティションパラメータを含む1つ以上のパラメータを伴うこのようなパーティションシンタックス動作の詳細は、図15、図16及び図22~図25を参照して、後に詳細に述べられる。
図17は、画像ブロックを分割する処理2000を示すフローチャートである。ステップS2001において、処理は、非矩形形状を有する第1パーティション、及び、非矩形形状を有しても有さなくてもよい第2パーティションを含む複数のパーティションに画像を分割する。図12に示されるように、画像ブロックは、三角形形状を有する第1パーティション、及び、同じく三角形形状を有する第2パーティションに分割される。少なくとも第1パーティションが非矩形形状を有する、第1パーティション及び第2パーティションを含む複数のパーティションに画像ブロックが分割される多数の他の例がある。非矩形形状は、三角形であってもよいし、台形であってもよいし、少なくとも5つの辺と角とを有する多角形であってもよい。
例えば、図18に示されるように、画像ブロックは、2つの三角形形状パーティションに分割されてもよい。画像ブロックは、2つの三角形形状パーティションよりも多く(例えば3つの三角形形状パーティション)に分割されてもよい。画像ブロックは、1つ又は複数の三角形形状パーティションと、1つ又は複数の矩形形状パーティションとの組み合わせに分割されてもよい。あるいは、画像ブロックは、1つ又は複数の三角形形状パーティションと、1つ又は複数の多角形形状パーティションとの組み合わせに分割されてもよい。
さらに図19に示されるように、画像ブロックは、L形状(多角形形状)パーティションと、矩形形状パーティションとに分割されてもよい。画像ブロックは、五角形(多角形)形状パーティションと、三角形形状パーティションとに分割されてもよい。画像ブロックは、六角形(多角形)形状パーティションと、五角形(多角形)形状パーティションとに分割されてもよい。あるいは、画像ブロックは、複数の多角形形状パーティションに分割されてもよい。
図17を再び参照し、ステップS2002において、処理は、第1パーティションについて、例えば第1動きベクトル候補セットから第1パーティションを選択することによって、第1動きベクトルを予測し、第2パーティションについて、例えば第2動きベクトル候補セットから第2パーティションを選択することによって、第2動きベクトルを予測する。例えば、第1動きベクトル候補セットは、第1パーティションに隣接する複数のパーティションの複数の動きベクトルを含んでいてもよく、第2動きベクトル候補セットは、第2パーティションに隣接する複数のパーティションの複数の動きベクトルを含んでいてもよい。隣接する複数のパーティションは、空間的に隣接する複数のパーティションと、時間的に隣接する複数のパーティションとの一方又は両方であってもよい。空間的に隣接する複数のパーティションのいくつかの例は、処理されるパーティションの左、左下、下、右下、右、右上、上又は左上に位置するパーティションを含む。時間的に隣接する複数のパーティションの複数の例は、画像ブロックの複数の参照ピクチャにおける複数のco-locatedパーティションを含む。
様々な実装において、第1パーティションに隣接する複数のパーティション、及び、第2パーティションに隣接する複数のパーティションは、第1パーティション及び第2パーティションに分割される画像ブロックの外部であってもよい。第1動きベクトル候補セットは、第2動きベクトル候補セットと、同じであってもよいし、異なっていてもよい。さらに、第1動きベクトル候補セット、及び、第2動きベクトル候補セットの少なくとも1つは、画像ブロックについて準備された他の第3動きベクトル候補セットと同じであってもよい。
いくつかの実装では、ステップS2002において、第1パーティションと同様に第2パーティションも非矩形形状(例えば三角形)を有するとの判定に応じて、処理2000は、第1パーティションを除く(つまり第1パーティションの動きベクトルを除く)、第2パーティションに隣接する複数のパーティションの複数の動きベクトルを含む第2動きベクトル候補セットを(非矩形形状第2パーティションについて)作成する。一方、第1パーティションと同様でなく第2パーティションが矩形形状を有するとの判定に応じて、処理2000は、第1パーティションを含む、第2パーティションに隣接する複数のパーティションの複数の動きベクトルを含む第2動きベクトル候補セットを(矩形形状第2パーティションについて)作成する。
ステップS2003において、処理は、上述されたステップS2002で導出された第1動きベクトルを用いて第1パーティションを符号化又は復号し、上述されたステップS2002で導出された第2動きベクトルを用いて第2パーティションを符号化又は復号する。
図17の処理2000のような画像ブロック分割処理は、例えば図1に示されたような回路及び回路に接続されたメモリを含む画像符号化装置によって行われてもよい。回路は、動作において、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割すること(ステップS2001)、第1パーティションについて第1動きベクトル、及び、第2パーティションについて第2動きベクトルを予測すること(ステップS2002)、第1動きベクトルを用いて第1パーティションを、及び、第2動きベクトルを用いて第2パーティションを符号化すること(ステップS2003)を行う。
他の実施の形態に従って、図1に示されたような、画像符号化装置は、動作において原画像を受信し複数のブロックに分割する分割部102、動作において分割部から複数のブロック、及び、予測制御部128から複数の予測を受信し、各予測をその対応ブロックから減算して、残差を出力する加算部104、動作において加算部104から出力された複数の残差に変換を行って複数の変換係数を出力する変換部106、動作において複数の変換係数を量子化して複数の量子化変換係数を生成する量子化部108、動作において複数の量子化変換係数を符号化してビットストリームを生成するエントロピー符号化部110、及び、動作において符号化済み参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部126と、動作においてカレントピクチャにおける符号化済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部124と、メモリ118、122とに接続された予測制御部128を含んで、提供される。予測制御部128は、動作において、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに複数のブロックを分割し(図17、ステップS2001)、第1パーティションについて第1動きベクトル、及び、第2パーティションについて第2動きベクトルを予測し(ステップS2002)、第1動きベクトルを用いて第1パーティションを、及び、第2動きベクトルを用いて第2パーティションを符号化する(ステップS2003)。
他の実施の形態に従って、例えば図10に示されるような回路及び回路に接続されたメモリを含む画像復号装置が提供される。回路は、動作において、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割すること(図17、ステップS2001)と、第1パーティションについて第1動きベクトル、及び、第2パーティションについて第2動きベクトルを予測すること(ステップS2002)と、第1動きベクトルを用いて第1パーティションを、及び、第2動きベクトルを用いて第2パーティションを復号すること(ステップS2003)とを行う。
さらに実施の形態に従って、図10に示された画像復号装置は、動作において符号化ビットストリームを受信し復号して複数の量子化変換係数を取得するエントロピー復号部202、動作において、複数の量子化変換係数を逆量子化して複数の変換係数を取得し、複数の変換係数を逆変換して複数の残差を取得する逆量子化部204及び逆変換部206、動作において、逆量子化部204及び逆変換部206から出力された複数の残差と、予測制御部220から出力された複数の予測とを加算して複数のブロックを再構成する加算部208、及び、動作において復号済みの参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部218と、動作においてカレントピクチャにおける復号済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部216と、メモリ210、214とに接続された予測制御部220を含んで、提供される。予測制御部220は、動作において、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割し(図17、ステップS2001)、第1パーティションについて第1動きベクトル、及び、第2パーティションについて第2動きベクトルを予測し(ステップS2002)、第1動きベクトルを用いて第1パーティションを、及び、第2動きベクトルを用いて第2パーティションを復号する(ステップS2003)。
[境界平滑化]
図11、ステップS1004において上述されたように、様々な実施の形態に従って、非矩形形状を有する第1パーティションと、第2パーティションとの(再構成された)組み合わせとして画像ブロックについて予測処理を行うことは、第1パーティションと第2パーティションとの間の境界に沿う境界平滑化処理の適用を伴ってもよい。
例えば、図21Bは、第1パーティションに基づいて第1予測された複数の境界画素の複数の第1値と、第2パーティションに基づいて第2予測された複数の境界画素の複数の第2値とを重み付けすることを伴う境界平滑化処理の一例を示す。
図20は、一実施形態に従って、第1パーティションに基づいて第1予測された複数の境界画素の複数の第1値と、第2パーティションに基づいて第2予測された複数の境界画素の複数の第2値とを重み付けすることを伴う全体の境界平滑化処理3000を示すフローチャートである。ステップS3001において、図21A、又は、上述された図12、図18及び図19に示されたように、画像ブロックは、少なくとも第1パーティションが非矩形形状を有する、第1パーティション及び第2パーティションに、境界に沿って分割される。
ステップS3002において、境界に沿う、第1パーティションの画素セット(図21Aにおける「複数の境界画素」)の複数の第1値(例えば色、輝度、透明性等)は、第1パーティションの情報を用いて、第1予測される。ステップS3003において、境界に沿う、第1パーティションの(同じ)画素セットの複数の第2値は、第2パーティションの情報を用いて第2予測される。いくつかの実施の形態において、第1予測及び第2予測の少なくとも1つが、符号化済み参照ピクチャにおける参照パーティションに基づいて複数の第1値及び複数の第2値を予測するインター予測処理である。図21Dを参照して、いくつか実装では、予測処理は、第1パーティション及び第2パーティションが重なる画素セットを含む第1パーティション(「第1サンプルセット」)の全ての画素の複数の第1値を予測し、第1パーティションと第2パーティションとが重なる画素セット(「第2サンプルセット」)のみの第2値を予測する。他の実装において、第1予測及び第2予測の少なくとも1つは、カレントピクチャにおける符号化済み参照パーティションに基づいて複数の第1値及び複数の第2値を予測するイントラ予測処理である。いくつかの実装において、第1予測に用いられる予測方法は、第2予測に用いられる予測方法とは異なる。例えば、第1予測は、インター予測処理を含んでいてもよいし、第2予測は、イントラ予測処理を含んでいてもよい。複数の第1値の第1予測、又は、複数の第2値の第2予測に用いられる情報は、第1パーティション又は第2パーティションの複数の動きベクトル、複数のイントラ予測方向等であってもよい。
ステップS3004において、第1パーティションを用いて予測される複数の第1値、及び、第2パーティションを用いて予測される複数の第2値は、重み付けされる。ステップS3005において、第1パーティションは、重み付けされた複数の第1値及び複数の第2値を用いて符号化又は復号される。
図21Bは、第1パーティション及び第2パーティションが各行又は各行の(最大)5画素で重なる境界平滑化動作の例を示す。すなわち、複数の第1値が第1パーティションに基づいて予測され、複数の第2値が第2パーティションに基づいて予測される各行又は各列の画素セットの数は、最大で5つである。図21Cは、第1パーティション及び第2パーティションが各行又は各列の(最大)3画素で重なる境界平滑化動作の他の例を示す。すなわち、複数の第1値が第1パーティションに基づいて予測され、複数の第2値が第2パーティションに基づいて予測される各行又は各列の画素セットの数は、最大で3つである。
図13は、第1パーティション及び第2パーティションが各行又は各列の(最大)4画素で重なる境界平滑化動作の他の例を示す。すなわち、複数の第1値が第1パーティションに基づいて予測され、複数の第2値が第2パーティションに基づいて予測される各行又は各列の画素セットの数は、最大で4つである。示された例において、1/8、1/4、3/4及び7/8の複数の重みが、それぞれ、セットにおける4つの画素の複数の第1値に、7/8、3/4、1/4及び1/8の複数の重みが、それぞれ、セットにおける4つの画素の複数の第2値に、適用されてもよい。
図14は、さらに、第1パーティション及び第2パーティションが各行又は各列の0画素で重なる(つまりそれらが重ならい)、各行又は各列の(最大)1画素で重なる、及び、各行又は各列の(最大)2画素で重なる境界平滑化動作の複数の例を示す。第1パーティション及び第2パーティションが重ならない例において、複数のゼロ重みが適用される。第1パーティション及び第2パーティションが各行又は各列の1画素で重なる例において、第1パーティションに基づいて予測されるセットにおける複数の画素の複数の第1値に1/2の重みが適用されてもよく、第2パーティションに基づいて予測されるセットにおける複数の画素の複数の第2値に1/2の重みが適用されてもよい。第1パーティション及び第2パーティションが各行又は各列の2画素で重なる例において、第1パーティションに基づいて予測されるセットにおける2つの画素の複数の第1値に、それぞれ、1/3及び2/3の重みが適用されてもよく、第2パーティションに基づいて予測されるセットにおける2つの画素の複数の第2値に、それぞれ、2/3及び1/3の重みが適用されてもよい。
上述された複数の実施の形態に従って、第1パーティション及び第2パーティションが重なるセットにおける複数の画素の数は整数である。他の複数の実装において、セットにおいて重なる画素の数は、例えば、非整数であってもよいし、分数であってもよい。画素セットの複数の第1値及び複数の第2値に適用される複数の重みも、各適用に応じて、分数又は整数であってもよい。
図20の処理3000のような境界平滑化処理は、例えば図1に示されたような回路及び回路に接続されたメモリを含む画像符号化装置によって行われてもよい。回路は、動作において、画像ブロックから分割される、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿って境界平滑化動作を行う(図20、ステップS3001)。境界平滑化動作は、境界に沿う、第1パーティションの画素セットの複数の第1値を第1パーティションの情報を用いて予測すること(ステップS3002)と、境界に沿う、第1パーティションの画素セットの複数の第2値を第2パーティションの情報を用いて第2予測すること(ステップS3003)と、複数の第1値及び複数の第2値を重み付けすること(ステップS3004)と、重み付けされた複数の第1値、及び、重み付けされた複数の第2値を用いて、第1パーティションを符号化すること(ステップS3005)とを含む。
他の実施の形態に従って、図1に示されたような、画像符号化装置は、動作において原画像を受信し複数のブロックに分割する分割部102、動作において分割部から複数のブロック、及び、予測制御部128から複数の予測を受信し、各予測をその対応ブロックから減算して、残差を出力する加算部104、動作において加算部104から出力された複数の残差に変換を行って複数の変換係数を出力する変換部106、動作において複数の変換係数を量子化して複数の量子化変換係数を生成する量子化部108、動作において複数の量子化変換係数を符号化してビットストリームを生成するエントロピー符号化部110、及び、動作において符号化済み参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部126と、動作においてカレントピクチャにおける符号化済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部124と、メモリ118、122とに接続された予測制御部128を含んで、提供される。予測制御部128は、動作において、画像ブロックから分割される、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿って境界平滑化動作を行う(図20、ステップS3001)。境界平滑化動作は、境界に沿う、第1パーティションの画素セットの複数の第1値を、第1パーティションの情報を用いて第1予測すること(ステップS3002)と、境界に沿う、第1パーティションの画素セットの複数の第2値を、第2パーティションの情報を用いて第2予測すること(ステップS3003)と、複数の第1値及び複数の第2値を重み付けすること(ステップS3004)と、重み付けされた複数の第1値、及び、重み付けされた複数の第2値を用いて第1パーティションを符号化すること(ステップS3005)とを含む。
他の実施の形態に従って、例えば、図10に示されたような、回路及び回路に接続されたメモリを含む画像復号装置が提供される。回路は、動作において、画像ブロックから分割される、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿って境界平滑化動作を行う(図20、ステップS3001)。境界平滑化動作は、境界に沿う、第1パーティションの画素セットの複数の第1値を第1パーティションの情報を用いて第1予測すること(ステップS3002)と、境界に沿う、第1パーティションの画素セットの複数の第2値を第2パーティションの情報を用いて第2予測すること(ステップS3003)と、複数の第1値及び複数の第2値を重み付けすること(ステップS3004)と、重み付けされた複数の第1値、及び、重み付けされた複数の第2値を用いて、第1パーティションを復号すること(ステップS3005)とを含む。
他の実施の形態に従って、図10に示された画像復号装置は、動作において符号化ビットストリームを受信し復号して複数の量子化変換係数を取得するエントロピー復号部202、動作において、複数の量子化変換係数を逆量子化して複数の変換係数を取得し、複数の変換係数を逆変換して複数の残差を取得する逆量子化部204及び逆変換部206、動作において、逆量子化部204及び逆変換部206から出力された複数の残差と、予測制御部220から出力された複数の予測とを加算して複数のブロックを再構成する加算部208、及び、動作において復号済みの参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部218と、動作においてカレントピクチャにおける復号済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部216と、メモリ210、214とに接続された予測制御部220を含んで、提供される。予測制御部220は、動作において、画像ブロックから分割される、非矩形形状を有する第1パーティションと、第2パーティションとの間の境界に沿って境界平滑化動作を行う(図20、ステップS3001)。境界平滑化動作は、境界に沿う、第1パーティションの画素セットの複数の第1値を第1パーティションの情報を用いて第1予測すること(ステップS3002)と、境界に沿う、第1パーティションの画素セットの複数の第2値を第2パーティションの情報を用いて第2予測すること(ステップS3003)と、複数の第1値及び複数の第2値を重み付けすること(ステップS3004)と、重み付けされた複数の第1値、及び、重み付けされた複数の第2値を用いて、第1パーティションを復号すること(ステップS3005)とを含む。
[パーティションパラメータシンタックスを用いるエントロピー符号化及び復号]
図11、ステップS1005に示されるように、様々な実施の形態に従って、非矩形形状を有する第1パーティション、及び、第2パーティションに分割された画像ブロックは、画像ブロックの非矩形分割を示すパーティションパラメータを含む1つ以上のパラメータを用いて符号化又は復号されてもよい。様々な実施の形態において、このようなパーティションパラメータは、後により十分に述べられるように、例えば、分割に適用される分割方向(例えば、左上から右下へ、又は、右上から左下へ、図12参照)と、ステップS1002で予測された第1動きベクトル及び第2動きベクトルとを一体として符号化してもよい。
図15は、複数のサンプルパーティションパラメータ(「第1インデックス値」)及び複数のパーティションパラメータによってそれぞれ一体として符号化される複数の情報セットの表である。複数のパーティションパラメータ(「第1インデックス値」)は、0から6に入り、共に三角形である第1パーティション及び第2パーティションに画像ブロックを分割する方向(図12参照)、第1パーティションについて予測された第1動きベクトル(図11、ステップS1002)、及び、第2パーティションについて予測された第2動きベクトル(図11、ステップS1002)を一体として符号化する。特に、パーティションパラメータ0は、分割方向が左上角から右下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第1」動きベクトルであることを符号化する。
パーティションパラメータ1は、分割方向が右上角から左下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第1」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第2」動きベクトルであることを符号化する。パーティションパラメータ2は、分割方向が右上角から左下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第1」動きベクトルであることを符号化する。パーティションパラメータ3は、分割方向が左上角から右下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第2」動きベクトルであることを符号化する。パーティションパラメータ4は、分割方向が右上角から左下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第3」動きベクトルであることを符号化する。パーティションパラメータ5は、分割方向が左上角から右下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第3」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第1」動きベクトルであることを符号化する。パーティションパラメータ6は、分割方向が左上角から右下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第4」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第1」動きベクトルであることを符号化する。
図22は、符号化装置側で行われる方法4000を示すフローチャートである。ステップS4001において、処理は、分割を示すパーティションパラメータに基づいて、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割する。例えば、上述された図15に示されたように、パーティションパラメータは、画像ブロックを分割する方向(例えば、右上角から左下角、又は、左上角から右下角)を示してもよい。ステップS4002において、処理は、第1パーティション及び第2パーティションを符号化する。ステップS4003において、処理は、復号装置側が1つ以上のパラメータを取得して復号装置側の第1パーティション及び第2パーティションについて(符号化装置側で行われたものと)同じ予測処理を行うため受信でき復号できるビットストリームにパーティションパラメータを含む1つ以上のパラメータを書き込む。パーティションパラメータを含む1つ以上のパラメータは、第1パーティションの非矩形形状、第2パーティションの形状、第1パーティション及び第2パーティションを取得するための画像ブロックの分割に用いられる分割方向、第1パーティションの第1動きベクトル、第2パーティションの第2動きベクトル等のような、様々な情報を一体として又は別々に符号化する。
図23は、復号装置側で行われる方法5000を示すフローチャートである。ステップS5001において、処理は、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割することを示すパーティションパラメータを1つ以上のパラメータが含むビットストリームから、1つ以上のパラメータを読み解く。ビットストリームから読み解かれるパーティションパラメータを含む1つ以上のパラメータは、第1パーティションの非矩形形状、第2パーティションの形状、第1パーティション及び第2パーティションを取得するため画像ブロックの分割に用いられる分割方向、第1パーティションの第1動きベクトル、第2パーティションの第2動きベクトル等のような、復号装置側が符号化装置側で行われたものと同じ予測処理行うため必要とされる様々な情報を一体として又は別々に符号化してもよい。ステップS5002において、処理5000は、ビットストリームから読み解かれたパーティションパラメータに基づいて、画像ブロックを複数のパーティションに分割する。ステップS5003において、処理は、画像ブロックから分割されるような、第1パーティション及び第2パーティションを復号する。
図24は、図15において上述されたサンプル表に特性が類似し、複数のサンプルパーティションパラメータ(「第1インデックス値」)及びそれぞれ複数のパーティションパラメータによって一体として符号化された複数の情報セットの表である。図24において、パーティションパラメータ(「第1インデックス値」)は、0から6に入り、画像ブロックから分割される第1パーティション及び第2パーティションの形状、画像ブロックを第1パーティション及び第2パーティションに分割する方向、第1パーティションについて予測される第1動きベクトル(図11、ステップS1002)、及び、第2パーティションについて予測される第2動きベクトル(図11、ステップS1002)を一体として符号化する。特に、パーティションパラメータ0は、第1パーティションも第2パーティションも三角形形状を有さないこと、従って、分割方向情報が「N/A」であること、第1動きベクトル情報が「N/A」であること、及び、第2動きベクトル情報が「N/A」であることを符号化する。
パーティションパラメータ1は、第1パーティション及び第2パーティションが三角形であること、分割方向が左上角から右下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第1」動きベクトルであることを符号化する。パーティションパラメータ2は、第1パーティション及び第2パーティションが三角形であること、分割方向が右上角から左下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第1」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第2」動きベクトルであることを符号化する。パーティションパラメータ3は、第1パーティション及び第2パーティションが三角形であること、分割方向が右上角から左下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第1」動きベクトルであることを符号化する。パーティションパラメータ4は、第1パーティション及び第2パーティションが三角形であること、分割方向が左上角から右下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第2」動きベクトルであることを符号化する。パーティションパラメータ5は、第1パーティション及び第2パーティションが三角形であること、分割方向が右上角から左下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第2」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第3」動きベクトルであることを符号化する。パーティションパラメータ6は、第1パーティション及び第2パーティションが三角形であること、分割方向が左上角から右下角であること、第1動きベクトルが第1パーティションについて第1動きベクトル候補セットに列挙された「第3」動きベクトルであること、及び、第2動きベクトルが第2パーティションについて第2動きベクトル候補セットに列挙された「第1」動きベクトルであることを符号化する。
いくつかの実装に従って、複数のパーティションパラメータ(複数のインデックス値)は、少なくとも1つ、又は、1つ以上のパラメータの値に応じて選択される二値化方式に従って、二値化されてもよい。図16は、複数のインデックス値(複数のパーティションパラメータ値)を二値化する二値化方式例を示す。
図25は、第1パラメータ及び第2パラメータの組み合わせ例の表であり、第1パラメータ及び第2パラメータの一方が、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割することを示すパーティションパラメータである。この例において、パーティションパラメータは、他の複数のパラメータの1つ以上によって符号化される他の情報を一体として符号化することなく画像ブロックを分割することを示すことに用いられてもよい。
図25における第1例において、第1パラメータは、画像ブロックサイズを示すことに用いられ、第2パラメータは、画像ブロックから分割された複数のパーティションの少なくとも1つが三角形形状を有することを示すためのパーティションパラメータ(フラグ)として用いられる。第1パラメータ及び第2パラメータのこのような組み合わせは、例えば、1)画像ブロックサイズが64×64よりも大きい場合に三角形形状パーティションがないこと、又は、2)画像ブロックの幅と高さとの比率が4よりも大きい場合(例えば64×4)に三角形形状パーティションがないことを示すために用いられてもよい。
図25の第2例において、第1パラメータは、予測モードを示すために用いられ、第2パラメータは、画像ブロックから分割された複数のパーティションの少なくとも1つが三角形形状を有することを示すためのパーティションパラメータ(フラグ)として用いられる。第1パラメータ及び第2パラメータのこのような組み合わせは、例えば、1)画像ブロックがイントラモードで符号化される場合に三角形パーティションがないことを示すために用いられてもよい。
図25の第3例において、第1パラメータは、画像ブロックから分割された複数のパーティションの少なくとも1つが三角形形状を有することを示すためのパーティションパラメータ(フラグ)として用いられ、第2パラメータは、予測モードを示すために用いられる。第1パラメータ及び第2パラメータのこのような組み合わせは、例えば、1)画像ブロックから分割された複数のパーティションの少なくとも1つが三角形形状を有する場合に画像ブロックがインター符号化されなければならいことを示すために用いられてもよい。
図25の第4例において、第1パラメータは、隣接ブロックの動きベクトルを示し、第2パラメータは、画像ブロックを2つの三角形に分割する方向を示すパーティションパラメータとして用いられる。第1パラメータ及び第2パラメータのこのような組み合わせは、例えば、1)隣接ブロックの動きベクトルが斜め方向である場合に画像ブロックを2つの三角形に分割する方向が左上角から右下角であることを示すために用いられてもよい。
図25の第5例において、第1パラメータは、隣接ブロックのイントラ予測方向を示し、第2パラメータは、画像ブロックを2つの三角形に分割する方向を示すパーティションパラメータとして用いられる。第1パラメータ及び第2パラメータのこのような組み合わせは、例えば、1)隣接ブロックのイントラ予測方向が逆斜め方向である場合、画像ブロックを2つの三角形に分割する方向が右上角から左下角であることを示すために用いられてもよい。
パーティションパラメータを含む1つ以上のパラメータの複数の表、及び、図15、図24及び図25に示されたような、どの情報が一体として又は別々に符号化されるかは、複数の例のみとして提示され、上述されたパーティションシンタックス動作の部分として様々な情報を一体として又は別々に符号化する他の多数の方法が本開示の範囲内であると理解されるべきである。例えば、パーティションパラメータが、第1パーティションが三角形、台形、又は、少なくとも5つの辺及び角を有する多角形であることを示してもよい。パーティションパラメータは、第2パーティションが、三角形、台形、及び、少なくとも5つの辺及び角を有する多角形のような、非矩形形状を有することを示してもよい。第1パーティションの非矩形形状、第2パーティションの形状(非矩形又は矩形であってもよい)、画像ブロックを複数のパーティションに分割するために適用される分割方向(例えば、画像ブロックの左上角からその右下角、及び、画像ブロックの右上角からその左下角)のような、分割についての1つ以上の情報をパーティションパラメータが示してもよい。パーティションパラメータは、第1パーティションの第1動きベクトル、第2パーティションの第2動きベクトル、画像ブロックサイズ、予測モード、隣接ブロックの動きベクトル、隣接ブロックのイントラ予測方向等のような、さらなる情報を一体として符号化する。あるいは、さらなる情報のいずれかが、パーティションパラメータ以外の1つ以上のパラメータによって別々に符号化されてもよい。
図22の処理4000のようなパーティションシンタックス動作は、例えば図1に示されたような、回路及び回路に接続されたメモリを含む画像符号化装置によって行われてもよい。回路は、動作において、分割を示すパーティションパラメータに基づいて、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割すること(図22、ステップS4001)と、第1パーティション及び第2パーティションを符号化すること(S4002)と、パーティションパラメータを含む1つ以上のパラメータをビットストリーム書き込むこと(S4003)とを含むパーティションシンタックス動作を行う。
他の実施の形態に従って、図1に示されたような、画像符号化装置は、動作において原画像を受信し複数のブロックに分割する分割部102、動作において分割部から複数のブロック、及び、予測制御部128から複数の予測を受信し、各予測をその対応ブロックから減算して、残差を出力する加算部104、動作において加算部104から出力された複数の残差に変換を行って複数の変換係数を出力する変換部106、動作において複数の変換係数を量子化して複数の量子化変換係数を生成する量子化部108、動作において複数の量子化変換係数を符号化してビットストリームを生成するエントロピー符号化部110、及び、動作において符号化済み参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部126と、動作においてカレントピクチャにおける符号化済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部124と、メモリ118、122とに接続された予測制御部128を含んで、提供される。予測制御部128は、動作において、分割を示すパーティションパラメータに基づいて、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割し(図22、ステップS4001)、第1パーティション及び第2パーティションを符号化する(ステップS4002)。エントロピー符号化部110は、動作において、パーティションパラメータを含む1つ以上のパラメータをビットストリーム書き込む(ステップS4003)。
他の実施の形態に従って、例えば、図10に示されたような、回路及び回路に接続されたメモリを含む画像復号装置が提供される。回路は、動作において、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割することを示すパーティションパラメータを含む1つ以上のパラメータをビットストリームから読み解くこと(図23、ステップS5001)と、パーティションパラメータに基づいて、画像ブロックを複数のパーティションに分割すること(S5002)と、第1パーティション及び第2パーティションを復号すること(S5003)とを含むパーティションシンタックス動作を行う。
さらに実施の形態に従って、図10に示された画像復号装置は、動作において符号化ビットストリームを受信し復号して複数の量子化変換係数を取得するエントロピー復号部202、動作において、複数の量子化変換係数を逆量子化して複数の変換係数を取得し、複数の変換係数を逆変換して複数の残差を取得する逆量子化部204及び逆変換部206、動作において、逆量子化部204及び逆変換部206から出力された複数の残差と、予測制御部220から出力された複数の予測とを加算して複数のブロックを再構成する加算部208、及び、動作において復号済みの参照ピクチャにおける参照ブロックに基づいてカレントブロックの予測を生成するインター予測部218と、動作においてカレントピクチャにおける復号済み参照ブロックに基づいてカレントブロックの予測を生成するイントラ予測部216と、メモリ210、214とに接続された予測制御部220を含んで、提供される。エントロピー復号部202は、動作において、いくつかの実装では予測制御部220と協力して、非矩形形状を有する第1パーティション、及び、第2パーティションを含む複数のパーティションに画像ブロックを分割することを示すパーティションパラメータを含む1つ以上のパラメータをビットストリームから読み解き(図23、ステップS5001)、パーティションパラメータに基づいて、画像ブロックを複数のパーティションに分割し(S5002)、第1パーティション及び第2パーティションを復号する(S5003)。
[実施及び応用]
以上の各実施の形態において、機能的又は作用的なブロックの各々は、通常、MPU(micro proccessing unit)及びメモリ等によって実現可能である。また、機能ブロックの各々による処理は、ROM等の記録媒体に記録されたソフトウェア(プログラム)を読み出して実行するプロセッサなどのプログラム実行部として実現されてもよい。当該ソフトウェアは、配布されてもよい。当該ソフトウェアは、半導体メモリなどの様々な記録媒体に記録されてもよい。なお、各機能ブロックをハードウェア(専用回路)によって実現することも可能である。ハードウェア及びソフトウェアの様々な組み合わせが採用され得る。
各実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
本開示の態様は、以上の実施例に限定されることなく、種々の変更が可能であり、それらも本開示の態様の範囲内に包含される。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)又は動画像復号化方法(画像復号方法)の応用例、及び、その応用例を実施する種々のシステムを説明する。このようなシステムは、画像符号化方法を用いた画像符号化装置、画像復号方法を用いた画像復号装置、又は、両方を備える画像符号化復号装置を有することを特徴としてもよい。このようなシステムの他の構成について、場合に応じて適切に変更することができる。
[使用例]
図26は、コンテンツ配信サービスを実現する適切なコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ、図示された例における固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100では、インターネットex101に、インターネットサービスプロバイダex102又は通信網ex104、及び基地局ex106~ex110を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器が接続される。当該コンテンツ供給システムex100は、上記のいずれかの装置を組合せて接続するようにしてもよい。種々の実施において、基地局ex106~ex110を介さずに、各機器が電話網又は近距離無線等を介して直接的又は間接的に相互に接続されていてもよい。さらに、ストリーミングサーバex103は、インターネットex101等を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器と接続されてもよい。また、ストリーミングサーバex103は、衛星ex116を介して、飛行機ex117内のホットスポット内の端末等と接続されてもよい。
なお、基地局ex106~ex110の代わりに、無線アクセスポイント又はホットスポット等が用いられてもよい。また、ストリーミングサーバex103は、インターネットex101又はインターネットサービスプロバイダex102を介さずに直接通信網ex104と接続されてもよいし、衛星ex116を介さず直接飛行機ex117と接続されてもよい。
カメラex113はデジタルカメラ等の静止画撮影、及び動画撮影が可能な機器である。また、スマートフォンex115は、2G、3G、3.9G、4G、そして今後は5Gと呼ばれる移動通信システムの方式に対応したスマートフォン機、携帯電話機、又はPHS(Personal Handy-phone System)等である。
家電ex114は、冷蔵庫、又は家庭用燃料電池コージェネレーションシステムに含まれる機器等である。
コンテンツ供給システムex100では、撮影機能を有する端末が基地局ex106等を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、端末(コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、及び飛行機ex117内の端末等)は、ユーザが当該端末を用いて撮影した静止画又は動画コンテンツに対して上記各実施の形態で説明した符号化処理を行ってもよく、符号化により得られた映像データと、映像に対応する音を符号化した音データと多重化してもよく、得られたデータをストリーミングサーバex103に送信してもよい。即ち、各端末は、本開示の一態様に係る画像符号化装置として機能する。
一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントは、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、又は飛行機ex117内の端末等である。配信されたデータを受信した各機器は、受信したデータを復号化処理して再生してもよい。即ち、各機器は、本開示の一態様に係る画像復号装置として機能してもよい。
[分散処理]
また、ストリーミングサーバex103は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。例えば、ストリーミングサーバex103は、CDN(Contents Delivery Network)により実現され、世界中に分散された多数のエッジサーバとエッジサーバ間をつなぐネットワークによりコンテンツ配信が実現されていてもよい。CDNでは、クライアントに応じて物理的に近いエッジサーバが動的に割り当てられ得る。そして、当該エッジサーバにコンテンツがキャッシュ及び配信されることで遅延を減らすことができる。また、いくつかのタイプのエラーが発生した場合又はトラフィックの増加などにより通信状態が変わる場合に複数のエッジサーバで処理を分散したり、他のエッジサーバに配信主体を切り替えたり、障害が生じたネットワークの部分を迂回して配信を続けることができるので、高速かつ安定した配信が実現できる。
また、配信自体の分散処理にとどまらず、撮影したデータの符号化処理を各端末で行ってもよいし、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、一般に符号化処理では、処理ループが2度行われる。1度目のループでフレーム又はシーン単位での画像の複雑さ、又は、符号量が検出される。また、2度目のループでは画質を維持して符号化効率を向上させる処理が行われる。例えば、端末が1度目の符号化処理を行い、コンテンツを受け取ったサーバ側が2度目の符号化処理を行うことで、各端末での処理負荷を減らしつつもコンテンツの質と効率を向上させることができる。この場合、ほぼリアルタイムで受信して復号する要求があれば、端末が行った一度目の符号化済みデータを他の端末で受信して再生することもできるので、より柔軟なリアルタイム配信も可能になる。
他の例として、カメラex113等は、画像から特徴量(特徴又は特性の量)を抽出し、特徴量に関するデータをメタデータとして圧縮してサーバに送信する。サーバは、例えば特徴量からオブジェクトの重要性を判断して量子化精度を切り替えるなど、画像の意味(又は内容の重要性)に応じた圧縮を行う。特徴量データはサーバでの再度の圧縮時の動きベクトル予測の精度及び効率向上に特に有効である。また、端末でVLC(可変長符号化)などの簡易的な符号化を行い、サーバでCABAC(コンテキスト適応型二値算術符号化方式)など処理負荷の大きな符号化を行ってもよい。
さらに他の例として、スタジアム、ショッピングモール、又は工場などにおいては、複数の端末によりほぼ同一のシーンが撮影された複数の映像データが存在する場合がある。この場合には、撮影を行った複数の端末と、必要に応じて撮影をしていない他の端末及びサーバを用いて、例えばGOP(Group of Picture)単位、ピクチャ単位、又はピクチャを分割したタイル単位などで符号化処理をそれぞれ割り当てて分散処理を行う。これにより、遅延を減らし、よりリアルタイム性を実現できる。
複数の映像データはほぼ同一シーンであるため、各端末で撮影された映像データを互いに参照し合えるように、サーバで管理及び/又は指示をしてもよい。また、各端末からの符号化済みデータを、サーバが受信し複数のデータ間で参照関係を変更、又はピクチャ自体を補正或いは差し替えて符号化しなおしてもよい。これにより、一つ一つのデータの質と効率を高めたストリームを生成できる。
さらに、サーバは、映像データの符号化方式を変更するトランスコードを行ったうえで映像データを配信してもよい。例えば、サーバは、MPEG系の符号化方式をVP系(例えばVP9)に変換してもよいし、H.264をH.265に変換等してもよい。
このように、符号化処理は、端末、又は1以上のサーバにより行うことが可能である。よって、以下では、処理を行う主体として「サーバ」又は「端末」等の記載を用いるが、サーバで行われる処理の一部又は全てが端末で行われてもよいし、端末で行われる処理の一部又は全てがサーバで行われてもよい。また、これらに関しては、復号処理についても同様である。
[3D、マルチアングル]
互いにほぼ同期した複数のカメラex113及び/又はスマートフォンex115などの端末により撮影された異なるシーン、又は、同一シーンを異なるアングルから撮影した画像或いは映像を統合して利用することが増えてきている。各端末で撮影した映像は、別途取得した端末間の相対的な位置関係、又は、映像に含まれる特徴点が一致する領域などに基づいて統合され得る。
サーバは、2次元の動画像を符号化するだけでなく、動画像のシーン解析などに基づいて自動的に、又は、ユーザが指定した時刻において、静止画を符号化し、受信端末に送信してもよい。サーバは、さらに、撮影端末間の相対的な位置関係を取得できる場合には、2次元の動画像だけでなく、同一シーンが異なるアングルから撮影された映像に基づき、当該シーンの3次元形状を生成できる。サーバは、ポイントクラウドなどにより生成した3次元のデータを別途符号化してもよいし、3次元データを用いて人物又はオブジェクトを認識或いは追跡した結果に基づいて、受信端末に送信する映像を、複数の端末で撮影した映像から、選択、又は、再構成して生成してもよい。
このようにして、ユーザは、各撮影端末に対応する各映像を任意に選択してシーンを楽しむこともできるし、複数画像又は映像を用いて再構成された3次元データから選択視点の映像を切り出したコンテンツを楽しむこともできる。さらに、映像と共に、音も複数の相異なるアングルから収音され、サーバは、特定のアングル又は空間からの音を対応する映像と多重化して、多重化された映像と音とを送信してもよい。
また、近年ではVirtual Reality(VR)及びAugmented Reality(AR)など、現実世界と仮想世界とを対応付けたコンテンツも普及してきている。VRの画像の場合、サーバは、右目用及び左目用の視点画像をそれぞれ作成し、Multi-View Coding(MVC)などにより各視点映像間で参照を許容する符号化を行ってもよいし、互いに参照せずに別ストリームとして符号化してもよい。別ストリームの復号時には、ユーザの視点に応じて仮想的な3次元空間が再現されるように互いに同期させて再生するとよい。
ARの画像の場合には、サーバは、現実空間のカメラ情報に、仮想空間上の仮想物体情報を、3次元的位置又はユーザの視点の動きに基づいて重畳してもよい。復号装置は、仮想物体情報及び3次元データを取得又は保持し、ユーザの視点の動きに応じて2次元画像を生成し、スムーズにつなげることで重畳データを作成してもよい。または、復号装置は仮想物体情報の依頼に加えてユーザの視点の動きをサーバに送信してもよい。サーバは、サーバに保持される3次元データから受信した視点の動きに合わせて重畳データを作成し、重畳データを符号化して復号装置に配信してもよい。なお、重畳データは、典型的には、RGB以外に透過度を示すα値を有し、サーバは、3次元データから作成されたオブジェクト以外の部分のα値が0などに設定し、当該部分が透過する状態で、符号化してもよい。もしくは、サーバは、クロマキーのように所定の値のRGB値を背景に設定し、オブジェクト以外の部分は背景色にしたデータを生成してもよい。所定の値のRGB値は、予め定められていてもよい。
同様に配信されたデータの復号処理はクライアント(例えば、端末)で行っても、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、ある端末が、一旦サーバに受信リクエストを送り、そのリクエストに応じたコンテンツを他の端末で受信し復号処理を行い、ディスプレイを有する装置に復号済みの信号が送信されてもよい。通信可能な端末自体の性能によらず処理を分散して適切なコンテンツを選択することで画質のよいデータを再生することができる。また、他の例として大きなサイズの画像データをTV等で受信しつつ、鑑賞者の個人端末にピクチャが分割されたタイルなど一部の領域が復号されて表示されてもよい。これにより、全体像を共有化しつつ、自身の担当分野又はより詳細に確認したい領域を手元で確認することができる。
屋内外の近距離、中距離、又は長距離の無線通信が複数使用可能な状況下で、MPEG-DASHなどの配信システム規格を利用して、シームレスにコンテンツを受信することが可能かもしれない。ユーザは、ユーザの端末、屋内外に配置されたディスプレイなどの復号装置又は表示装置を自由に選択しながらリアルタイムで切り替えてもよい。また、自身の位置情報などを用いて、復号する端末及び表示する端末を切り替えながら復号を行うことができる。これにより、ユーザが目的地へ移動している間に、表示可能なデバイスが埋め込まれた隣の建物の壁面又は地面の一部に情報をマップ及び表示することが可能になる。また、符号化データが受信端末から短時間でアクセスできるサーバにキャッシュされている、又は、コンテンツ・デリバリー・サービスにおけるエッジサーバにコピーされている、などの、ネットワーク上での符号化データへのアクセス容易性に基づいて、受信データのビットレートを切り替えることも可能である。
[スケーラブル符号化]
コンテンツの切り替えに関して、図27に示す、上記各実施の形態で示した動画像符号化方法を応用して圧縮符号化されたスケーラブルなストリームを用いて説明する。サーバは、個別のストリームとして内容は同じで質の異なるストリームを複数有していても構わないが、図示するようにレイヤに分けて符号化を行うことで実現される時間的/空間的スケーラブルなストリームの特徴を活かして、コンテンツを切り替える構成であってもよい。つまり、復号側が性能という内的要因と通信帯域の状態などの外的要因とに応じてどのレイヤを復号するかを決定することで、復号側は、低解像度のコンテンツと高解像度のコンテンツとを自由に切り替えて復号できる。例えばユーザが移動中にスマートフォンex115で視聴していた映像の続きを、例えば帰宅後にインターネットTV等の機器で視聴したい場合には、当該機器は、同じストリームを異なるレイヤまで復号すればよいので、サーバ側の負担を軽減できる。
さらに、上記のように、レイヤ毎にピクチャが符号化されており、ベースレイヤの上位のエンハンスメントレイヤでスケーラビリティを実現する構成以外に、エンハンスメントレイヤが画像の統計情報などに基づくメタ情報を含んでいてもよい。復号側が、メタ情報に基づきベースレイヤのピクチャを超解像することで高画質化したコンテンツを生成してもよい。超解像は、解像度を維持及び/又は拡大しつつ、SN比を向上してもよい。メタ情報は、超解像処理に用いるような線形或いは非線形のフィルタ係数を特定するため情報、又は、超解像処理に用いるフィルタ処理、機械学習或いは最小2乗演算におけるパラメータ値を特定する情報などを含む。
または、画像内のオブジェクトなどの意味合いに応じてピクチャがタイル等に分割される構成が提供されてもよい。復号側が、復号するタイルを選択することで一部の領域だけを復号する。さらに、オブジェクトの属性(人物、車、ボールなど)と映像内の位置(同一画像における座標位置など)とをメタ情報として格納することで、復号側は、メタ情報に基づいて所望のオブジェクトの位置を特定し、そのオブジェクトを含むタイルを決定できる。例えば、図28に示すように、メタ情報は、HEVCにおけるSEI(supplemental enhancement information)メッセージなど、画素データとは異なるデータ格納構造を用いて格納されてもよい。このメタ情報は、例えば、メインオブジェクトの位置、サイズ、又は色彩などを示す。
ストリーム、シーケンス又はランダムアクセス単位など、複数のピクチャから構成される単位でメタ情報が格納されてもよい。復号側は、特定人物が映像内に出現する時刻などを取得でき、ピクチャ単位の情報と時間情報を合わせることで、オブジェクトが存在するピクチャを特定でき、ピクチャ内でのオブジェクトの位置を決定できる。
[Webページの最適化]
図29は、コンピュータex111等におけるwebページの表示画面例を示す図である。図30は、スマートフォンex115等におけるwebページの表示画面例を示す図である。図29及び図30に示すようにwebページが、画像コンテンツへのリンクであるリンク画像を複数含む場合があり、閲覧するデバイスによってその見え方は異なっていてもよい。画面上に複数のリンク画像が見える場合には、ユーザが明示的にリンク画像を選択するまで、又は画面の中央付近にリンク画像が近付く或いはリンク画像の全体が画面内に入るまで、表示装置(復号装置)は、リンク画像として各コンテンツが有する静止画又はIピクチャを表示してもよいし、複数の静止画又はIピクチャ等でgifアニメのような映像を表示してもよいし、ベースレイヤのみを受信し、映像を復号及び表示してもよい。
ユーザによりリンク画像が選択された場合、表示装置は、例えばベースレイヤを最優先にしつつ復号を行う。なお、webページを構成するHTMLにスケーラブルなコンテンツであることを示す情報があれば、表示装置は、エンハンスメントレイヤまで復号してもよい。さらに、リアルタイム性を担保するために、選択される前又は通信帯域が非常に厳しい場合には、表示装置は、前方参照のピクチャ(Iピクチャ、Pピクチャ、前方参照のみのBピクチャ)のみを復号及び表示することで、先頭ピクチャの復号時刻と表示時刻との間の遅延(コンテンツの復号開始から表示開始までの遅延)を低減できる。またさらに、表示装置は、ピクチャの参照関係を敢えて無視して、全てのBピクチャ及びPピクチャを前方参照にして粗く復号し、時間が経ち受信したピクチャが増えるにつれて正常の復号を行ってもよい。
[自動走行]
また、車の自動走行又は走行支援のため2次元又は3次元の地図情報などのような静止画又は映像データを送受信する場合、受信端末は、1以上のレイヤに属する画像データに加えて、メタ情報として天候又は工事の情報なども受信し、これらを対応付けて復号してもよい。なお、メタ情報は、レイヤに属してもよいし、単に画像データと多重化されてもよい。
この場合、受信端末を含む車、ドローン又は飛行機などが移動するため、受信端末は、当該受信端末の位置情報を送信することで、基地局ex106~ex110を切り替えながらシームレスな受信及び復号の実行を実現できる。また、受信端末は、ユーザの選択、ユーザの状況及び/又は通信帯域の状態に応じて、メタ情報をどの程度受信するか、又は地図情報をどの程度更新していくかを動的に切り替えることが可能になる。
コンテンツ供給システムex100では、ユーザが送信した符号化された情報をリアルタイムでクライアントが受信して復号し、再生することができる。
[個人コンテンツの配信]
また、コンテンツ供給システムex100では、映像配信業者による高画質で長時間のコンテンツのみならず、個人による低画質で短時間のコンテンツのユニキャスト、又はマルチキャスト配信が可能である。このような個人のコンテンツは今後も増加していくと考えられる。個人コンテンツをより優れたコンテンツにするために、サーバは、編集処理を行ってから符号化処理を行ってもよい。これは、例えば、以下のような構成を用いて実現できる。
撮影時にリアルタイム又は蓄積して撮影後に、サーバは、原画データ又は符号化済みデータから撮影エラー、シーン探索、意味の解析、及びオブジェクト検出などの認識処理を行う。そして、サーバは、認識結果に基づいて手動又は自動で、ピントずれ又は手ブレなどを補正したり、明度が他のピクチャに比べて低い又は焦点が合っていないシーンなどの重要性の低いシーンを削除したり、オブジェクトのエッジを強調したり、色合いを変化させるなどの編集を行う。サーバは、編集結果に基づいて編集後のデータを符号化する。また撮影時刻が長すぎると視聴率が下がることも知られており、サーバは、撮影時間に応じて特定の時間範囲内のコンテンツになるように上記のように重要性が低いシーンのみならず動きが少ないシーンなどを、画像処理結果に基づき自動でクリップしてもよい。または、サーバは、シーンの意味解析の結果に基づいてダイジェストを生成して符号化してもよい。
個人コンテンツには、そのままでは著作権、著作者人格権、又は肖像権等の侵害となるものが写り込んでいるケースもあり、共有する範囲が意図した範囲を超えてしまうなど個人にとって不都合な場合もある。よって、例えば、サーバは、画面の周辺部の人の顔、又は家の中などを敢えて焦点が合わない画像に変更して符号化してもよい。さらに、サーバは、符号化対象画像内に、予め登録した人物とは異なる人物の顔が映っているかどうかを認識し、映っている場合には、顔の部分にモザイクをかけるなどの処理を行ってもよい。または、符号化の前処理又は後処理として、著作権などの観点からユーザが画像を加工したい人物又は背景領域を指定してもよい。サーバは、指定された領域を別の映像に置き換える、又は焦点をぼかすなどの処理を行ってもよい。人物であれば、動画像において人物をトラッキングして、人物の顔の部分の映像を置き換えることができる。
データ量の小さい個人コンテンツの視聴はリアルタイム性の要求が強いため、帯域幅にもよるが、復号装置は、まずベースレイヤを最優先で受信して復号及び再生を行ってもよい。復号装置は、この間にエンハンスメントレイヤを受信し、再生がループされる場合など2回以上再生される場合に、エンハンスメントレイヤも含めて高画質の映像を再生してもよい。このようにスケーラブルな符号化が行われているストリームであれば、未選択時又は見始めた段階では粗い動画だが、徐々にストリームがスマートになり画像がよくなるような体験を提供することができる。スケーラブル符号化以外にも、1回目に再生される粗いストリームと、1回目の動画を参照して符号化される2回目のストリームとが1つのストリームとして構成されていても同様の体験を提供できる。
[その他の実施応用例]
また、これらの符号化又は復号処理は、一般的に各端末が有するLSIex500において処理される。LSI(large scale integration circuitry)ex500(図26参照)は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化又は復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、又はハードディスクなど)に組み込み、そのソフトウェアを用いて符号化又は復号処理を行ってもよい。さらに、スマートフォンex115がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データはスマートフォンex115が有するLSIex500で符号化処理されたデータであってもよい。
なお、LSIex500は、アプリケーションソフトをダウンロードしてアクティベートする構成であってもよい。この場合、端末は、まず、当該端末がコンテンツの符号化方式に対応しているか、又は、特定サービスの実行能力を有するかを判定する。端末がコンテンツの符号化方式に対応していない場合、又は、特定サービスの実行能力を有さない場合、端末は、コーデック又はアプリケーションソフトをダウンロードし、その後、コンテンツ取得及び再生してもよい。
また、インターネットex101を介したコンテンツ供給システムex100に限らず、デジタル放送用システムにも上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)又は動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。衛星などを利用して放送用の電波に映像と音が多重化された多重化データを載せて送受信するため、コンテンツ供給システムex100のユニキャストがし易い構成に対してマルチキャスト向きであるという違いがあるが符号化処理及び復号処理に関しては同様の応用が可能である。
[ハードウェア構成]
図31は、図26に示されたスマートフォンex115のさらに詳細を示す図である。また、図32は、スマートフォンex115の構成例を示す図である。スマートフォンex115は、基地局ex110との間で電波を送受信するためのアンテナex450と、映像及び静止画を撮ることが可能なカメラ部ex465と、カメラ部ex465で撮像した映像、及びアンテナex450で受信した映像等が復号されたデータを表示する表示部ex458とを備える。スマートフォンex115は、さらに、タッチパネル等である操作部ex466と、音声又は音響を出力するためのスピーカ等である音声出力部ex457と、音声を入力するためのマイク等である音声入力部ex456と、撮影した映像或いは静止画、録音した音声、受信した映像或いは静止画、メール等の符号化されたデータ、又は、復号化されたデータを保存可能なメモリ部ex467と、ユーザを特定し、ネットワークをはじめ各種データへのアクセスの認証をするためのSIMex468とのインタフェース部であるスロット部ex464とを備える。なお、メモリ部ex467の代わりに外付けメモリが用いられてもよい。
表示部ex458及び操作部ex466等を統括的に制御し得る主制御部ex460と、電源回路部ex461、操作入力制御部ex462、映像信号処理部ex455、カメラインタフェース部ex463、ディスプレイ制御部ex459、変調/復調部ex452、多重/分離部ex453、音声信号処理部ex454、スロット部ex464、及びメモリ部ex467とが同期バスex470を介して接続されている。
電源回路部ex461は、ユーザの操作により電源キーがオン状態にされると、スマートフォンex115を動作可能な状態に起動し、バッテリパックから各部に対して電力を供給する。
スマートフォンex115は、CPU、ROM及びRAM等を有する主制御部ex460の制御に基づいて、通話及データ通信等の処理を行う。通話時は、音声入力部ex456で収音した音声信号を音声信号処理部ex454でデジタル音声信号に変換し、変調/復調部ex452でスペクトラム拡散処理を施し、送信/受信部ex451でデジタルアナログ変換処理及び周波数変換処理を施し、その結果の信号を、アンテナex450を介して送信する。また受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変調/復調部ex452でスペクトラム逆拡散処理し、音声信号処理部ex454でアナログ音声信号に変換した後、これを音声出力部ex457から出力する。データ通信モード時は、本体部の操作部ex466等の操作に基づいてテキスト、静止画、又は映像データが操作入力制御部ex462を介して主制御部ex460の制御下で送出され得る。同様の送受信処理が行われる。データ通信モード時に映像、静止画、又は映像と音声を送信する場合、映像信号処理部ex455は、メモリ部ex467に保存されている映像信号又はカメラ部ex465から入力された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex453に送出する。音声信号処理部ex454は、映像又は静止画をカメラ部ex465で撮像中に音声入力部ex456で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex453に送出する。多重/分離部ex453は、符号化済み映像データと符号化済み音声データを所定の方式で多重化し、変調/復調部(変調/復調回路部)ex452、及び送信/受信部ex451で変調処理及び変換処理を施してアンテナex450を介して送信する。所定の方式は、予め定められていてもよい。
電子メール又はチャットに添付された映像、又はウェブページにリンクされた映像を受信した場合等において、アンテナex450を介して受信された多重化データを復号するために、多重/分離部ex453は、多重化データを分離することにより、多重化データを映像データのビットストリームと音声データのビットストリームとに分け、同期バスex470を介して符号化された映像データを映像信号処理部ex455に供給するとともに、符号化された音声データを音声信号処理部ex454に供給する。映像信号処理部ex455は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって映像信号を復号し、ディスプレイ制御部ex459を介して表示部ex458から、リンクされた動画像ファイルに含まれる映像又は静止画が表示される。音声信号処理部ex454は、音声信号を復号し、音声出力部ex457から音声が出力される。リアルタイムストリーミングがますます普及しだしているため、ユーザの状況によっては音声の再生が社会的にふさわしくないこともあり得る。そのため、初期値としては、音声信号は再生せず映像データのみを再生する構成の方が望ましく、ユーザが映像データをクリックするなど操作を行った場合にのみ音声を同期して再生してもよい。
またここではスマートフォンex115を例に説明したが、端末としては符号化器及び復号化器を両方持つ送受信型端末の他に、符号化器のみを有する送信端末、及び、復号化器のみを有する受信端末という他の実装形式が考えられる。デジタル放送用システムにおいて、映像データに音声データが多重化された多重化データを受信又は送信するとして説明した。ただし、多重化データには、音声データ以外に映像に関連する文字データなどが多重化されてもよい。また、多重化データではなく映像データ自体が受信又は送信されてもよい。
なお、CPUを含む主制御部ex460が符号化又は復号処理を制御するとして説明したが、種々の端末はGPUを備えることも多い。よって、CPUとGPUで共通化されたメモリ、又は共通に使用できるようにアドレスが管理されているメモリにより、GPUの性能を活かして広い領域を一括して処理する構成でもよい。これにより符号化時間を短縮でき、リアルタイム性を確保し、低遅延を実現できる。特に動き探索、デブロックフィルタ、SAO(Sample Adaptive Offset)、及び変換・量子化の処理を、CPUではなく、GPUでピクチャなどの単位で一括して行うと効率的である。