一実施形態によるビデオ復号方法は、現在ブロックから少なくとも1つのセグメントを決定するための輪郭(contour)モード情報によって決定される前記輪郭の第1座標及び第2座標が、前記現在ブロックの周辺ブロックから誘導可能であるか否かということを決定する段階と、前記現在ブロックの周辺ブロックから、前記輪郭の第1座標及び第2座標が誘導可能である場合、前記現在ブロックの周辺ブロックから誘導される前記輪郭の第1座標及び第2座標に基づいて、前記現在ブロックから、前記少なくとも1つのセグメントを決定する段階と、前記現在ブロックを構成するセグメントの境界を含む境界領域に対して、前記境界の方向に沿って予測を行うか否かということを決定する段階と、前記境界領域に、前記境界の方向に沿って予測を行うと決定される場合、前記境界の方向に沿う前記現在ブロックの周辺サンプルを利用して前記境界領域に予測を行う段階と、を含む。
また、前記境界領域に予測を行う段階は、前記境界領域に、前記境界の方向に沿って予測を行うと決定される場合、前記境界領域の幅(thickness)を決定する段階と、前記決定された幅による前記境界領域に対して予測を行う段階と、を含んでもよい。
また、前記境界領域の幅は、前記現在ブロックを構成するセグメントの境界に位置するサンプルを中心に、水平方向へのサンプルの数、または垂直方向へのサンプル数であることを特徴とする。
また、境界領域の幅を決定する段階は、ビットストリームから獲得される前記境界領域の幅を示す情報に基づいて決定することを特徴とする。
また、前記境界領域の幅を決定する段階は、前記現在ブロックの周辺ブロックを利用して、前記境界領域の幅を決定することを特徴とする。
また、前記現在ブロックが、前記決定された幅による前記境界領域にいずれも含まれない場合、前記境界領域を除いた前記現在ブロックの残り領域に対して予測を行う段階をさらに含んでもよい。
また、前記境界領域に対して、前記境界の方向に沿って予測を行わないと決定された場合、前記現在ブロックを構成するセグメントの境界を示す前記現在ブロックのマスクを生成する段階と、前記現在ブロックの周辺サンプルを利用して、前記少なくとも1つのセグメントに含まれたサンプルのサンプル値を決定する段階と、前記生成されたマスク、及び前記決定されたサンプルのサンプル値に基づいて、前記境界領域の予測値を決定する段階と、をさらに含んでもよい。
また、前記現在ブロックのマスクを生成する段階は、前記現在ブロックを構成するセグメントの境界と、前記現在ブロックのサンプルとの位置関係に基づいて、前記現在ブロックのサンプルのマスク値を決定することにより、前記現在ブロックのマスクを生成することを特徴とする。
また、前記現在ブロックのマスクに基づいて、前記現在ブロックの境界領域にフィルタリングを行う段階をさらに含んでもよい。
また、前記フィルタリングを行う段階は、前記現在ブロックのマスクに基づいて、前記現在ブロックのサンプルが、前記現在ブロックを構成するセグメントの境界に位置するサンプルであるか否かということを決定する段階と、前記現在ブロックのサンプルが、前記境界に位置する場合、前記現在ブロックのサンプルの周辺サンプルに基づいて、前記現在ブロックのサンプルをフィルタリングする段階と、を含んでもよい。
他の一実施形態によるビデオ符号化方法は、現在ブロックから少なくとも1つのセグメントを決定するための輪郭のモードによって決定される前記輪郭の第1座標及び第2座標が、前記現在ブロックの周辺ブロックから誘導可能であるか否かということを決定する段階と、前記現在ブロックの周辺ブロックから、前記輪郭の第1座標及び第2座標が誘導可能である場合、前記現在ブロックの周辺ブロックから誘導される前記輪郭の第1座標及び第2座標に基づいて、前記現在ブロックから、前記少なくとも1つのセグメントを決定する段階と、前記現在ブロックを構成するセグメントの境界を含む境界領域に対して、前記境界の方向に沿って予測を行うか否かということを決定する段階と、前記境界領域に、前記境界の方向に沿って予測を行うか否かということ示す情報、及び前記境界の方向を示す輪郭モード情報を符号化する段階と、を含んでもよい。
また、前記境界領域に、前記境界の方向に沿って予測を行うと決定される場合、前記境界領域の幅を決定する段階をさらに含んでもよい。
また、前記決定された境界領域の幅を示す情報を符号化する段階をさらに含んでもよい。
また、前記境界領域の幅を決定する段階は、前記現在ブロックの周辺ブロックを利用して、前記境界領域の幅を決定することを特徴とする。
また、前記決定された幅による前記境界領域に、前記境界の方向に沿って予測を行う段階と、前記現在ブロックが、前記決定された幅による前記境界領域にいずれも含まれない場合、前記境界領域を除いた前記現在ブロックの残り領域に対して予測を行う段階と、をさらに含んでもよい。
また、前記境界領域に対して、前記境界の方向に沿って予測を行わないと決定された場合、前記現在ブロックを構成するセグメントの境界を示す前記現在ブロックのマスクを生成する段階と、前記現在ブロックの周辺サンプルを利用して、前記少なくとも1つのセグメントに含まれたサンプルのサンプル値を決定する段階と、前記生成されたマスク、及び前記決定されたサンプルのサンプル値に基づいて、前記境界領域の予測値を決定する段階と、をさらに含んでもよい。
また、前記現在ブロックのマスクを生成する段階は、前記現在ブロックを構成するセグメントの境界と、前記現在ブロックのサンプルとの位置関係に基づいて、前記現在ブロックのサンプルのマスク値を決定することにより、前記現在ブロックのマスクを生成することを特徴とする。
また、前記現在ブロックのマスクに基づいて、前記現在ブロックの境界領域にフィルタリングを行う段階をさらに含んでもよい。
また、前記フィルタリングを行う段階は、前記現在ブロックのマスクに基づいて、前記現在ブロックのサンプルが、前記現在ブロックを構成するセグメントの境界に位置するサンプルであるか否かということを決定する段階と、前記現在ブロックのサンプルが、前記境界に位置する場合、前記現在ブロックのサンプルの周辺サンプルに基づいて、前記現在ブロックのサンプルをフィルタリングする段階と、を含んでもよい。
さらに他の一実施形態によるビデオ復号装置は、現在ブロックから少なくとも1つのセグメントを決定するための輪郭モード情報によって決定される前記輪郭の第1座標及び第2座標が、前記現在ブロックの周辺ブロックから誘導可能であるか否かということを決定し、前記現在ブロックの周辺ブロックから、前記輪郭の第1座標及び第2座標が誘導可能である場合、前記現在ブロックの周辺ブロックから誘導される前記輪郭の第1座標及び第2座標に基づいて、前記現在ブロックから、前記少なくとも1つのセグメントを決定するセグメント決定部と、前記現在ブロックを構成するセグメントの境界を含む境界領域に対して、前記境界の方向に沿って予測を行うか否かということを決定し、前記境界領域に、前記境界の方向に沿って予測を行うと決定される場合、前記境界の方向に沿う前記現在ブロックの周辺サンプルを利用して、前記境界領域に予測を行う予測遂行部と、を含む。
以下、図1Aないし図45を参照し、一実施形態による輪郭を基盤としたイントラ予測符号化(contour-based intra prediction coding)方法、及び輪郭を基盤としたイントラ復号方法が提案される。また、図46ないし図48を参照し、先立って提案した輪郭を基盤としたイントラ予測ビデオ符号化方法が使用されない場合の一実施形態による、階層的構造の符号化単位に基づいたビデオ符号化方法及びビデオ復号方法が開示される。
以下、「映像」は、ビデオの静止映像や動画、すなわち、ビデオそれ自体を示すことができる。
以下、「サンプル」は、映像のサンプリング位置に割り当てられたデータであり、プロセシング対象になるデータを意味する。例えば、空間領域の映像において、ピクセル値またはブロックのレジデュアルがサンプルでもある。
以下、「現在ブロック(current block)」は、符号化または復号する映像のブロックを意味する。
以下、「周辺ブロック(neighboring block)」は、現在ブロックに隣接する符号化されたり復号されたりする少なくとも1つのブロックを示す。例えば、該周辺ブロックは、現在ブロックの上端、現在ブロックの右側上端、現在ブロックの左側、または現在ブロックの左側上端に位置することができる。また空間的に隣接するブロックだけではなく時間的に隣接するブロックを含んでもよい。例えば、時間的に隣接する周辺ブロックは、参照ピクチャの現在ブロックと同一位置(co-located)ブロック、あるいは同一位置ブロックの周辺ブロックを含んでもよい。
まず、図1Aないし図45を参照し、一実施形態による、輪郭基盤イントラ予測を行うためのビデオ復号装置及びビデオ符号化装置と、ビデオ復号方法及び符号化方法と、が開示される。
図1Aは、一実施形態による、輪郭基盤のイントラ予測を行うビデオ符号化装置10のブロック図である。図1Bは、一実施形態による、輪郭基盤のイントラ予測を行うビデオ符号化方法のフローチャートである。
図1Aを参照すれば、一実施形態によるビデオ符号化装置10は、セグメント決定部12、予測遂行部14及びビットストリーム生成部16を含んでもよい。
一実施形態によるビデオに含まれた現在ピクチャは、最大サイズの符号化単位である最大符号化単位にも区画される。例えば、現在ピクチャが最大符号化単位より大きければ、現在ピクチャの映像データは、少なくとも1つの最大符号化単位にも分割される。一実施形態による最大符号化単位は、サイズ16x16,32x32,64x64,128x128,256x256などのデータ単位であり、縦横サイズが8より大きい2の累乗である正方形のデータ単位でもある。
一実施形態による符号化単位は、最大サイズ及び深度によっても決定される。深度とは、最大符号化単位から、符号化単位が空間的に分割された回数を示し、深度が深くなるほど深度別符号化単位は、最大符号化単位から最小符号化単位まで分割される。該最大符号化単位の深度が最上位深度であり、該最小符号化単位の深度が符号化深度でもある。該最大符号化単位は、深度が深くなるにつれ、深度別符号化単位の大きさは小さくなる、上位深度の符号化単位は、複数個の下位深度の符号化単位を含んでもよい。
前述のように、符号化単位の最大サイズにより、現在ピクチャの映像データを最大符号化単位に分割し、それぞれの最大符号化単位は、深度別に分割される符号化単位を含んでもよい。一実施形態による最大符号化単位は、深度別に分割されるので、最大符号化単位に含まれた空間領域(spatial domain)の映像データが深度によって階層的にも分類される。
最大符号化単位の高さ及び幅を階層的に分割することができる総回数を制限する最大深度及び符号化単位の最大サイズがあらかじめ設定されている。
一実施形態による最大符号化単位内の映像データは、最大深度以下の少なくとも1つの深度によって、深度別符号化単位に基づいて符号化され、それぞれの深度別符号化単位に基づいた符号化結果が比較される。該深度別符号化単位の符号化誤差の比較結果、符号化誤差が最小である深度が選択される。それぞれの最大化符号化単位ごとに、少なくとも1つの符号化深度が決定される。
一実施形態による最大符号化単位の大きさは、深度が深くなるにつれ、符号化単位が階層的に分割され、符号化単位の個数が増加する。また、1つの最大符号化単位に含まれる同一深度の符号化単位であるとしても、それぞれのデータに係わる符号化誤差を測定し、下位深度への分割いかんが決定される。従って、1つの最大符号化単位に含まれるデータであるとしても、位置によって深度別符号化誤差が異なるので、位置によって、符号化深度が異なっても決定される。従って、1つの最大符号化単位に対して符号化深度が1以上設定され、最大符号化単位のデータは、1以上の符号化深度の符号化単位によっても区画される。
従って、一実施形態による、現在最大符号化単位に含まれるツリー構造による符号化単位が決定される。一実施形態による「ツリー構造による符号化単位」は、現在最大符号化単位に含まれる全ての深度別符号化単位において、符号化深度と決定された深度の符号化単位を含む。符号化深度の符号化単位は、最大符号化単位内において、同一領域では、深度によって階層的に決定され、他の領域については、独立しても決定される。同様に、現在領域に係わる符号化深度は、他の領域に係わる符号化深度と独立しても決定される。
一実施形態による最大深度は、最大符号化単位から最小符号化単位までの分割回数と係わる指標である。一実施形態による第1最大深度は、最大符号化単位から最小符号化単位までの総分割回数を示すことができる。一実施形態による第2最大深度は、最大符号化単位から最小符号化単位までの深度レベルの総個数を示すことができる。例えば、最大符号化単位の深度が0であるとするとき、最大符号化単位が1回分割された符号化単位の深度は、1に設定され、2回分割された符号化単位の深度は、2にも設定される。その場合、最大符号化単位から4回分割された符号化単位が最小符号化単位であるならば、深度0,1,2,3及び4の深度レベルが存在するので、第1最大深度は、4に設定され、第2最大深度は、5にも設定される。
また、最大符号化単位の予測符号化及び変換が行われもする。該予測符号化及び該変換も同様に、最大符号化単位ごとに、最大深度以下の深度ごとに、深度別符号化単位を基に行われる。
最大符号化単位が深度別に分割されるたびに、深度別符号化単位の個数が増加するので、深度が深くなるにつれ、生成される全ての深度別符号化単位に対して、予測符号化及び変換を含んだ符号化が行われなければならない。以下、説明の辺宜のために、少なくとも1つの最大符号化単位のうち、現在深度の符号化単位である現在ブロックに対する予測符号化及び変換について説明する。
一実施形態によるビデオ符号化装置10は、映像データの符号化のためのデータ単位の大きさまたは形態を多様に選択することができる。映像データの符号化のためには、予測符号化、変換、エントロピー符号化などの段階を経るが、全ての段階にわたり、同一データ単位が使用され、段階別にデータ単位が変更されもする。
例えば、ビデオ符号化装置10は、映像データの符号化のための符号化単位だけではなく、符号化単位の映像データの予測符号化を行うために、符号化単位と異なるデータ単位を選択することができる。
最大符号化単位の予測符号化のためには、一実施形態による符号化深度の符号化単位、すなわち、それ以上さらに分割されない符号化単位を基に、予測符号化が行われる。以下、予測符号化の基になる、それ以上さらに分割されない符号化単位を「予測単位」と称する。
一実施形態による原本映像は、直線などで示す物体(object)の境界(boundary)を原本映像内に含んでもよく、映像の現在ブロックは、物体の境界によって、現在ブロックの輪郭を決定することができる。例えば、現在ブロックの輪郭は、現在ブロックのサンプルの値によって表現される物体の境界により、直線、曲線、折れ線などにもなる。決定された現在ブロックの輪郭を利用して、現在ブロックの予測単位であるセグメントにも分割される。
予測単位の予測モードは、イントラモード、インターモード及びスキップモードのうち少なくとも一つでもある。符号化単位以内の1つの予測単位ごとに、独立して符号化が行われ、符号化誤差が最小である予測モードが選択されもする。
具体的には、一実施形態によるセグメント決定部12は、現在ブロックに対して、輪郭に基づいた予測(contour-based prediction)を行うか否かということを決定することができる。すなわち、一実施形態によるセグメント決定部12は、現在ブロックの予測を行うための予測単位を、現在ブロックに含まれた物体の境界による輪郭に基づいて決定するか否かということを決定することができる。
例えば、輪郭基盤の予測を行うと決定されれば、一実施形態によるセグメント決定部12は、現在ブロックのサンプル値による輪郭に基づいて、現在ブロックを多様な形態の複数個のセグメントに分割することができる。また、輪郭基盤の予測を行わないと決定されれば、一実施形態によるセグメント決定部12は、現在ブロックの所定のパーティションタイプのうち1つのパーティションタイプで分割することができる。
輪郭基盤の予測が行われる場合、一実施形態によるセグメント決定部12は、現在ブロックに対する予測を行うために、現在ブロックから、現在ブロックの輪郭に基づいて分割されるセグメントを決定することができる。一実施形態による現在ブロックの輪郭は、現在ブロックに含まれた物体の境界に対応しても決定される。例えば、一実施形態による現在ブロックの輪郭は、現在ブロックのサンプルの値に基づいて、または現在ブロックの周辺ブロックを利用しても決定される。
一実施形態によるセグメント決定部12は、現在ブロックの輪郭によって、現在ブロックの輪郭モードを決定することができる。例えば、現在ブロックの輪郭モードは、現在ブロック内での輪郭の方向を示すことができる。
一実施形態による、現在ブロックから、予測のためのセグメントを決定するための輪郭が直線輪郭である場合、現在ブロックのそれぞれの辺(side)のうち輪郭が通過する辺を示す輪郭モードが決定される。例えば、現在ブロックが上辺、右辺、下辺及び左辺を有する場合、現在ブロックの輪郭モードは、現在ブロックの上辺、右辺、下辺及び左辺のうち、輪郭が触れる少なくとも2つの面を示すことができる。
一実施形態による、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭モードは、第1モードないし第6モードのうち1つのモードにも決定される。例えば、ビデオ符号化装置10は、RDO(rate-distortion optimization)方法を利用して、第1モードないし第6モードによって、現在ブロックの符号化/復号をいずれも行い、第1モードないし第6モードのうち最善のRDコストを有するモードを選択することができる。
また、一実施形態によるセグメント決定部12は、決定された現在ブロックの輪郭モードによって、輪郭モード情報を決定することができる。例えば、セグメント決定部12は、現在ブロックの各辺に数字を割り当て、現在ブロックの輪郭モードが示す辺に対応する数の組み合わせを、現在ブロックの輪郭モード情報として決定することができる。多様な実施形態による、現在ブロックの輪郭及び輪郭モード情報を決定するさらに具体的な方法は、以下、図6ないし図9を参照して後述する。
一実施形態によるセグメント決定部12は、現在ブロック輪郭の座標に係わる情報を、現在ブロックの周辺ブロックから誘導するか否かということを決定することができる。該輪郭の座標に係わる情報は、該輪郭の位置を特定するための情報であり、該輪郭のx軸及びy軸の座標を示すことができる。例えば、一実施形態による、現在ブロックの輪郭が単一直線輪郭である場合、現在ブロック輪郭の座標に係わる情報は、単一直線輪郭の開始点を示す第1座標、及び該輪郭の終点を示す第2座標を示す情報でもある。
具体的には、一実施形態によるセグメント決定部12は、現在ブロック輪郭の座標に係わる情報が、現在ブロックの周辺ブロックから誘導可能である場合、現在ブロック輪郭の座標に係わる情報を周辺ブロックから獲得することができる。または、一実施形態によるセグメント決定部12は、現在ブロック輪郭の座標に係わる情報が、現在ブロックの周辺ブロックから誘導可能ではない場合、現在ブロックの内部のサンプルを利用して、輪郭の座標に係わる情報を決定することができる。
例えば、一実施形態によるセグメント決定部12は、現在ブロックの輪郭モードが示す現在ブロックの辺外部に隣接する周辺サンプルが使用可能である場合、現在ブロックの当該辺に位置する輪郭の座標に隣接する周辺サンプルから誘導することができる。例えば、現在ブロックの外部に隣接する周辺サンプルのうち使用可能なサンプルは、現在ブロックの上側または左側に位置するサンプルでもある。
また、一実施形態によるセグメント決定部12は、現在ブロックの輪郭モードが示す現在ブロックの辺外部に隣接する周辺サンプルが使用可能ではない場合、現在ブロックの当該辺に位置する輪郭の座標を現在ブロックの内部サンプルから決定することができる。例えば、現在ブロックの外部に隣接する周辺サンプルのうち使用可能ではないサンプルは、現在ブロックの下側または右側に位置するサンプルでもある。現在ブロックの輪郭モードが示す現在ブロックの辺外部に隣接する周辺サンプルが使用可能ではない場合、利用される現在ブロック内部のサンプルは、現在ブロックの辺内部に隣接するサンプルでもあり、決定される輪郭の座標は、周辺ブロックから誘導されることがないので、ビデオ復号装置20にも伝送される。
多様な実施形態による、現在ブロック輪郭の座標を決定するさらに具体的な方法は、以下、図10ないし図16Bで後述する。
一実施形態によるセグメント決定部12は、決定された現在ブロック輪郭の座標に係わる情報に基づいて、現在ブロックから予測のための少なくとも1つのセグメントを決定することができる。
現在ブロックの予測のための少なくとも1つのセグメントが決定されれば、一実施形態による予測遂行部14は、現在ブロックのセグメントの境界を示す境界領域に対して、現在ブロックの輪郭に対応する境界の方向に沿って予測を行うか否かということを決定することができる。すなわち、予測遂行部14は、現在ブロックの境界領域に含まれるサンプルに係わる予測値を、境界の方向に基づいて決定するか否かということを決定することができる。
一実施形態による予測遂行部14は、現在ブロックの境界の方向に沿う予測方法と、現在ブロックのマスクを利用した予測方法とのうち最善のRD costを有する予測方法を選択することができる。
一実施形態による現在ブロックの境界領域は、現在ブロックの輪郭が通過するサンプルによって構成される領域でもあり、現在ブロックの輪郭を基準に、所定幅を含む領域でもある。
一実施形態による境界領域の所定幅は、現在ブロックを構成するセグメントの境界に位置するサンプルを中心にする水平方向への所定サンプルの数、または垂直方向へのサンプルの数を示すことができ、該所定幅は、水平方向への距離、または垂直方向への距離だけではなく、現在ブロックを構成するセグメントの境界を基準に、境界に直交する方向への距離を示すこともできる。
一実施形態による予測遂行部14は、現在ブロックの境界領域の幅を、現在ブロックの周辺ブロックを利用して決定することができる。また、予測遂行部14は、現在ブロックの境界領域の幅を、複数個の所定サイズ候補のうち、最善のRD costを有する候補に決定することもできる。
一実施形態による予測遂行部14は、現在ブロックに対して、境界の方向に沿う予測を行うと決定された場合、現在ブロックの境界領域に対して、境界の方向に沿う現在ブロックの周辺サンプルを利用して予測を行うことができる。
一実施形態による現在ブロックの周辺サンプルは、現在ブロックの外部に隣接するサンプルであり、例えば、現在ブロックの上側周辺サンプル、右上側周辺サンプル、左側周辺サンプル及び左下側周辺サンプルを含んでもよい。具体的には、一実施形態による予測遂行部14は、現在ブロックの周辺サンプルのうち、境界領域の現在サンプルから境界の方向に沿って決定される参照サンプルを決定することができる。
参照サンプルが決定されれば、一実施形態による予測遂行部14は、現在ブロックの境界領域に含まれたサンプルの予測値を、決定された参照サンプルのサンプル値に基づいて生成することができる。
また、境界領域に対する予測が行われれば、一実施形態による予測遂行部14は、現在ブロック内において、境界領域を除いた残り領域、すなわち、セグメントに該当する領域に対して予測が行われもする。例えば、セグメント領域に対して、DCモードによるイントラ予測が行われもする。
多様な実施形態による現在ブロックに対して、境界方向による予測を行うさらに具体的な方法は、以下、図38ないし図44を参照して後述する。
また、現在ブロックに対して、境界の方向に沿う予測を行わないと決定された場合、一実施形態による、現在ブロックの予測のための少なくとも1つのセグメントが決定されれば、セグメント間の境界を示す現在ブロックのマスクが生成される。
一実施形態による、現在ブロックのマスクは、現在ブロックから分割される少なくとも1つのセグメントの領域、及びセグメント間の境界を判断するためのデータであり、現在ブロックの各サンプルに対応するマスク値の配列でもっても構成される。一実施形態による、現在ブロックのマスク値は、現在ブロックの輪郭と、現在ブロックの各サンプル値との位置関係に基づいても生成される。
多様な実施形態による、現在ブロックのマスクを決定する具体的な方法は、以下、図17ないし図21を参照して後述する。
一実施形態による予測遂行部14は、現在ブロックのセグメントに対して、輪郭に基づいたイントラ予測を行うことができる。
例えば、一実施形態による予測遂行部14は、現在ブロックの周辺サンプル、及び生成された現在ブロックのマスクを利用して、現在ブロックに対して予測を行うことができる。
具体的には、一実施形態による予測遂行部14は、現在ブロックのセグメントのサンプル値を、現在ブロックの周辺サンプルを利用して生成することができる。このとき、セグメントのサンプル値は、セグメント領域に含まれたそれぞれのサンプルのサンプル値でもある。例えば、DCモードなどのイントラ予測方式が利用される。参照する現在ブロックの周辺サンプルの位置は、現在ブロックの輪郭モードに基づいても決定される。
一実施形態による予測遂行部14は、生成された現在ブロックのセグメントのサンプル値に、現在ブロックのマスクを適用することにより、現在ブロックのセグメント予測値が生成される。このとき、該セグメントの予測値は、セグメント領域に含まれたそれぞれのサンプルの予測値でもあり、現在ブロックのセグメントのサンプル値と、現在ブロックのマスク値との加重合計(weighted sum)を利用しても生成される。
多様な実施形態による、現在ブロックのマスクを利用して、現在ブロックの予想値を生成するさらに具体的な方法は、以下、図22ないし図26を参照して後述する。
また、一実施形態による予測が行われた現在ブロックに対して、フィルタリングが行われる。例えば、現在ブロックの現在ブロックセグメント間の境界に位置するサンプルの予測値に対して、フィルタリングが行われる。
一実施形態による現在ブロックに対してフィルタリングを行う場合、現在ブロックのサンプルが、現在ブロックの境界に位置するサンプルであるか否かということは、現在ブロックのマスクに基づいても決定される。
多様な実施形態による予測が行われた現在ブロックに対してフィルタリングを行うさらに具体的な方法は、以下、図37を参照して後述する。
また、一実施形態によるビデオ符号化装置10は、映像データの符号化のための符号化単位だけではなく、符号化単位と異なるデータ単位を基に、符号化単位の映像データの変換を行うことができる。
符号化単位変換のためには、符号化単位より小さいか、あるいはそれと同じ大きさのデータ単位を基に変換が行われる。例えば、該変換のためのデータ単位は、イントラモードのためのデータ単位、及びインターモードのためのデータ単位を含んでもよい。
以下、変換の基になるデータ単位は、「変換単位」と称する。符号化単位と類似した方式で、符号化単位内の変換単位も、再帰的にさらに小サイズの変換単位に分割されながら、符号化単位のレジデュアルデータが、変換深度によって、ツリー構造による変換単位によっても区画される。
一実施形態による変換単位についても、符号化単位の高さ及び幅が分割され、変換単位に至るまでの分割回数を示す変換深度が設定される。例えば、サイズ2Nx2Nの現在符号化単位の変換単位の大きさが2Nx2Nであるならば、変換深度0に設定され、変換単位の大きさがNxNであるならば、変換深度1に設定され、変換単位の大きさがN/2xN/2であるならば、変換深度2にも設定される。すなわち、変換単位についても、変換深度によって、ツリー構造による変換単位が設定される。
符号化深度別符号化情報は、符号化深度だけでなく、予測関連情報及び変換関連情報が必要である。従って、最小符号化誤差を発生させた符号化深度だけでなく、予測単位をパーティションに分割したパーティションタイプ、予測単位別予測モード、変換のための変換単位の大きさなどが決定される。
深度別符号化単位の符号化誤差がラグランジュ乗数(Lagrangian multiplier)基盤の率・歪曲最適化技法(rate-distortion optimization)を利用しても測定される。
一実施形態によるビットストリーム生成部16は、決定された現在ブロックの符号化及び復号に必要な情報を含むビットストリームを生成することができる。例えば、一実施形態によるビットストリーム生成部16は、現在ブロックに対して、輪郭に基づいた予測を行うか否かということを示す情報を含むビットストリームを生成することができる。
また、一実施形態によるビットストリーム生成部16は、現在ブロックの輪郭モードを示す輪郭モード情報を含むビットストリームを生成することができる。
また、一実施形態によるビットストリーム生成部16は、現在ブロックの輪郭モード情報によって、現在ブロックの輪郭座標に係わる情報を含むビットストリームを生成することができる。例えば、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能であるということを示す場合、現在ブロックの輪郭座標に係わる情報は、ビットストリームに含まれない。また、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能ではないということを示す場合、現在ブロックの輪郭座標に係わる情報は、ビットストリームに含まれてもよい。
また、一実施形態によるビットストリーム生成部16は、現在ブロックに対して、境界の方向に沿って予測を行うか否かということを示す情報、現在ブロックの境界領域の幅に係わる情報、現在ブロックの予測値に対してフィルタリングを行うか否かということを示す情報などがビットストリームにさらに含まれてもよい。
また、一実施形態によるビットストリーム生成部16は、符号化深度に係わる情報、深度別符号化モードに係わる情報、予測単位のパーティションタイプ情報、予測モード情報、変換単位のサイズ情報などが、ビットストリームにさらに含まれてもよい。
前述のように、ビデオ符号化装置10は、輪郭に基づいたイントラ予測を行うことにより、復元映像の品質を向上させると共に、映像の予測に必要な情報の量を減らすことにより、伝送効率及び符号化効率を向上させることができる。
以下、輪郭基盤のイントラ予測を行うビデオ符号化装置10の動作について、図1Bを参照して詳細に説明する。
図1Bは、一実施形態による、輪郭基盤のイントラ予測を行うビデオ符号化方法のフローチャートである。
11段階において、一実施形態によるビデオ符号化装置10は、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭のモードによって決定される輪郭の第1座標及び第2座標が、現在ブロックの周辺ブロックから誘導可能であるか否かということを決定することができる。
具体的には、一実施形態によるビデオ符号化装置10は、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭のモードを決定することができる。
例えば、ビデオ符号化装置10は、現在ブロックのサンプルのサンプル値に基づいて、現在ブロックの輪郭を決定することができる。または、ビデオ符号化装置10は、現在ブロックの外部に隣接する周辺ブロックを利用して、現在ブロックの輪郭を決定することもできる。一実施形態によるビデオ符号化装置10は、複数個のモードのうち最善のRD costを有するモードを選択することができる。
一実施形態によるビデオ符号化装置10は、決定された現在ブロックの輪郭のモードに基づいて、現在ブロックの外部に隣接する周辺ブロックから、輪郭の座標が誘導可能であるか否かということを決定することができる。
例えば、ビデオ符号化装置10は、現在ブロックの輪郭のモードが示す現在ブロックの辺が、現在ブロックの上辺または左辺である場合、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能であると決定することができる。
また、ビデオ符号化装置10は、現在ブロックの輪郭のモードが示す現在ブロックの辺が、現在ブロックの下辺または右辺である場合、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能ではないと決定することができる。
一実施形態による現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能であるか否かということは、輪郭の複数個の座標についてそれぞれ決定される。
13段階において、一実施形態によるビデオ符号化装置10は、現在ブロックの周辺ブロックから、輪郭の第1座標及び第2座標が誘導可能である場合、現在ブロックの周辺ブロックから誘導される輪郭の第1座標及び第2座標に基づいて、現在ブロックから、少なくとも1つのセグメントを決定することができる。
具体的には、一実施形態による符号化装置10は、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能である場合、現在ブロックの周辺ブロックから、輪郭の座標を誘導することができる。
このとき、一実施形態によるビデオ符号化装置10は、周辺ブロックから誘導可能ではない輪郭の座標は、現在ブロック内のサンプルを利用して決定することができる。このとき現在ブロック内のサンプルは、現在ブロックの輪郭が示す辺に隣接して現在ブロックの内部に位置するサンプルでもある。
一実施形態によるビデオ符号化装置10は、周辺ブロックのサンプルに対するサンプル値の変化量(gradient)、または現在ブロック内のサンプルに対するサンプル値の変化量に基づいて、現在ブロックの輪郭座標を決定することができる。
また、一実施形態によるビデオ符号化装置10は、輪郭の座標に基づいて、現在ブロックから予測遂行のための少なくとも1つのセグメントを決定することができる。例えば、一実施形態によるビデオ符号化装置10は、現在ブロックが、単一直線輪郭に基づいて分割される場合、2つのセグメントを決定することができる。
15段階において、一実施形態によるビデオ符号化装置10は、現在ブロックを構成するセグメントの境界を含む境界領域に対して、境界の方向に沿って予測を行うか否かということを決定することができる。
一実施形態によるビデオ符号化装置10は、現在ブロックの境界の方向に沿う予測方法と、現在ブロックのマスクを利用した予測方法とのうち最善のRD costを有する予測方法を選択することができる。
一実施形態によるビデオ符号化装置10は、決定された方法によって、現在ブロックに対する予測を行うことができる。
17段階において、一実施形態によるビデオ符号化装置10は、境界領域に境界の方向に沿って予測を行うか否かということ示す情報、及び境界の方向を示す輪郭モード情報を符号化することができる。
現在ブロックに対して、境界の方向に沿う予測を行うと決定された場合、一実施形態によるビデオ符号化装置10は、現在ブロックの境界領域の幅についての情報をさらに符号化することができる。
また、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの外部に隣接する周辺ブロックから誘導可能である場合、一実施形態によるビデオ符号化装置10は、現在ブロックの輪郭座標についての情報を符号化せず、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能ではない場合、一実施形態によるビデオ符号化装置10は、現在ブロックの輪郭座標についての情報を符号化することができる。
一実施形態によるビデオ符号化装置10は、セグメント決定部12、予測遂行部14及びビットストリーム生成部16を総括的に制御する中央プロセッサ(図示せず)を含んでもよい。または、セグメント決定部12、予測遂行部14及びビットストリーム生成部16がそれぞれの自体プロセッサ(図示せず)によって作動し、該プロセッサ(図示せず)が相互有機的に作動することにより、ビデオ符号化装置10が全体的に作動することもできる。または、ビデオ符号化装置10の外部プロセッサ(図示せず)の制御により、セグメント決定部12、予測遂行部14及びビットストリーム生成部16が制御されもする。
一実施形態によるビデオ符号化装置10は、セグメント決定部12、予測遂行部14及びビットストリーム生成部16の入出力データが保存される1以上のデータ保存部(図示せず)を含んでもよい。また、一実施形態によるビデオ符号化装置10は、データ保存部(図示せず)のデータ入出力を管轄するメモリ制御部(図示せず)を含んでもよい。
一実施形態によるビデオ符号化装置10は、ビデオ符号化結果を出力するために、内部に搭載されたビデオエンコーディングプロセッサまたは外部ビデオエンコーディングプロセッサと連繋して作動することにより、変換を含んだビデオ符号化動作を遂行することができる。一実施形態によるビデオ符号化装置10の内部ビデオエンコーディングプロセッサは、別個のプロセッサでもって、ビデオ符号化動作を具現することができる。また、ビデオ符号化装置10または中央演算装置、グラフィック演算装置が、ビデオエンコーディングプロセシングモジュールを含むことにより、基本的なビデオ符号化動作を具現する場合も可能である。
図2Aは、一実施形態による、輪郭基盤のイントラ予測を行うビデオ復号装置のブロック図である。図2Bは、一実施形態による、輪郭基盤のイントラ予測を行うビデオ復号方法のフローチャートである。
図2Aを参照すれば、ビデオ復号装置20は、セグメント決定部22及び予測遂行部24を含んでもよい。
また、ビデオ復号装置20は、符号化されたビデオに係わるビットストリームを受信してパージングする受信部(図示せず)をさらに含んでもよい。例えば、一実施形態によるビデオ復号装置20は、符号化単位別に符号化された映像データと、符号化単位の符号化及び復号に必要な情報とをパージングすることができる。
一実施形態によるビデオ復号装置20は、ビデオの最大符号化単位別符号化深度及び符号化モードに係わる情報に基づいて、それぞれの最大符号化単位の映像データを復号し、現在ピクチャを復元する。すなわち、ビデオ復号装置20は、最大符号化単位に含まれる符号化単位のうちそれぞれの符号化単位ごとに決定された、予測単位、予測モード、変換単位などに係わる情報に基づいて、符号化された映像データを復号することができる。復号過程は、イントラ予測及び動き補償を含む予測過程、及び周波数逆変換過程を含んでもよい。
具体的には、一実施形態によるセグメント決定部22は、符号化深度の符号化単位に該当する現在ブロックに対して、輪郭に基づいた予測を行うか否かということを決定することができる。すなわち、一実施形態によるセグメント決定部22は、現在ブロックの予測を行うための予測単位になるセグメントを、現在ブロックに含まれた物体の境界による輪郭に基づいて決定するか否かということを決定することができる。
一実施形態によるセグメント決定部22は、ビデオ符号化装置10から受信される予測モードを示す情報を利用して、現在ブロックに対して輪郭に基づいた予測を行うか否かということを決定することができる。例えば、現在ブロックに係わる予測モードを示す情報は、現在ブロックを、正方形または長方形の予測単位を利用する一般的なイントラモードを利用するか、あるいは現在ブロックに含まれた物体の境界による輪郭を利用して分割される予測単位であるセグメントを利用する輪郭基盤イントラ予測モードを利用するかということを示す情報を含んでもよい。
一実施形態によるセグメント決定部22は、輪郭基盤の予測を行うと決定されれば、現在ブロックの輪郭に基づいて、現在ブロックを、多様な形態の複数個のセグメントに分割することができる。また、一実施形態によるセグメント決定部22は、輪郭基盤の予測を行わないと決定されれば、現在ブロックを、現在ブロックの所定のパーティションタイプのうち1つのパーティションタイプで分割することができる。
該輪郭基盤の予測が行われる場合、一実施形態によるセグメント決定部22は、ビットストリームから獲得される現在ブロックのセグメントの個数に係わる情報に基づいて、現在ブロックのセグメントの個数を決定することができる。例えば、現在ブロックのセグメントの個数に係わる情報が、現在ブロックから分割されるセグメントが1個であることを示す場合、現在ブロックは、分割されない。
また、一実施形態によるセグメント決定部22は、ビットストリームから獲得される現在ブロックの輪郭に係わる情報を利用して、現在ブロックから、少なくとも1つのセグメントを決定することができる。例えば、現在ブロックの輪郭に係わる情報は、輪郭モード情報、及び輪郭の座標に係わる情報を含んでもよい。
具体的には、一実施形態によるセグメント決定部22は、現在ブロックの輪郭モード情報に基づいて、現在ブロックの輪郭モードを決定し、現在ブロックの輪郭座標に係わる情報を、ビットストリームからパージングするか否かということを決定することができる。例えば、現在ブロックの輪郭座標に係わる情報は、現在ブロック輪郭の第1座標情報及び第2座標情報を含んでもよい。
一実施形態によるセグメント決定部22は、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能な輪郭モードを示す場合、現在ブロックの輪郭座標に係わる情報をパージングしない。例えば、セグメント決定部22は、現在ブロックの輪郭モードによる輪郭の第1座標または第2座標が、現在ブロックの上辺または左辺に位置する場合、現在ブロック輪郭の第1座標または第2座標をパージングしない。
また、一実施形態によるセグメント決定部22は、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能ではない輪郭モードを示す場合、現在ブロックの内部サンプルを利用して、輪郭の座標を決定することができる。例えば、セグメント決定部22は、現在ブロックの輪郭モードによる輪郭の第1座標または第2座標が、現在ブロックの下辺または右辺に位置する場合、現在ブロック輪郭の第1座標または第2座標を、ビットストリームからパージングすることができる。
例えば、一実施形態によるセグメント決定部22は、輪郭の第1座標を、現在ブロックの上側の外部に隣接する周辺ブロックから誘導する場合、現在ブロックに隣接する上側周辺ブロック最下端の一連サンプルのサンプル値を利用して、輪郭の第1座標を誘導することができる。また、一実施形態によるセグメント決定部22は、輪郭の第2座標を、現在ブロックの左側に位置する周辺ブロックから誘導する場合、現在ブロックに隣接する左側ブロック最右側の一連サンプルのサンプル値を利用して、輪郭の第2座標を誘導することができる。例えば、現在ブロックの輪郭座標は、周辺ブロックの一連サンプルのサンプル値変化量に基づいても決定される。
また、一実施形態によるセグメント決定部22は、現在ブロックの周辺ブロックから、現在ブロックの輪郭座標を誘導しない場合、ビットストリームから獲得される輪郭の座標情報に基づいて、現在ブロックの輪郭座標を決定することができる。
多様な実施形態による、現在ブロックの輪郭座標を決定するさらに具体的な方法は、以下、図10ないし図16Bで後述する。
一実施形態によるセグメント決定部22は、決定された現在ブロックの輪郭に基づいて、現在ブロックから、予測のための少なくとも1つのセグメントを決定することができる。
一実施形態による、現在ブロックの予測のための少なくとも1つのセグメントが決定されれば、セグメント間の境界を判断するための現在ブロックのマスクが生成される。
具体的には、一実施形態による予測遂行部24は、現在ブロックのそれぞれのサンプルと、現在ブロックの輪郭との位置関係に基づいて、現在ブロックのそれぞれのサンプルに係わるマスク値を決定することができる。一実施形態による、現在ブロックのマスクは、現在ブロックのセグメントの領域、及びセグメント間の境界を示すことができる。
多様な実施形態による、現在ブロックのマスクを決定するさらに具体的な方法は、以下、図17ないし図21を参照して後述する。
現在ブロックの予測のための少なくとも1つのセグメントが決定されれば、一実施形態による予測遂行部24は、現在ブロックのセグメントの境界を含む境界領域に対して、現在ブロックの輪郭に対応する境界の方向に沿って予測を行うか否かということを決定することができる。すなわち、予測遂行部24は、現在ブロックの境界領域に含まれるサンプルに係わる予測値を、境界の方向に基づいて決定するか否かということを決定することができる。
一実施形態による予測遂行部24は、ビットストリームから獲得される現在ブロックに、境界の方向に沿って予測を行うか否かということ示す情報を利用して、境界の方向に沿って予測を行うか否かということを決定することができる。一実施形態による現在ブロックの境界領域は、現在ブロックの輪郭が通過するサンプルによって構成される領域でもあり、現在ブロックの輪郭を基準に、所定幅を含む領域でもある。
一実施形態による予測遂行部24は、現在ブロックの境界領域の幅を、現在ブロックの外部に隣接する周辺ブロックを利用して決定することができる。また、予測遂行部24は、現在ブロックの境界領域の幅を、ビットストリームからパージングされる境界領域の幅についての情報を利用して決定することもできる。一実施形態による境界領域の幅についての情報は、境界領域の幅を直接示す所定数値情報でもあり、複数個の所定サイズ候補のうち一つを示すインデックス情報でもある。
一実施形態による予測遂行部24は、現在ブロックに対して、境界の方向に沿う予測を行うと決定された場合、現在ブロックの境界領域に対して、境界の方向に沿う現在ブロックの外部に隣接する周辺サンプルを利用して予測を行うことができる。
例えば、一実施形態による現在ブロックの周辺サンプルは、、現在ブロックの上側周辺サンプル、右上側周辺サンプル、左側周辺サンプル及び左下側周辺サンプルを含んでもよい。具体的には、一実施形態による予測遂行部24は、現在ブロックの周辺サンプルのうち、境界領域の現在サンプルから境界の方向に沿って決定される参照サンプルを決定することができる。
参照サンプルが決定されれば、一実施形態による予測遂行部24は、現在ブロックの境界領域に含まれたサンプルの予測値を、決定された参照サンプルのサンプル値に基づいて生成することができる。
また、境界領域に対する予測が行われれば、一実施形態による予測遂行部24は、現在ブロック内において、境界領域を除いた残り領域、すなわち、セグメントに該当する領域に対して予測が行われもする。例えば、セグメント領域に対してbDCモードによるイントラ予測が行われもする。
多様な実施形態による現在ブロックに対してb境界方向による予測を行うさらに具体的な方法は、以下、図38ないし図44を参照して後述する。
また、現在ブロックに対して、境界の方向に沿う予測を行わないと決定された場合、一実施形態による予測遂行部24は、現在ブロックの周辺サンプル、及び生成された現在ブロックのマスクを利用して、現在ブロックに対して予測を行うことができる。
具体的には、一実施形態による予測遂行部24は、現在ブロックの周辺サンプルを利用して、現在ブロックのセグメントのサンプル値を生成することができる。このとき、セグメントのサンプル値は、セグメント領域に含まれたそれぞれのサンプルのサンプル値でもある。例えば、DCモードなどのイントラ予測方式が利用されてもよい。参照する現在ブロックの周辺サンプルの位置は、現在ブロックの輪郭モードに基づいても決定される。
また、一実施形態による予測遂行部24は、生成されたセグメント領域に含まれたサンプルのサンプル値に、現在ブロックのセグメントの領域及び境界を示すマスクを適用することにより、現在ブロックのセグメント予測値を生成することができる。このとき、該セグメントの予測値は、セグメント領域に含まれたそれぞれのサンプルの予測値でもあり、現在ブロックのセグメントのサンプル値と、現在ブロックのマスク値との加重合計を利用しても生成される。
多様な実施形態による、現在ブロックの予測値を生成するさらに具体的な方法は、以下、図22ないし図26を参照して後述する。
また、一実施形態による予測遂行部24は、予測が行われた現在ブロックに対してフィルタリングを行うことができる。例えば、現在ブロックの現在ブロックセグメント間の境界に位置するサンプルの予測値に対して、フィルタリングが行われる。
一実施形態による予測遂行部24は、ビットストリームからパージングされるフィルタリング遂行いかんを示す情報を利用して、現在ブロックの予測値に対して、フィルタリングを行うか否かということを決定することができる。
多様な実施形態による予測が行われた現在ブロックに対してフィルタリングを行う具体的な方法は、以下、図37を参照して後述する。
一実施形態による、現在ブロックに対して予測が行われて予測ブロックが生成されれば、ビデオ復号装置20は、予測されたデータを利用して動き補償を行うことにより、ビデオを復元することができる。該動き補償は、予測データ及びレジデュアルデータを合成し、復元映像を再構成する動作を意味する。
以下、輪郭基盤のイントラ予測を行うビデオ復号装置20の動作について、図2Bを参照して後述する。
図2Bは、一実施形態による、輪郭基盤のイントラ予測を行うビデオ復号方法のフローチャートである。
21段階において、一実施形態によるビデオ復号装置20は、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭モード情報によって決定される輪郭の第1座標及び第2座標が、現在ブロックの周辺ブロックから誘導可能であるか否かということを決定することができる。
具体的には、一実施形態によるビデオ復号装置20は、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭モード情報をビットストリームから獲得し、現在ブロックの輪郭モード情報を決定することができる。
一実施形態によるビデオ復号装置20は、ビットストリームから獲得される現在ブロックに係わる予測モードを示す情報を利用して、現在ブロックに対して、輪郭に基づいた予測を行うか否かということを決定することができる。例えば、現在ブロックに係わる予測モードを示す情報は、現在ブロックを正方形または長方形の予測単位を利用する一般的なイントラモードを利用するか、あるいは現在ブロックに含まれた物体の境界による輪郭を利用して分割される予測単位であるセグメントを利用する輪郭基盤イントラ予測モードを利用するかということ示す情報を含んでもよい。
現在ブロックに対して、輪郭に基づいた予測を行うと決定された場合、一実施形態によるビデオ復号装置20は、ビットストリームから、現在ブロックの輪郭モード情報を獲得することができる。
一実施形態によるビデオ復号装置20は、獲得された現在ブロックの輪郭モード情報に基づいて、現在ブロックの周辺ブロックから、輪郭の第1座標及び第2座標が誘導可能であるか否かということを決定することができる。
例えば、一実施形態によるビデオ復号装置20は、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの上辺または左辺に位置するモードを示す場合、現在ブロックの該当の輪郭座標が、現在ブロックの外部に隣接する周辺ブロックから誘導可能であると判断することができる。また、一実施形態によるビデオ復号装置20は、現在ブロックの輪郭モード情報が、現在ブロックの輪郭座標が、現在ブロックの下辺または右辺に位置するモードを示す場合、現在ブロックの当該輪郭座標が、現在ブロックの外部に隣接する周辺ブロックから誘導可能ではないと判断することができる。
23段階において、一実施形態によるビデオ復号装置20は、現在ブロックの周辺ブロックから、輪郭の第1座標及び第2座標が誘導可能である場合、現在ブロックの周辺ブロックから誘導される輪郭の第1座標及び第2座標に基づいて、現在ブロックから、少なくとも1つのセグメントを決定することができる。
一実施形態による現在ブロックの周辺ブロックは、現在ブロックの上側または左側に隣接するブロックを含んでもよい。
一実施形態によるビデオ復号装置20は、現在ブロックの輪郭のモードが示す現在ブロックの辺が上辺または左辺である場合、現在ブロックの輪郭座標を現在ブロックの周辺ブロックから誘導可能であると決定することができる。
一実施形態によるビデオ復号装置20は、現在ブロックの周辺ブロックから、輪郭の第1座標または第2座標が誘導可能ではない場合、誘導可能ではない輪郭の座標についての情報を、ビットストリームから獲得することができる。
一実施形態によるビデオ復号装置20は、ビットストリームから獲得された現在ブロックの輪郭座標についての情報と、輪郭モード情報とを利用して、現在ブロックから、少なくとも1つのセグメントを決定することができる。
25段階において、一実施形態によるビデオ復号装置20は、現在ブロックを構成する決定されたセグメントの境界を含む境界領域に対して、境界の方向に沿って予測を行うか否かということを決定することができる。
一実施形態によるビデオ復号装置20は、ビットストリームから獲得される現在ブロックに、境界の方向に沿って予測を行うか否かということ示す情報を利用して、境界の方向に沿って予測を行うか否かということを決定することができる。
27段階において、一実施形態によるビデオ復号装置20は、境界領域に、境界の方向に沿って予測を行うと決定される場合、境界の方向に沿う現在ブロックの外部に隣接する周辺サンプルを利用して、該境界領域に予測を行うことができる。
一実施形態による現在ブロックの境界領域は、現在ブロックの輪郭が通過するサンプルによって構成される領域でもあり、現在ブロックの輪郭を基準に、所定幅を含む領域でもある。
一実施形態によるビデオ復号装置20は、現在ブロックの境界領域の幅を、現在ブロックの周辺ブロックを利用して決定することができる。また、一実施形態によるビデオ復号装置20は、現在ブロックの境界領域の幅を、ビットストリームからパージングされる境界領域の幅についての情報を利用して決定することもできる。一実施形態による境界領域の幅についての情報は、境界領域の幅を直接示す所定数値情報でもあり、複数個の所定サイズ候補のうち一つを示すインデックス情報でもある。
一実施形態によるビデオ復号装置20は、現在ブロックの周辺サンプルのうち、境界領域の現在サンプルから境界の方向に沿って決定される参照サンプルを決定することができる。
参照サンプルが決定されれば、一実施形態によるビデオ復号装置20は、現在ブロックの境界領域に含まれたサンプルの予測値を、決定された参照サンプルのサンプル値に基づいて生成することができる。
また、境界領域に対する予測が行われれば、一実施形態によるビデオ復号装置20は、現在ブロック内において、境界領域を除いた残り領域、すなわち、セグメントに該当する領域に対して予測が行われもする。例えば、セグメント領域に対して、DCモードによるイントラ予測が行われもする。
多様な実施形態による現在ブロックに対して、境界方向による予測を行うさらに具体的な方法は、以下、図38ないし図44を参照して後述する。
また、現在ブロックに対して、境界の方向に沿う予測を行わないと決定された場合、一実施形態によるビデオ復号装置20は、現在ブロックの周辺サンプル、及び生成された現在ブロックのマスクを利用して、現在ブロックに対して予測を行うことができる。
一実施形態によるビデオ復号装置20は、セグメント間の境界を示す現在ブロックのマスクを生成することができる。一実施形態によるビデオ復号装置20は、現在ブロックから、少なくとも1つのセグメントを決定する輪郭と現在ブロックのサンプルの間の位置関係に基づいて、現在ブロックのサンプルのマスク値を決定することができる。
また、一実施形態によるビデオ復号装置20は、現在ブロックの周辺サンプル、及び生成された現在ブロックのマスクを利用して、現在ブロックに対して予測を行うことができる。
一実施形態によるビデオ復号装置20は、現在ブロックの周辺サンプルを利用して、現在ブロックのセグメント領域に含まれたサンプルのサンプル値を生成することができる。例えば、DCモードなどのイントラ予測方式が利用されることができる。
また、一実施形態によるビデオ復号装置20は、生成されたセグメント領域に含まれたサンプルのサンプル値に、現在ブロックのセグメントの領域及び境界を示すマスクを適用することにより、現在ブロックのセグメント予測値を生成することができる。
一実施形態によるビデオ復号装置20は、予測が行われた現在ブロックに対してフィルタリングを行うことができる。例えば、現在ブロックの現在ブロックセグメント間の境界に位置するサンプルの予測値に対して、フィルタリングが行われる。一実施形態によるビデオ復号装置20は、ビットストリームから受信されるフィルタリング遂行いかんを示す情報を利用して、現在ブロックの予測値に対して、フィルタリングを行うか否かということを決定することができる。
多様な実施形態によるビデオ復号装置20は、セグメント決定部22及び予測遂行部24を総括的に制御する中央プロセッサ(図示せず)を含んでもよい。または、セグメント決定部22及び予測遂行部24がそれぞれの自体プロセッサ(図示せず)によって作動し、プロセッサ(図示せず)が相互有機的に作動することにより、ビデオ復号装置20が全体的に作動することもできる。または、多様な実施形態によるビデオ復号装置20の外部プロセッサ(図示せず)の制御により、セグメント決定部22及び予測遂行部24が制御される。
多様な実施形態によるビデオ復号装置20は、セグメント決定部22及び予測遂行部24の入出力データが保存される1以上のデータ保存部(図示せず)を含んでもよい。ビデオ復号装置20は、データ保存部(図示せず)のデータ入出力を管轄するメモリ制御部(図示せず)を含んでもよい。
多様な実施形態によるビデオ復号装置20は、ビデオ復号を介してビデオを復元するために、内部に搭載されたビデオデコーディングプロセッサまたは外部ビデオデコーディングプロセッサと連繋して作動することにより、逆変換を含んだビデオ復号動作を遂行することができる。多様な実施形態によるビデオ復号装置20の内部ビデオデコーディングプロセッサは、別個のプロセッサだけではなく、ビデオ復号装置20または中央演算装置、グラフィック演算装置がビデオデコーディングプロセシングモジュールを含むことにより、基本的なビデオ復号動作を具現する場合も含んでもよい。
図3は、一実施形態による、符号化単位に基づいた映像符号化部300のブロック図を図示している。
一実施形態による映像符号化部300は、ビデオ符号化装置10,100の符号化単位決定部120において、映像データを符号化するのに経る作業を遂行する。すなわち、イントラ予測部310は、現在フレーム305において、イントラモードの符号化単位に対してイントラ予測を行い、動き推定部320及び動き補償部325は、インターモードの現在フレーム305及び参照フレーム395を利用して、インター推定及び動き補償を行う。
イントラ予測部310、動き推定部320及び動き補償部325から出力されたデータは、変換部330及び量子化部340を経て、量子化された変換係数として出力される。量子化された変換係数は、逆量子化部360、逆変換部370を介して空間領域のデータに復元され、復元された空間領域のデータは、デブロッキング部380及びオフセット適用部390を経て後処理され、参照フレーム395として出力される。量子化された変換係数は、エントロピー符号化部350を経て、ビットストリーム355としても出力される。
一実施形態によるビデオ符号化装置10,100に適用されるためには、映像符号化部300の構成要素である、イントラ予測部310、動き推定部320、動き補償部325、変換部330、量子化部340、エントロピー符号化部350、逆量子化部360、逆変換部370、デブロッキング部380及びオフセット適用部390が、いずれも最大符号化単位ごとに、最大深度を考慮し、ツリー構造による符号化単位のうちそれぞれの符号化単位に基づいた作業を遂行しなければならない。
特に、イントラ予測部310、動き推定部320及び動き補償部325は、現在最大符号化単位の最大サイズ及び最大深度を考慮し、ツリー構造による符号化単位において、それぞれの符号化単位の予測単位及び予測モードを決定し、変換部330は、ツリー構造による符号化単位において、それぞれの符号化単位内の変換単位サイズを決定しなければならない。例えば、イントラ予測部310は、図1Aのセグメント決定部12が遂行する動作と同一動作を遂行することができる。
図4は、一実施形態による、符号化単位に基づいた映像復号部400のブロック図を図示している。
図4を参照すれば、パージング部410は、ビットストリーム405から、復号対象である符号化された映像データ、及び復号のために必要な符号化に係わる情報をパージングする。符号化された映像データは、エントロピー復号部420及び逆量子化部430を経て逆量子化されたデータとして出力され、逆変換部440を経て、空間領域の映像データが復元される。
空間領域の映像データに対して、イントラ予測部450は、イントラモードの符号化単位に対してイントラ予測を行い、動き補償部460は、参照フレーム485を共に利用して、インターモードの符号化単位に対して動き補償を行う。例えば、イントラ予測部450は、図2Aのセグメント決定部22及び予測遂行部24で遂行される動作と同一動作を遂行することができる。
イントラ予測部450及び動き補償部460を経た空間領域のデータは、デブロッキング部470及びオフセット適用部480を経て後処理され、復元フレーム495としても出力される。また、デブロッキング部470及びオフセット適用部480を経て後処理されたデータは、参照フレーム485としても出力される。
ビデオ復号装置20において映像データを復号するために、一実施形態による映像復号部400のパージング部410以後の段階別作業が遂行される。
一実施形態によるビデオ復号装置20に適用されるためには、映像復号部400の構成要素である、パージング部410、エントロピー復号部420、逆量子化部430、逆変換部440、イントラ予測部450、動き補償部460、デブロッキング部470及びオフセット適用部480が、いずれも最大符号化単位ごとに、ツリー構造による符号化単位に基づいて作業を遂行しなければならない。
特に、イントラ予測部450、動き補償部460は、ツリー構造による符号化単位ごとに、それぞれ予測単位及び予測モードを決定し、逆変換部440は、符号化単位ごとに、変換単位の大きさを決定しなければならない。
以下、図5Aないし図5Cは、多様な実施形態による、現在ブロックから予測符号化のための予測単位であるセグメントを決定する方法を図示している。
図5Aは、一実施形態による、現在ブロックから現在ブロックを構成する少なくとも1つのセグメントを決定する方法を、HEVC(high efficiency video coding)で、現在ブロックから予測ブロックを決定する方法と比較説明するための図面である。
一実施形態による原本映像は、直線などで示される物体の境界を、原本映像内に含んでもよく、図5Aのように、物体の境界を内部に含む現在ブロック51を含んでもよい。
物体の境界を内部に含む現在ブロック51を符号化及び復号するために、例えば、HEVCにおいては、現在ブロック51を階層的に分割した所定サイズの予測単位を利用して、イントラ予測を行うことにより、予測映像を生成することができる。すなわち、HEVCにおいては、現在ブロック51を、正方形または長方形の予測単位に階層的に分割して現在ブロック51を予測するので、予測の精度を高めるためには、物体の境界近辺で、現在ブロック51を非常に小さい予測単位に分割し、多数の予測単位に対して予測を行わなければならない。
かように、小さい予測単位を利用する場合、ブロック分割いかんを示す分割情報、分割された最小単位のブロック分割形態を示すパーティションタイプ情報、及びブロックの予測モードのようなブロック分割による情報が追加して必要になる。
例えば、図5Aを参照すれば、HEVCにおいては、物体の境界を含む現在ブロック51に対して予測を行うために、現在ブロック51を、ブロック52のように分割し、複数個の予測単位を決定することができる。このとき、現在ブロック51の分割いかんを示す分割情報、及び現在ブロック51から分割されたブロック分割いかんを示す分割情報を含むそれぞれのブロック分割いかんを示す分割情報と、分割された最小単位のブロックを構成する予測単位の分割形態を示すパーティションタイプ情報と、が利用されてもよい。例えば、インター予測の場合、1つのブロックに係わる分割情報及びパーティションタイプ情報は、それぞれ1つのビン(binまたはbit)に該当する情報でもある。このとき、現在ブロック51が、ブロック52のように分割されるためには、17個の分割情報と、40個のパーティションタイプ情報とによる57ビンの多数の情報が必要である。
一方、一実施形態による、現在ブロックに含まれた物体の境界による輪郭を利用して、現在ブロックから、現在ブロックの予測単位であるセグメントを決定する輪郭基盤イントラ予測符号化(contour-based intra prediction coding)方法によれば、現在ブロック51は、現在ブロック51に含まれた物体の境界によって、ブロック53のようにも分割される。このとき、現在ブロック51を、ブロック53のように分割するために必要なブロック分割に係わる情報は、9個のビンに該当する情報であり、HEVCによる分割方法を利用する場合よりはるかに少ない。
例えば、一実施形態による現在ブロック51から、セグメントを決定する方法によれば、現在ブロック51は、現在ブロック51に含まれた物体の境界に対応する輪郭により、ブロック53の4個のセグメントにも分割される。現在ブロック51は、物体の境界による3本の直線を利用しても分割される。
具体的には、現在ブロック51から決定されるセグメントの個数に係わる情報、現在ブロック51から、少なくとも1つのセグメントを決定するための輪郭のモード情報、及び輪郭の座標に係わる情報を利用して、現在ブロック51から、少なくとも1つのセグメントが決定される。
一実施形態による現在ブロック51から決定されるセグメントの個数に係わる情報は、現在ブロック51を構成するセグメントの総個数を示すための情報であり、例えば、現在ブロック51から分割されるセグメントの個数に係わる情報は、「セグメントの数−1」でもある。現在ブロック51が分割されない場合、セグメントは、一つになるので、現在ブロック51から分割されるセグメントの個数に係わる情報は、0にもなる。
一実施形態による現在ブロック51からセグメントを決定するための輪郭のモード情報は、現在ブロック51内の物体境界による輪郭の方向を示す情報でもある。
一実施形態による現在ブロック51から、セグメントを決定するための輪郭座標に係わる情報は、輪郭の位置を特定するための情報であり、例えば、輪郭が直線である場合、輪郭の開始点を示す第1座標、及び輪郭の終点を示す第2座標を含んでもよい。このとき、それぞれの座標情報は、それぞれの座標に係わるx座標及びy座標によっても表現される。該座標情報は、符号化及び復号されて送受信され、現在ブロック51、または現在ブロック51の周辺ブロックからも誘導される。
一実施形態による、現在ブロック51から現在ブロック51を構成するセグメントを決定する方法によれば、現在ブロック51は、輪郭によって分割されることにより、ビデオ符号化装置10及びビデオ復号装置20の間で送受信されるデータの量を減らし、伝送効率を高めることができ、符号化効率も高めることができる。また、現在ブロック51に含まれた物体との境界に対応する輪郭を利用することにより、さらに正確な予測が可能であり、復元映像の誤差を減らすことができる。
一実施形態による、現在ブロック51から、輪郭基盤の予測のためのセグメントを決定するさらに詳細な方法は、図6ないし図14を参照して後述する。
図5Bは、他の一実施形態による現在ブロック54から、現在ブロック54を構成する少なくとも1つのセグメントを決定する方法の一例示を示している。
図5Bを参照すれば、一実施形態による現在ブロック54は、現在ブロック54に含まれた物体の境界によって、ブロック55のようにも分割される。現在ブロック54に含まれた物体の境界は、曲線でもあり、現在ブロック54は、当該境界に対応する曲線の輪郭、または折直線に沿って、ブロック55のようにも分割される。例えば、境界に対応する輪郭は、1つの曲線にもなり、現在ブロック54を構成する2つのセグメントが決定されもする。
一実施形態による現在ブロック54は、現在ブロック54の輪郭座標に係わる情報を利用して、少なくとも1つのセグメントにも分割される。一実施形態による、輪郭の座標に係わる情報は、輪郭の位置を特定するための情報であり、例えば、輪郭を特定するために必要な点の個数に係わる情報、及びそれぞれの点の現在ブロック54内での位置を示す座標情報を含んでもよい。
例えば、図5Bを参照すれば、現在ブロック54は、3点によって特定される輪郭によって、ブロック55のようにも分割される。このとき、3点によって特定される輪郭は、折直線または曲線にもなる。
このとき、点を利用して輪郭を特定するために、多様なアルゴリズムが利用されてもよい。例えば、piecewise linear curve、conic sectionまたはBezier curveなどが利用されてもよい。
一実施形態による、輪郭を特定するために必要な点の個数に係わる情報(num_point_minus2)は、「点の個数−2」でもあり、ブロック55の場合必、要な点の個数に係わる情報は、1にもなる。また、3点の座標情報は、輪郭の開始点を示す第1座標(seg_start)、輪郭の折れ点を示す第2座標(seg_middle)、及び輪郭の終点を示す第3座標(seg_end)を含んでもよい。このとき、該座標情報は、符号化及び復号されて送受信され、現在ブロック54、または現在ブロック54の周辺ブロックからも誘導される。
一実施形態による現在ブロック54は、輪郭によって分割されることにより、ビデオ符号化装置10及びビデオ復号装置20の間で送受信されるデータの量を減らし、伝送効率を高めることができ、符号化効率も高めることができる。また、現在ブロック54に含まれた物体との境界に対応する曲線などの輪郭を利用することにより、さらに正確な予測が可能であり、復元映像の誤差を減らすことができる。
図5Cは、さらに他の一実施形態による、現在ブロック56を構成する少なくとも1つのセグメントを決定する方法の一例示を示している。
図5Cを参照すれば、一実施形態による現在ブロック56は、現在ブロック56に含まれた物体の境界によって、ブロック57にも分割される。現在ブロック56に含まれた物体の境界は、1つの閉図形をなすことができ、現在ブロック56は、当該境界に対応する図形の輪郭によって、ブロック57にも分割される。例えば、現在ブロック56から、セグメントを決定するための輪郭は、1つの閉図形にもなり、現在ブロック56から決定されるセグメントは、それぞれ閉図形の外部と内部との2つのセグメントでもある。
一実施形態による現在ブロック56は、現在ブロック56から、セグメントを決定するための輪郭座標に係わる情報を利用して、少なくとも1つのセグメントにも分割される。一実施形態による、現在ブロック56から、セグメントを決定するための輪郭座標に係わる情報は、輪郭の位置を特定するための情報であり、例えば、輪郭を特定するために必要な点の個数に係わる情報、及びそれぞれの点の現在ブロック56内での位置を示す座標情報を含んでもよい。
例えば、図5Cを参照すれば、現在ブロック56は、4点によって特定される輪郭によって、ブロック57のようにも分割される。このとき、4点によって特定される輪郭は、四角形の閉図形にもなる。
一実施形態による、輪郭を特定するために必要な点の個数に係わる情報(num_point_minus2)は、「点の個数−2」でもあり、ブロック57の場合、必要な点の個数に係わる情報は、2にもなる。また、4点の座標情報は、閉図形の第1座標(seg_start)、第2座標(seg_middle)、第3座標(seg_middle)及び第4座標(seg_end)を含んでもよい。このとき、該座標情報は、符号化及び復号されて送受信され、現在ブロック56、または現在ブロック56の周辺ブロックからも誘導される。
一実施形態による現在ブロック56は、輪郭によって分割されることにより、ビデオ符号化装置10及びビデオ復号装置20の間で送受信されるデータの量を減らし、伝送効率を高めることができ、符号化効率も高めることができる。また、現在ブロック56に含まれた物体との境界に対応する閉図形などの輪郭を利用することにより、復元映像の誤差を減らすことができる。
図6は、多様な実施形態によって、物体の境界による輪郭を利用して、現在ブロックから、予測符号化のためのセグメントを決定する方法を示している。
図6を参照すれば、多様な実施形態による、現在ブロックから、予測符号化のためのセグメントを決定する方法において、単一直線、複数本の直線、折直線、単一曲線、複数の曲線、または閉図形などが利用されてもよい。
また、単一直線と単一曲線とを同時に利用するというように、かような方法の組み合わせを利用して、現在ブロックから、予測符号化のためのセグメントが決定される。
以下では、単一直線の輪郭を利用して、現在ブロックから、予測符号化のための少なくとも1つのセグメントを決定する方法の具体的な過程について後述する。
図7A及び図7Bは、多様な実施形態によ、る現在ブロック70から、少なくとも1つのセグメントを決定するための輪郭モードについて説明するための図面である。
一実施形態による現在ブロック70において、現在ブロック70内の単一直線輪郭が決定され、決定された単一直線輪郭によって、現在ブロック70を構成する2つのセグメントが決定される。
このとき、一実施形態による現在ブロック70から分割されるセグメントを決定するための輪郭モードは、現在ブロック70に含まれた物体の境界によって決定され、輪郭の方向を示すことができる。
図7Aを参照すれば、一実施形態による現在ブロック70から、セグメントを決定するために利用される輪郭が直線である場合、現在ブロック70の4辺のうち、輪郭が通過する辺を特定することにより、輪郭の方向が特定される。例えば、輪郭モード情報は、現在ブロック70の上辺、右辺、下辺及び左辺のうち、輪郭が当接する少なくとも2辺を示す情報でもある。
一実施形態による現在ブロック70の4辺にそれぞれ番号を割り当て、該辺に割り当てられた番号の組み合わせとして可能な輪郭の方向をいずれも示すことができる。
例えば、図7Aを参照すれば、現在ブロック70の上辺、右辺、下辺及び左辺に、それぞれ0、1、2及び3が割り当てられる。現在ブロック70の各辺に、時計回り方向に沿って、昇順または降順に番号が割り当てられる。例えば、現在ブロック70の右辺と左辺とを通過する直線輪郭を利用して、現在ブロック70が、2つのセグメントに分割される場合、輪郭モード情報は、右辺を示す1と、左辺を示す3とによる「1−3方向」を示すことができる。
図7Aのように、現在ブロック70の4辺に番号が割り当てられた場合、現在ブロック70を分割する直線輪郭の方向は、0−1方向、0−2方向、0−3方向、1−2方向、1−3方向及び2−3方向がありうる。このとき、1−0方向は、0−1方向と同じ方向として省略される。従って、輪郭モード情報は、現在ブロック70で利用される直線輪郭の6方向のうち1方向を示す情報でもある。
図7Bを参照すれば、現在ブロック70を構成する4辺だけではなく、現在ブロック70の周辺ブロックを構成する辺まで利用して、現在ブロック70の輪郭の方向を特定することができる。
例えば、図7Bを参照すれば、現在ブロック70の上辺、右辺、下辺及び左辺に、それぞれ0、1、2及び3が割り当てられ、現在ブロック70の右側ブロックの上辺、現在ブロック70の左側ブロックの上辺、現在ブロック70の左下側ブロックの右辺、及び現在ブロックの上側ブロックの左辺に、それぞれ4、5、6及び7が割り当てられる。
現在ブロック70を構成する4辺だけではなく、現在ブロック70の周辺ブロックを構成する辺まで利用することにより、現在ブロック70の輪郭の方向がさらに多様にもなる。このとき、輪郭の方向を示す輪郭モード情報は、6個を超える方向のうち1方向を示すことができる。
図7A及び図7Bの方法以外にも、輪郭の方向を決定するために、現在ブロック70を構成する辺、または現在ブロック70の周辺辺に、多様な方式で番号を割り当て、輪郭の方向を特定することができる。
図8は、図7Aの現在ブロック70から、少なくとも1つのセグメントを決定するための輪郭モードの例示を示している。
図7Aの一実施形態による現在ブロック70を、単一直線の輪郭に基づいて分割する場合、現在ブロック70は、輪郭の方向に沿って、図8のブロック80、ブロック81、ブロック82、ブロック83、ブロック84及びブロック85のうち1つの形態にも分割される。
すなわち、図7Aのように、現在ブロック70の4辺に番号が割り当てられた場合、現在ブロック70を分割する輪郭の方向を示す輪郭モードは、第1モード(0−1方向)、第2モード(0−2方向)、第3モード(0−3方向)、第4モード(1−2方向)、第5モード(1−3方向)及び第6モード(2−3方向)中うち一つでもある。図8において、ブロック80、ブロック81、ブロック82、ブロック83、ブロック84及びブロック85は、それぞれ輪郭モードが、第1モード、第2モード、第3モード、第4モード、第5モード及び第6モードの場合を示すことができる。
例えば、ブロック80を参照すれば、ブロック80を分割する輪郭の一端である開始点が、ブロック80の上辺に位置して、残り一端である終点がブロック80の右辺に位置する場合の輪郭モードは、第1モードでもある。このとき、輪郭の開始点が、ブロック80の上辺のいずれの位置に位置するかということと、終点がブロック80の右辺のいずれの位置に位置するということとに係わりなく、輪郭モードは、第1モードである。
また、ブロック81を参照すれば、ブロック81を分割する輪郭の開始点が、ブロック81の上辺に位置し、終点が、ブロック81の下側に位置する場合の輪郭モードは、第2モードでもある。また、ブロック82を参照すれば、ブロック82を分割する輪郭の開始点が、ブロック82の上辺に位置し、終点が、ブロック82の左辺に位置する場合の輪郭モードは、第3モードでもある。
また、ブロック83を参照すれば、ブロック83を分割する輪郭の開始点が、ブロック83の右辺に位置し、終点が、ブロック83の下辺に位置する場合の輪郭モードは、第4モードでもある。また、ブロック84を参照すれば、ブロック84を分割する輪郭の開始点が、ブロック84の右辺に位置し、終点が、ブロック84の左辺に位置する場合の輪郭モードは、第5モードでもある。また、ブロック85を参照すれば、ブロック85を分割する輪郭の開始点が、ブロック85の下辺に位置し、終点が、ブロック85の左辺に位置する場合の輪郭モードは、第6モードでもある。
一実施形態による、現在ブロック70から、少なくとも1つのセグメントを決定するための輪郭モードは、第1モードないし第6モードのうち1つのモードにも決定される。例えば、ビデオ符号化装置10は、RDO(rate-distortion optimization)方法を利用して、第1モードないし第6モードによる現在ブロック70の符号化/復号をいずれも行い、最善のRDコストを有するモードを選択することができる。
または、複雑度を下げるために、ビデオ符号化装置10は、現在ブロック70の各辺に係わるコストを計算し、計算された各辺に係わるコストに基づいて、現在ブロック70の輪郭モードを決定することができる。現在ブロック70の各辺に係わるコストは、各辺に対応するサンプルを利用して計算することができる。例えば、現在ブロック70の上辺に係わるコストは、現在ブロック70内に位置し、上辺に接するサンプルを利用して計算することができる。それと同様に、現在ブロック70の右辺、下辺及び左辺に係わるコストは、それぞれ現在ブロック70内の右辺隣接サンプル、下辺隣接サンプル及び左辺隣接サンプルを利用して計算することができる。
例えば、一実施形態による各辺に係わるコストは、各辺のサンプルの分散(variance)でもある。ビデオ符号化装置10は、現在ブロック70の各辺のうち、辺に対応するサンプルの分散が最大である2辺を選択し、選択された2辺を示す輪郭モードを決定することができる。
このとき、現在ブロック70の各辺に係わる分散は、ルマ(luma)ブロックについて求めることもでき、ルマブロックとクロマ(chroma)ブロックとをいずれも利用して求めることもできる。または、ルマブロックに係わる分散と、クロマブロックに係わる分散とにそれぞれ異なる加重値(weight)を置き、ルマブロックとクロマブロックとをいずれも利用した分散を求めることもできる。
または、他の一実施形態による現在ブロック70の各辺に係わるコストは、各辺のサンプルについて、隣接サンプル間の差値の総計でもある。また、さらに他の一実施形態による各辺に係わるコストは、各辺のサンプルについて、一次元ソーベルオペレータ(1D Sobel operator)を適用した結果値の絶対値総計でもある。
または、一実施形態による、現在ブロック70の各辺に係わるコストは、現在ブロック70の各辺に係わる使用可能いかん(availability)を考慮しても計算される。例えば、現在ブロック70の各辺に係わる使用可能いかんは、現在ブロック70の各辺の外部に隣接する周辺ブロックの使用可能いかんを示すことができる。
一実施形態によるビデオ符号化装置10は、各辺に係わる使用可能いかんを考慮し、使用可能ではない辺を含むモードを除いたモードのうち輪郭モードを決定することができる。例えば、現在ブロック70が映像エッジに位置するブロックである場合、現在ブロック70の辺のうち一部辺は、使用可能ではない。
または、一実施形態による現在ブロック70から、少なくとも1つのセグメントを決定するための輪郭モードは、前述の方法を組み合わせても決定される。例えば、現在ブロック70の各辺に係わるコストを利用して、6個のモードのうち一部のモードを選択し、選択された一部のモードに対して、現在ブロック70の符号化/復号を行い、最善のRDコストを有する1つのモードを、最終の輪郭モードと決定することができる。
図9は、図8の輪郭モードを示す輪郭モード情報の例示を示している。
図8を参照して説明したように、単一直線の輪郭に基づいて、現在ブロックを分割する場合、輪郭の方向を示す輪郭モードは、6個のモードを含んでもよい。このとき、輪郭モードを示す輪郭モード情報は、FLC(fixed length coding)、VLC(variable length coding)、算術符号化(arithmeti ccoding)のような多様な符号化方式を利用して、符号化及び復号がなされる。
例えば、図9を参照すれば、VLC方式を利用する場合、第2モード及び第5モードを示す情報は、2ビットに二進化されて示され、第1モード、第3モード、第4モード及び第6モードを示す情報は、3ビットにも二進化される。
図9を参照すれば、輪郭モードが第1モードである場合(line_orient0)、輪郭モード情報は、二進数100によっても表現される。また、輪郭モードが第2モードである場合(line_orient1)、輪郭モード情報は、二進数00によっても表現される。輪郭モードが第3モードである場合(line_orient2)、輪郭モード情報は、二進数101によっても表現される。輪郭モードが第4モードである場合(line_orient3)、輪郭モード情報は、二進数110によっても表現される。輪郭モードが第5モードである場合(line_orient4)、輪郭モード情報は、二進数01によっても表現される。輪郭モードが第6モードである場合(line_orient5)、輪郭モード情報は、二進数111によっても表現される。
ただし、それらに制限されるものではなく、輪郭モード情報は、多様な方式によっても表現される。
ビデオ符号化装置で二進化された輪郭モード情報は、算術符号化を経て、ビットストリームにも含まれ、ビデオ復号装置20にも伝送される。ビデオ復号装置20は、受信されたビットストリームに対して算術復号及び逆二進化を行い、現在ブロックの輪郭モード情報を獲得することができる。
以下、図10ないし図16Bを参照し、多様な実施形態による、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭座標を決定する方法について後述する。
図10は、一実施形態による現在ブロックを示している。
図10を参照すれば、現在ブロックは、8x8サイズのブロックでもある。現在ブロックの大きさは、幅x高さで表現され、それ以外にも64x64、32x32、16x16などの大きさを含んでもよい。また、それ以外にも、MxNのような多様な大きさを含んでもよい。このとき、M及びNは、互いに異なる整数でもある。
図10において、現在ブロック内のサンプルは、白で示され、現在ブロックの周辺サンプルは、灰色で示されている。
一実施形態による、現在ブロックの輪郭座標は、現在ブロック内のサンプルを利用しても決定される。具体的には、輪郭が単一直線輪郭である場合、輪郭モードによって、輪郭モードが示す辺に、輪郭の両端(開始点及び終点)が位置するので、輪郭の座標は、輪郭モードが示す辺に該当する現在ブロック内のサンプルを利用しても決定される。例えば、輪郭の座標は、現在ブロック内のサンプル間におけるサンプル値変化量(gradient)に基づいても決定される。
具体的には、該輪郭モードが、現在ブロックの上辺と右辺とを示す第1モードである場合、輪郭の第1座標は、現在ブロックの上辺に対応する現在ブロック内のサンプルを利用して決定され、輪郭の第2座標は、現在ブロックの右辺に対応する現在ブロック内のサンプルを利用しても決定される。すなわち、輪郭の第1座標は、上辺に内側に隣接するサンプルのうち1つのサンプルの位置にもなり、輪郭の第2座標は、右辺に内側に隣接するサンプルのうち1つのサンプルの位置にもなる。このとき、サンプルの位置は、整数ピクセル単位でもあり、サブピクセル単位でもある。
すなわち、一実施形態による輪郭モードが示す辺に対応する現在ブロック内のサンプルは、現在ブロックの各辺に内側に隣接するサンプルでもある。例えば、現在ブロックの上辺に該当するサンプルは、現在ブロック内の最上端に位置するサンプルでもある。また、現在ブロックの右辺、下辺及び左辺に該当するサンプルは、それぞれ現在ブロック内の最右側サンプル、最下端サンプル及び最左側サンプルでもある。図10を参照すれば、現在ブロック内の最上端サンプル、最右側サンプル、最下端サンプル及び最左側サンプルは、それぞれ8個の白サンプルでもある。
また、一実施形態による、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭座標は、現在ブロックの周辺ブロックからも誘導される。具体的には、輪郭の座標は、輪郭モードが示す辺の外部に隣接する周辺ブロックを利用しても決定される。例えば、該輪郭の座標は、現在ブロックの周辺ブロック内のサンプル間のサンプル値変化量に基づいても決定される。このとき、周辺ブロック内のサンプルは、復元されたサンプルでもある。
例えば、該輪郭モードが、現在ブロックの上辺と左辺とを示す第3モードである場合、輪郭の第1座標は、現在ブロックの上側外部に隣接する周辺ブロックのサンプルを利用しても誘導される。輪郭の第1座標は、現在ブロックの上側周辺ブロックの最下端サンプルを利用しても決定される。また、輪郭の第2座標は、現在ブロックの左側外部に隣接する周辺ブロックのサンプルを利用しても誘導される。輪郭の第2座標は、現在ブロックの左側周辺ブロックの最右端サンプルを利用しても決定される。
図10において、一実施形態による輪郭モードが示す辺に隣接する周辺ブロック内のサンプルは、現在ブロックに、上側または左側に隣接するサンプルであり、上側に隣接する8個のサンプル(陰影表示)、及び左側に隣接する8個の灰色サンプル(陰影表示)を含んでもよい。
現在ブロックから、少なくとも1つのセグメントを決定するための輪郭座標を、現在ブロックの周辺ブロックから誘導する場合、誘導された輪郭の座標を調整(refine)し、調整された輪郭の座標を利用して、現在ブロックを符号化及び復号することもできる。
一実施形態によるビデオ符号化装置10は、現在ブロックの輪郭座標を符号化し、ビデオ復号装置20に伝送することができる。または、一実施形態によるビデオ符号化装置10は、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導が可能である場合、輪郭の座標を伝送しない。
現在ブロックから、少なくとも1つのセグメントを決定するための輪郭座標を、現在ブロックの周辺ブロックから誘導する場合、ビデオ符号化装置10は、周辺ブロックから誘導された輪郭の座標値と、現在ブロック内のサンプルを利用して決定された輪郭の座標値との差分値を符号化し、ビデオ復号装置20に伝送することもできる。ビデオ復号装置20は、受信された差分値と、現在ブロックの周辺ブロックから誘導される輪郭の座標値とに基づいて、現在ブロックの輪郭座標を決定することができる。
図11は、一実施形態による、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭座標を決定する方法を示している。
図11を参照すれば、現在ブロック内のサンプル、及び現在ブロックの周辺サンプルが示されている。
現在ブロックから、少なくとも1つのセグメントを決定するための輪郭座標を決定する場合、現在ブロックの輪郭座標は、図10で説明したように、現在ブロック内のサンプル、または現在ブロックに隣接した周辺サンプルを利用しても決定される。具体的には、現在ブロック内のサンプル、または現在ブロックに隣接した周辺サンプルを、サンプル間において、サンプル値の変化量が最大であるサンプルの位置が、輪郭の座標位置にも決定される。
例えば、現在ブロック内のサンプル、または現在ブロックに隣接した周辺サンプルに、[−1,0,1]のようなフィルタ値を有する一次元ソーベルオペレータを適用し、輪郭座標を決定することができる。具体的には、輪郭の座標は、一次元ソーベルオペレータを適用した結果である絶対値が最大であるサンプルの位置を輪郭の座標と決定することができる。例えば、輪郭の第1座標及び第2座標は、下記数式に基づいても決定される。
line_pos1_n=arg maxn(|Sn−1−Sn+1|)
line_pos2_m=arg maxn(|Sm−1−Sm+1|)
このとき、Sn、Sn−1及びSn+1は、それぞれn位置のサンプルのサンプル値、n−1位置のサンプルのサンプル値、及びn+1位置のサンプルのサンプル値であり、Sm、Sm−1及びSm+1は、それぞれm位置のサンプルのサンプル値、m−1位置のサンプルのサンプル値、及びm+1位置のサンプルのサンプル値である。nは、サンプルのx座標であり、mは、サンプルのy座標にもなる。line_pos1_nは、輪郭の第1座標の座標であり、line_pos2_mは、輪郭の第2座標のy座標でもある。例えば、輪郭モードによる輪郭の第1座標が、現在ブロックの上側に位置する場合、nは、現在ブロックの最上端サンプル、または現在ブロックに隣接した上端サンプルのx座標になり、輪郭の第1座標は、(line_pos1_n,0)にもなる。
また、輪郭モードによる輪郭の第1座標が、現在ブロックの右側に位置する場合、nは、現在ブロックの最右側サンプルのy座標になり、輪郭の第1座標は、(nCbS−1,line_pos1_n)にもなる。nCbSは、現在ブロックの水平方向または垂直方向の大きさでもある。
また、輪郭モードによる輪郭の第2座標が、現在ブロックの下側に位置する場合、mは、現在ブロックの最下端サンプルのx座標になり、輪郭の第2座標は、(line_pos2_m,nCbS−1)にもなる。また、輪郭モードによる輪郭の第2座標が、現在ブロックの左側に位置する場合、mは、現在ブロックの最左側サンプル、または現在ブロックに隣接した左側サンプルのy座標になり、輪郭の第2座標は、(0,line_pos2_m)にもなる。
このとき、輪郭の第1座標及び第2座標の値は、整数ピクセル単位でも決定され、サブピクセル単位でも決定される。
例えば、図11を参照すれば、現在ブロックの輪郭モードが第3モードである場合、輪郭の第1座標は、現在ブロックの上辺の外部に隣接したサンプル、または上辺の内部に隣接したサンプルを利用し、(line_pos1_n,0)と決定され、輪郭の第2座標は、現在ブロックの左辺の外部に隣接したサンプル、または左辺の内部に隣接したサンプルを利用し、(0,line_pos2_m)とも決定される。
また、他の一実施形態による、現在ブロックの輪郭座標は、輪郭の第1座標を先に決定し、決定された第1座標を利用して、輪郭の第2座標を決定するとも決定される。具体的には、まず、輪郭モードが示す現在ブロックの一辺に対して、前述の方法を利用して、第1座標を決定することができる。例えば、輪郭の第1座標は、下記数式に基づいても決定される。
line_pos1_n=arg maxn(|Sn−1−Sn+1|)
また、輪郭の第2座標は、輪郭モードが示す現在ブロックの他の一辺に該当するサンプルと、決定された第1座標の周辺サンプルとを利用しても決定される。輪郭の第2座標は、第1座標の周辺サンプルと、第2座標の周辺サンプルとの相関関係(correlation)を利用しても決定される。例えば、輪郭の第2座標は、下記数式に基づいても決定される。
line_pos2_m=arg maxm(4*|Sm−1−Sm+1|−|Sn−1−Sm+1|−|Sn−1−Sm+1|)
このとき、輪郭の第2座標(0,line_pos2_m)を求めるとき、あらかじめ決定された輪郭の第1座標の周辺サンプルのサンプル値であるSn−1及びSn+1を利用することができる。
それ以外にも、境界検出のために使用される多様な方式のオペレータを利用して、現在ブロックの輪郭座標が決定される。
また、現在ブロック内のサンプル、または現在ブロックに隣接した周辺サンプルを利用して、現在ブロックの輪郭座標を決定する場合、現在ブロック内のサンプル、または現在ブロックに隣接した周辺サンプルのサンプル値をそのまま利用することもでき、ノイズ除去などのために、サンプル値にフィルタを適用し、フィルタリングされたサンプル値を利用することもできる。例えば、サンプル値に適用するフィルタは、低域通過フィルタ(low-pass filter)、または[1,2,1]のようなフィルタ値を有する一次元ガウシアンフィルタ(Gaussian filter)でもある。
また、他の一実施形態によれば、輪郭の第1座標または第2座標は、複数個の候補座標のうち一つにも決定される。例えば、現在ブロック内のサンプル、または現在ブロックに隣接した周辺サンプルを利用して、最適コストを有するN個の候補座標が決定される。例えば、候補座標のコストは、前述の数式によっても計算される。決定されたN個の候補座標のうち一つが、輪郭の第1座標または第2座標とも決定される。例えば、ビデオ符号化装置10及びビデオ復号装置20の間で、候補座標のうち1つの候補を示すインデックス情報が送受信される。
図12ないし図14は、多様な実施形態による、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭座標を決定する方法を示している。
図12ないし図14において、現在ブロックは、8x8サイズのブロックでもある。現在ブロックの大きさは、幅x高さで表現され、それ以外にも、64x64、32x32、16x16などの大きさを含んでもよい。また、それ以外にも、MxNのような多様な大きさを含んでもよい。このとき、M及びNは、互いに異なる大きさの整数でもある。
図12を参照すれば、現在ブロックは、現在ブロック内のサンプルを利用してセグメントを決定するための輪郭座標を決定することができる。例えば、該輪郭の座標は、現在ブロックの辺に隣接して内部に位置するサンプルのサンプル値を利用しても決定される。
例えば、図12において、該輪郭モードが第1モードである場合、輪郭の第1座標は、現在ブロック内の上辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の右辺に隣接する8個のサンプルを利用しても決定される。このとき、現在ブロックの右側上端のサンプルは、重なるサンプルであり、第1座標の決定と、第2座標の決定とにいずれも利用される。
また、該輪郭モードが第2モードである場合、輪郭の第1座標は、現在ブロック内の上辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の下辺に隣接する8個のサンプルを利用しても決定される。
また、該輪郭モードが第3モードである場合、輪郭の第1座標は、現在ブロック内の上辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の左辺に隣接する8個のサンプルを利用しても決定される。このとき、現在ブロックの左側上端のサンプルは、重なるサンプルであり、第1座標の決定と、第2座標の決定とにいずれも利用されることができる。
また、輪郭モードが第4モードである場合、輪郭の第1座標は、現在ブロック内の右辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の下辺に隣接する8個のサンプルを利用しても決定される。現在ブロックの右側下端のサンプルは、重なるサンプルであり、第1座標の決定と、第2座標の決定とにいずれも利用されることができる。
また、輪郭モードが第5モードである場合、輪郭の第1座標は、現在ブロック内の右辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の左辺に隣接する8個のサンプルを利用しても決定される。
また、輪郭モードが第6モードである場合、輪郭の第1座標は、現在ブロック内の下辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の左辺に隣接する8個のサンプルを利用しても決定される。現在ブロックの左側下端のサンプルは、重なるサンプルであり、第1座標の決定と、第2座標の決定とにいずれも利用されることができる。
図13を参照すれば、現在ブロックは、現在ブロック内のサンプルだけではなく、現在ブロックの周辺サンプルを利用して、セグメントを決定するための輪郭座標を決定することができる。現在ブロックの外部に隣接する周辺サンプルが使用可能である場合、輪郭の座標は、現在ブロックに外部に隣接する周辺サンプルのサンプル値を利用しても決定される。例えば、図13において、現在ブロックの外部に隣接する使用可能な周辺サンプルは、現在ブロックの上辺に隣接する8個のサンプル、または現在ブロックの左辺に隣接する8個のサンプルを含んでもよい。
例えば、図13において、輪郭モードが第1モードである場合、輪郭の第1座標は、現在ブロックの上辺の外部に隣接する8個の周辺サンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の右辺に隣接する8個のサンプルを利用しても決定される。
また、輪郭モードが第2モードである場合、輪郭の第1座標は、現在ブロックの上辺の外部に隣接する8個の周辺サンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の下辺に隣接する8個のサンプルを利用しても決定される。
また、輪郭モードが第3モードである場合、輪郭の第1座標は、現在ブロックの上辺の外部に隣接する8個の周辺サンプルを利用して決定され、輪郭の第2座標は、現在ブロックの左側の外部に隣接する8個の周辺サンプルを利用しても決定される。
また、輪郭モードが第4モードである場合、輪郭の第1座標は、現在ブロック内の右辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の下辺に隣接する8個のサンプルを利用しても決定される。現在ブロックの右側下端のサンプルは、重なるサンプルであり、第1座標の決定と、第2座標の決定とにいずれも利用される。
また、輪郭モードが第5モードである場合、輪郭の第1座標は、現在ブロック内の右辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロックの左辺の外部に隣接する8個の周辺サンプルを利用しても決定される。
また、輪郭モードが第6モードである場合、輪郭の第1座標は、現在ブロック内の下辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロックの左辺の内部に隣接する8個のサンプルを利用しても決定される。
または、現在ブロックの右辺の外部に隣接した周辺サンプル、または下辺の外部に隣接した周辺サンプルが使用可能である場合、右辺の外部に隣接した周辺サンプル、または下辺の外部に隣接した周辺サンプルを利用して、輪郭の座標を決定することもできる。
一実施形態による、輪郭の座標が、現在ブロックの周辺サンプルを利用して誘導可能である場合、ビデオ符号化装置10は、誘導可能な輪郭の座標は、ビデオ復号装置20に伝送せず、誘導可能ではない輪郭の座標に係わる情報だけ伝送することができる。
または、ビデオ符号化装置10は、誘導可能な輪郭座標の場合、周辺ブロックから誘導された輪郭の座標値と、現在ブロック内のサンプルを利用して決定された輪郭の座標値との差分値を符号化し、ビデオ復号装置20に伝送することもできる。ビデオ復号装置20は、ビットストリームから受信された差分値に、周辺ブロックから誘導された輪郭の座標値を加え、現在ブロックの輪郭座標を決定することができる。
図14を参照すれば、現在ブロックは、現在ブロック内のサンプルだけではなく、現在ブロックの周辺サンプルを利用して、セグメントを決定するための輪郭座標を決定することができる。このとき、一実施形態による、輪郭の座標は、図13のサンプルを移動(shift)させた位置のサンプルを利用しても決定される。すなわち、現在ブロック内のサンプル、及び現在ブロックの周辺サンプルを、上側、下側、左側または右側の方向に延長させたサンプルが利用されてもよい。
例えば、図14において、輪郭モードが第1モードである場合、輪郭の第1座標は、現在ブロックの上辺の外部に隣接した8個のサンプルが、左側に1ほど移動された位置の8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の右辺に隣接した8個のサンプルを利用しても決定される。
また、輪郭モードが第4モードである場合、輪郭の第1座標は、現在ブロック内の右辺に隣接した8個のサンプルが、上側に1ほど移動された位置の8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロック内の下辺に隣接した8個のサンプルを利用しても決定される。現在ブロックの右側下端のサンプルは、重なるサンプルであり、第1座標の決定と、第2座標の決定とにいずれも利用される。
また、輪郭モードが第6モードである場合、輪郭の第1座標は、現在ブロック内の下辺に隣接する8個のサンプルを利用して決定され、輪郭の第2座標は、現在ブロックの左辺の外部に隣接する8個のサンプルが、上側に1ほど移動された位置の8個のサンプルを利用しても決定される。
一実施形態による、輪郭の座標を移動された位置のサンプルを利用して決定することにより、輪郭の方向を示す2辺が重なる座標を有さず、さらに多様な組み合わせの輪郭座標が決定される。
図15ないし図16Bは、多様な実施形態による、輪郭の座標をサンプルの精度によって決定する方法を示している。
多様な実施形態による、輪郭の座標は、多様な実施形態によるサンプルの精度(precision)によっても決定される。
例えば、多様な実施形態による、輪郭の座標は、整数ピクセル精度、ハーフ(1/2)ピクセル精度またはクォーター(1/4)ピクセル精度を利用しても示される。図15を参照すれば、整数ピクセル精度で示されたブロック1501、ハーフピクセル精度で示されたブロック1502及びクォーターピクセル精度で示されたブロック1503は、4x4サイズのブロックでもある。
ブロック1501を参照すれば、整数ピクセル精度を利用する場合、ブロック1501の左側上端サンプルの中心点を原点(0,0)にし、整数サンプルの位置を表現することができる。ブロック1501の整数サンプル位置のx座標及びy座標は、それぞれ0ないし3の数にも決定される。このとき、一実施形態による、輪郭の座標は、ブロック1501内部の整数サンプルの位置にも決定され、ブロック1501外部の仮想整数サンプルの位置にも決定される。
また、整数ピクセル精度を利用する場合、ブロック1501の左側上端頂点を原点(0,0)にし、各サンプルの辺を整数位置にし、整数サンプルの位置を表現することもできる。
ブロック1502またはブロック1503を参照すれば、ハーフピクセル精度またはクォーターピクセル精度を利用する場合、ブロック1502またはブロック1503の左側上端頂点を原点(0,0)にし、ハーフサンプルまたはクォーターサンプルの位置を表現することができる。ブロック1502のハーフサンプル位置のx座標及びy座標は、それぞれ0ないし7の数に決定され、ブロック1503のクォーターサンプル位置のx座標及びy座標は、それぞれ0ないし15の数にも決定される。
このとき、一実施形態による、輪郭の座標は、ブロック1502内部またはブロック1503内部のハーフサンプルまたはクォーターサンプルの位置にも決定され、ブロック1502外部またはブロック1503外部の仮想ハーフサンプルまたは仮想クォーターサンプルの位置にも決定される。
輪郭座標の精度を変換する場合、座標変換関数を利用することができる。例えば、整数ピクセル精度を、ハーフピクセル精度またはクォーターピクセル精度に変換する場合のように、精度をさらに細分化する場合、非全射単射関数(injective non-surjective function)を利用することができる。また、ハーフピクセル精度を整数ピクセル精度に変換したり、クォーターピクセル精度を、整数ピクセル精度またはハーフピクセル精度に変換したりする場合のように精度を下げる場合、非単射全射関数(surjective non-injective function)を利用することができる。
整数ピクセル精度を利用する場合、一実施形態による輪郭座標は、整数サンプルのサンプル値を利用しても決定される。一実施形態による輪郭座標は、周辺整数サンプルとのサンプル値変化が最大である整数サンプルの位置としても決定される。例えば、一実施形態による輪郭座標は、整数サンプルに、[−1,0,1]のようなフィルタ値を有する一次元ソーベルオペレータを適用し、絶対値が最大であるサンプルの位置としても決定される。
例えば、図16Aを参照すれば、横一列に羅列された6個の整数サンプルが示されている。図16Aにおいて整数サンプルの位置は、それぞれXで表示され、Xの高低は、それぞれのサンプルのサンプル値の大きさを示すことができる。例えば、サンプルのサンプル値は、0ないし255の数でもある。
図16Aにおいて、整数サンプル間において、サンプル値の変化が最大である整数サンプルの位置は、整数サンプル1610の位置でもある。すなわち、整数サンプル1610の左側サンプル値と、右側サンプルのサンプル値との差の絶対値が最も大きくなる。一実施形態による輪郭座標は、整数サンプル1610の位置としても決定される。
また、図16Bを参照すれば、一実施形態による輪郭座標は、ハーフピクセル精度を利用しても決定される。図16Bにおいて、整数サンプルは、それぞれ大きいXで表示され、ハーフサンプルは、それぞれ小さいXでも表示される。サンプルの高低は、それぞれサンプルのサンプル値の大きさを示すことができる。
図16Bにおいて、輪郭座標は、ハーフサンプル1621の位置としても決定される。具体的には、ハーフサンプルのようなサブサンプルのサンプル値を、整数サンプルのサンプル値を利用して補間(interpolation)し、生成することができる。例えば、ハーフサンプル1621のサンプル値は、左側整数サンプル1620と、右側整数サンプル1622とのサンプル値を利用して求めることができる。一実施形態による輪郭座標は、生成されたハーフサンプルのサンプル値、及び整数サンプルのサンプル値を利用しても決定される。例えば、該輪郭座標は、ハーフピクセル精度でもって、サンプルに一次元ソーベルオペレータを適用し、絶対値が最大であるサンプル1621の位置としても決定される。
また、縦一列に羅列されたサンプルを利用する場合、ハーフピクセル精度でもって、上側サンプルのサンプル値と、下側サンプルのサンプル値とを利用して、輪郭の座標を決定することができる。
また、演算の複雑度を低減させるために、全てのサブサンプルのサンプル値を生成せずに輪郭の座標が決定される。例えば、整数サンプルに基づいて、輪郭の整数座標1621を決定し、整数座標1620の左側ハーフサンプル1623のサンプル値と、右側ハーフサンプル1621のサンプル値とを生成することができる。一実施形態による輪郭座標は、左側ハーフサンプル162)のサンプル値と、右側ハーフサンプル1621のサンプル値とのうち、整数サンプル1620の左側サンプル1624のサンプル値と、右側サンプル1622のサンプル値との平均値と近い値のサンプル値を有する右側ハーフサンプル1621の位置としても決定される。
または、縦一列に羅列されたサンプルを利用する場合、整数サンプルの上側整数サンプルのサンプル値と下側整数サンプルのサンプル値とに基づいて整数座標を決定し、決定された整数座標の上側ハーフサンプルと、下側ハーフサンプルとのうち1つのサンプルの位置として輪郭の座標を決定することができる。
以下では、図17ないし図20を参照し、現在ブロックを構成するセグメントの領域及び境界を示す現在ブロックのマスクを生成する方法について後述する。
図17は、一実施形態による現在ブロック1701を構成するセグメントの示すマスクの一例示を示している。
図17を参照すれば、一実施形態による8x8サイズの現在ブロック1701に係わるマスクが示されている。現在ブロック1701に係わるマスクは、現在ブロック1701から分割されるセグメントの領域、及びセグメント間の境界を判断するためのデータであり、現在ブロック1701の各サンプルに対応するマスク値の配列でもっても構成される。
一実施形態による現在ブロック1701は、現在ブロックの輪郭によって、複数個のセグメント領域にも分割される。また、一実施形態による現在ブロック1701の領域は、複数個のセグメント領域とセグメント領域との境界領域1720に区分される。例えば、一実施形態による現在ブロックの境界領域1720は、現在ブロックの輪郭が通過するサンプルで構成される領域でもあり、現在ブロックの輪郭を中心に、所定幅を有する領域でもある。
具体的には、図17を参照すれば、現在ブロック1701は、直線輪郭1705によって、2つのセグメントにも分割される。現在ブロック1701は、原点(0,0)を含む左側セグメント、及び原点(0,0)を含まない右側セグメントにも分割される。例えば、原点(0,0)は、現在ブロック1701内の左側上端サンプルの位置でもある。
一実施形態による現在ブロック1701の左側セグメント領域に含まれるサンプルに係わるマスク値は、いずれも0に決定され、右側セグメント領域に含まれるサンプルに対応するマスク値は、いずれも1にも決定される。このとき、現在ブロック1701内のサンプルは、長方形単位または正方形単位のサンプルでもあるために、現在ブロック1701のサンプルの位置が、左側セグメント領域または右側セグメント領域に含まれる場合、それ以外にも、輪郭1705近辺の境界領域1720において、サンプルの位置が、左側セグメント領域及び右側セグメント領域にまたがっている場合がありうる。
従って、一実施形態による、現在ブロック1701の左側セグメントと右側セグメントとの境界領域1720に含まれるサンプルに係わるマスク値は、図18を参照して後述する方法によって、0または1にも決定される。
一実施形態による、境界領域1720に含まれるサンプルは、現在ブロック1701の輪郭1705が通過するサンプルであり、図17としては、10個のサンプルが境界領域1720に含まれてもよい。例えば、現在ブロック1701の輪郭1705は、(3,5)に位置するサンプル1710を通過することができ、輪郭1705の一部を含むサンプル1701は、境界領域1720に含まれてもよい。
また、一実施形態による現在ブロック1701の左側セグメント領域に含まれるサンプルに係わるマスク値は、いずれも0に決定され、右側セグメント領域に含まれるサンプルに対応するマスク値は、いずれも255(あるいは、256)にも決定される。一実施形態による現在ブロック1701の左側セグメントと右側セグメントとの境界領域1720に含まれるサンプルに対応するマスク値は、図18を参照して後述する方法によって、0ないし255(あるいは、256)の値にも決定される。
左側セグメント領域と右側セグメント領域とのサンプルのマスク値は、前述の例示に制限されるものではなく、マスク値のビットデプスによって、他の値にもなる。
一実施形態による現在ブロック1701に含まれた全てのサンプルに係わるそれぞれのマスク値が決定されることにより、マスク値を含む現在ブロック1701のマスクが生成される。
一実施形態による現在ブロック1701のマスクは、現在ブロック1701のルマブロック、及び現在ブロック1701のクロマブロックについてそれぞれ生成される。または、現在ブロック1701のルマブロックに係わるマスクに基づいて、クロマブロックに係わるマスクを生成することもできる。例えば、現在ブロック1701のルマブロックに係わるマスクをダウンサンプリングするか、あるいは位相移動を考慮したデシメーション(decimation)を適用し、クロマブロックに係わるマスクを生成することができる。該デシメーションを適用する場合、水平方向への3タップガウシアンフィルタ、及び垂直方向への3タップガウシアンフィルタのうち少なくとも一つを利用することができる。
または、現在ブロック1701のルマブロックに係わる輪郭に係わる情報に基づいて、クロマブロックに係わるマスクを生成することもできる。すなわち、現在ブロック1701のルマブロックに係わる輪郭の座標を変換し、クロマブロックに係わる輪郭の座標を獲得し、獲得されたクロマブロックに係わる輪郭の座標を利用して、クロマブロックに係わるマスクを生成することができる。
または、現在ブロック1701のクロマブロックに係わるマスクを先に生成した後、クロマブロックに係わるマスクを利用して、ルマブロックに係わるマスクを誘導することもできる。
図18は、図17の現在ブロック1701の境界領域に含まれるサンプル1710のマスク値を決定する多様な方法の例示を示している。
図18を参照すれば、境界領域に含まれるサンプルであるサンプル1801、サンプル1802及びサンプル1803が示されている。図17の現在ブロック1701の境界領域に含まれるサンプル1710に対応するマスク値は、図18のサンプル1801、サンプル1802またはサンプル1803のような方法でも決定される。
具体的には、サンプル1801を参照すれば、一実施形態によるサンプル1801に対応するマスク値は、サンプル1801を通過する輪郭によって生成されるサンプル1801内の2つの領域の面積に基づいても決定される。例えば、図18において、輪郭によって生成されるサンプル1801内の2つの領域は、サンプル1801の左側領域(または、左上側領域)、及びサンプル1801の右側領域(または、右下側領域)でもある。サンプル1801の左側領域は、サンプル1801の原点であるサンプル1801の左側上端頂点を含む領域でもある。
図17において、現在ブロック1701の左側セグメントに含まれるサンプルのマスク値が0であり、右側セグメントに含まれるサンプルのマスク値が1である場合、一実施形態によるサンプル1801に対応するマスク値は、輪郭によって生成されるサンプル1801内の2つの領域の面積の大きさによっても決定される。サンプル1801に対応するマスク値は、サンプル1801内の2つの領域の面積を比較し、右側面積(0.75)が左側面積(0.25)より広い場合、現在ブロック1701の右側セグメントのマスク値のような値である1にも決定される。
また、図17において、左側セグメントに含まれるサンプルのマスク値が0であり、右側セグメントに含まれるサンプルのマスク値が255である場合、一実施形態によるサンプル1801に対応するマスク値は、輪郭によって生成されるサンプル1801内の2つの領域の面積の大きさに比例しても決定される。例えば、一実施形態によるサンプル1801に対応するマスク値は、「(サンプル1801の左側領域の広さ*左側セグメントのマスク値)+(サンプル1801の右側領域の広さ*右側セグメントのマスク値))/サンプル1801の広さ」とも決定される。
例えば、左側領域は、広さが0.25であり、右側領域の広さが0.75であり、現在ブロック1701の左側セグメントのマスク値が0であり、現在ブロック1701の右側セグメントのマスク値が255であり、サンプル1801の広さが1である場合、サンプル1801に対応するマスク値は、191.25にも決定される。または、サンプル1801に対応するマスク値は、191.25の値を四捨五入した191にも決定される。または、右側セグメントのマスク値が256である場合、サンプル1801に対応するマスク値は、192にも決定される。
このとき、左側セグメントのマスク値は、サンプル1801の左側に隣接するサンプルに対応するマスク値でもあり、右側セグメントのマスク値は、サンプル1801の右側に隣接するサンプルに対応するマスク値でもある。または、左側セグメントのマスク値は、サンプル1801の上側に隣接するサンプルに対応するマスク値でもあり、右側セグメントのマスク値は、サンプル1801の下側に隣接するサンプルに対応するマスク値でもある。
また、サンプル1802を参照すれば、一実施形態によるサンプル1802に対応するマスク値は、サンプル1802の中心と、サンプル1802を通過する輪郭との垂直距離dに基づいても決定される。例えば、図18において、輪郭によって生成されるサンプル1802内の2つの領域は、サンプル1802の左側領域(または、左上側領域)、及びサンプル1802の右側領域(または、右下側領域)でもある。サンプル1802の左側領域は、サンプル1802の原点であるサンプル1802の左側上端頂点を含む領域でもある。
図17において、左側セグメントに含まれるサンプルのマスク値が0であり、右側セグメントに含まれるサンプルのマスク値が255である場合、一実施形態によるサンプル1802に対応するマスク値は、サンプル1802の中心と、サンプル1801を通過する輪郭との距離dに基づいて、0と255との中間値にも決定される。例えば、一実施形態によるサンプル1802に対応するマスク値は、サンプル1802の中心を含む領域が、サンプル1802の原点を含む左側領域である場合、128−clip3(0,1,d/threshold)*128」にも決定される。また、一実施形態によるサンプル1802に対応するマスク値は、サンプル1802の中心を含む領域がサンプル1802の原点を含まない右側領域である場合、「128+clip3(0,1,d/threshold)*128」にも決定される。
このとき、該thresholdは、あらかじめ設定される閾値であり、境界領域の幅を調節する役割を行い、clip3関数は、次のように定義もされる。
clip3(a,b,c)=a(when c<a)、b(when c>b)、or c(when a≦c≦b)
前記数式において、128の値は、例示的な値であり、マスク値のビットデプスによって、異なる値にもなる。
また、サンプル1803を参照すれば、一実施形態によるサンプル1803に対応するマスク値は、サンプル1803の中心から、サンプル1803を通過する輪郭に至る水平距離dx及び垂直距離dyを利用しても決定される。
また、一実施形態によるサンプル1710に対応するマスク値は、サンプル1710に係わるコストcを計算し、サンプル1710に係わるコストを0と比較することにより、決定することができる。
サンプル1710に係わるコストcは、当該サンプル1710と、現在ブロック1701を通過する輪郭との距離を示す値でもある。例えば、一実施形態によるサンプル1710に係わるコストは、次のようにも計算される。
c=f(x,y,x0,y0,x1,y1)=(y−y0)*(x1−x0)−(x−x0)*(y1−y0)
このとき、(x0,y0)は、サンプル1710を通過する輪郭1705の第1座標であり、(x1,y1)は、サンプル1710を通過する輪郭1705の第2座標であり、(x,y)は、現在サンプル1710の座標でもある。
図19及び図20は、多様な実施形態による現在ブロック1901のマスクを生成する方法の例示を示している。
図19を参照すれば、単一直線輪郭を利用して、2個のセグメントに分割される現在ブロック1901が示されている。一実施形態による現在ブロック1901は、8x8サイズのブロックでもあるが、それは一例示であるのみ、それ以外にも、64x64、32x32、16x16などの大きさのブロックにもなる。
一実施形態による現在ブロック1901は、現在ブロック1901から、少なくとも1つのセグメントを決定するための輪郭により、2つのセグメントにも分割される。例えば、現在ブロック1901は、輪郭によって、第1セグメントと第2セグメントにも分割される。このとき、図19を参照すれば、第1セグメントは、現在ブロック1901の左側(または、左上側)セグメントであり、第2セグメントは、現在ブロック1901の右側(または、右下側)セグメントでもある。
現在ブロック1901を参照すれば、現在ブロック1901の第1セグメントに完全に含まれるサンプルが位置する領域は、第1領域(白)であり、第2セグメントに完全に含まれるサンプルの位置する領域は、第2領域(陰影表示)でもある。また、現在ブロック1901のサンプルの一部は、左側セグメントに含まれ、残り一部は、右側セグメントに含まれるサンプルが位置する領域は、境界領域(ドット表示)でもある。
図19及び図20の多様な実施形態による現在ブロック1901のマスクを生成する方法によれば、現在ブロック1901のマスクを構成する現在ブロック1901のそれぞれのサンプルに対応するマスク値は、ビットデプスが1であるバイナリー値にも決定される。
具体的には、一実施形態による現在ブロック1901のマスクを生成する方法によれば、第1領域に対応するマスク値は、0に決定され、第2領域に対応するマスク値は、1にも決定される。
このとき、ブロック1902を参照すれば、現在ブロック1901の境界領域に対応するマスク値は、第1領域に対応するマスク値と同一に0にも決定される。または、ブロック1903を参照すれば、現在ブロック1901の境界領域に対応するマスク値は、第2領域に対応するマスク値と同一に1にも決定される。
また、図20において、現在ブロック1901のマスクを生成するための他の実施形態によれば、現在ブロック1901の境界領域に含まれるサンプルのうち一部サンプルに対応するマスク値は、それぞれ0に決定され、残りサンプルに対応するマスク値は、それぞれ1にも決定される。
具体的には、図20のブロック2001を参照すれば、現在ブロック1901の各サンプルに対して、2以上のビットデプスを有するグレースケール値を決定し、決定されたグレースケール値に基づいて、現在ブロック1901の各サンプルに対して、ビットデプスが1であるバイナリー値を決定することにより、現在ブロック1901のマスクが生成される。
現在ブロック1901のサンプルに対応するグレースケール値は、図18で説明した境界領域に含まれるサンプルのマスク値を決定する多様な方法によっても決定される。例えば、ビットデプスが8である場合、現在ブロック1901のサンプルに対応するグレースケール値は、0ないし255の値にもなる。
例えば、ブロック2001を参照すれば、現在ブロック1901の第1領域に対応するマスク値は、0に決定され、第2領域に対応するマスク値は、255にも決定される。また、現在ブロック1901の境界領域に含まれるサンプルに対応するマスク値は、図18で説明した多様な方法によって、それぞれ0と255との間の値にも決定される。
かように、0ないし255の値に決定されたグレースケールのマスク値をバイナリー値に変換することにより、一実施形態による現在ブロック1901のマスクを生成することができる。
例えば、ブロック2002を参照すれば、ブロック2001のように決定されたそれぞれのサンプルに係わるグレースケールのマスク値に基づいて、バイナリーのマスク値を生成することができる。ブロック2001の第1領域に対応するグレースケールのマスク値が0である場合、バイナリーマスク値は、0にも決定される。また、ブロック2001の第2領域に対応するグレースケールのマスク値が255である場合、バイナリーマスク値は、1にも決定される。
また、ブロック2001の境界領域に含まれたサンプルにおいて、サンプルに対応するグレースケールのマスク値が128より小さい場合、当該サンプルのバイナリーマスク値は、0に決定され、サンプルに対応するグレースケールのマスク値が128より大きいか、あるいはそれと同じである場合、当該サンプルのバイナリーマスク値は、1にも決定される。または、ブロック2001の境界領域に含まれたサンプルにおいて、サンプルに対応するグレースケールのマスク値が128より小さいか、あるいはそれと同じである場合、当該サンプルのバイナリーマスク値は、0に決定され、サンプルに対応するグレースケールのマスク値が128より大きい場合、当該サンプルのバイナリーマスク値は、1にも決定される。
ビデオ復号装置20及びビデオ符号化装置10は、グレースケールのマスク値を利用して、現在ブロック1901の境界をさらに正確に表現することができ、グレースケールのマスク値をバイナリーマスク値に変換して利用することにより、マスクを利用した演算の複雑度を低下させ、効率を高めることができる。
前述の図19及び図20の方法が遂行される過程において、現在ブロック1901の第1領域を決定するために、多様な方法が利用される。
例えば、現在ブロック1901のセグメントにおいて、現在ブロック1901の原点(0,0)である左側上端サンプルを含むセグメントに対応する領域が第1領域に決定され、残りセグメントに対応する領域が第2領域にも決定される。
また、他の方法として、現在ブロック1901に含まれたサンプルに係わるコストcを次のように計算し、計算されたコストが0より小さいサンプルの位置は、第1領域と判断することができる。
c=f(x,y,x0,y0,x1,y1)=(y−y0)*(x1−x0)−(x−x0)*(y1−y0)
このとき、(x0,y0)は、現在ブロック1901を通過する輪郭の第1座標であり、(x1,y1)は、輪郭の第2座標であり、(x,y)は、現在ブロック1901のサンプルの座標でもある。
図21は、一実施形態による、現在ブロック2101のマスクを生成する方法の例示を示している。
図21を参照すれば、単一直線輪郭を利用して、少なくとも1つのセグメントに分割される現在ブロック2101が示されている。一実施形態による現在ブロック2101は、8x8サイズのブロックでもあるが、それは一例示であるのみ、それ以外にも、64x64、32x32、16x16などの大きさのブロックにもなる。
このとき、現在ブロック2101を通過する輪郭は、現在ブロック2101を2つのセグメントに分割しないので、現在ブロック2101は、図17のように、第1領域、第2領域及び境界領域で分けられない。例えば、図21を参照すれば、該輪郭が、現在ブロック2101の頂点に位置した1つのサンプルのみを通過する場合、現在ブロック2101は、1つのセグメントにも分割され、現在ブロック2101は、該輪郭が通過する境界領域と、境界領域ではないセグメント領域とに分けられる。
具体的には、図21において、該輪郭は、現在ブロック2101内のサンプルにおいて、左側上端サンプル、左側下端サンプル、右側上端サンプル及び右側下端サンプルのうち1つのサンプルのみを通過することができる。
図21のような場合、現在ブロック2101のマスクは、第1マスク値及び第2マスク値からも構成される。例えば、現在ブロック2101の境界領域に含まれるサンプルに対応するマスク値は、第1マスク値と決定され、現在ブロック2101の境界領域ではない残り領域に含まれるサンプルに対応するマスク値は、第2マスク値にも決定される。第1マスク値及び第2マスク値は、あらかじめ設定された値であり、マスク値のビットデプスによって異なるようにも設定される。例えば、第1マスク値は、0であり、第2マスク値は、127(あるいは、128)でもある。または、第1マスク値が255(あるいは、256)であり、第2マスク値は、0でもある。
一実施形態による現在ブロック2101の第1マスク値及び第2マスク値は、現在ブロック2101内での境界領域の位置によって異なるようにも設定される。例えば、現在ブロック2101の境界領域が、現在ブロック2101内の左側上端に位置する場合、第1マスク値及び第2マスク値は、それぞれ0及び127に決定され、現在ブロック2101の境界領域が、現在ブロック2101内の右側上端に位置する場合、第1マスク値及び第2マスク値は、それぞれ255及び127にも決定される。
図22は、一実施形態による現在ブロック2201のセグメントに対して予測を行う方法を示している。
現在ブロック2201から決定された少なくとも1つのセグメントは、イントラ予測(intra prediction)方式を利用しても予測される。
具体的には、図22を参照すれば、現在ブロック2201のセグメントは、イントラDCモードを利用しても予測される。イントラDCモードは、現在ブロック2201が含まれたピクチャ内の現在ブロック2201の周辺の参照サンプルを利用して、現在ブロック2201のセグメント予測値を生成する方法でもある。例えば、DCモードにおいて、現在ブロック2201のセグメント予測値は、DC値であり、参照される周辺参照サンプルの平均値にもなる。
一方、現在ブロック2201内に輪郭が含まれてセグメント間の境界が生じる場合、一実施形態による現在ブロック2201のセグメントに係わる予測は、セグメント間の境界を考慮しても行われる。具体的には、現在ブロック2201の周辺の参照サンプルに基づいて、DC値であるセグメントのサンプル値が先に生成され、生成されたセグメントのサンプル値に、セグメントの領域及び境界を示すマスクを適用し、セグメントの予測値が生成される。このとき、該セグメントのサンプル値は、セグメントに対応する領域に含まれるサンプルそれぞれに係わるサンプル値を意味する。また、該セグメントの予測値は、セグメントに対応する領域に含まれるサンプルにそれぞれに対する予測値を意味する。
図22は、一実施形態による、現在ブロック2201の周辺の参照サンプルを利用して、現在ブロック2201のセグメントのサンプル値を生成する方法について説明するための図面である。
一実施形態による、現在ブロック2201のセグメントのサンプル値は、現在ブロック2201の外部に隣接した参照サンプルに基づいても生成される。一実施形態による、現在ブロック2201に隣接した参照サンプルは、現在ブロック2201の上側外部に隣接した上側参照サンプル、及び左側外部に隣接した左側参照サンプルを含んでもよい。
図22を参照すれば、現在ブロック2201は、現在ブロック2201から、少なくとも1つのセグメントを決定するための輪郭モードによって、2つのセグメントにも分割される。このとき、現在ブロック2201の2つのセグメントに含まれたサンプルのサンプル値は、現在ブロック2201の参照サンプルのうち、それぞれの当該セグメントの外部に隣接する参照サンプルに基づいても生成される。
具体的には、輪郭モードが第1モードである場合、現在ブロック2201は、左側セグメント及び右側セグメントにも分割される。現在ブロック2201の左側セグメントのサンプル値は、左側セグメントの上側及び左側外部にそれぞれ隣接する上側参照サンプル及び左側参照サンプルに基づいても生成される。例えば、左側セグメントに含まれたサンプルのサンプル値は、左側セグメントの上側参照サンプル、及び左側参照サンプルのサンプル値の平均値としても決定される。このとき、左側セグメントに隣接する上側参照サンプルは、現在ブロック2201の隣接する上側周辺サンプルのうち、現在ブロック2201の輪郭の第1座標より左側に位置するサンプルを含んでもよい。また、現在ブロック2201の右側セグメントのサンプル値は、右側セグメントに隣接する上側参照サンプルに基づいても生成される。このとき、右側セグメントに隣接する上側参照サンプルは、現在ブロック2201の隣接する上側周辺サンプルのうち、現在ブロック2201の輪郭の第1座標より右側に位置するサンプルを含んでもよい。
また、輪郭モードが第2モードである場合、現在ブロック2201は、左側セグメント及び右側セグメントにも分割される。現在ブロック2201の左側セグメントのサンプル値は、左側セグメントに隣接する上側参照サンプル及び左側参照サンプルに基づいて生成され、現在ブロック2201の右側セグメントのサンプル値は、右側セグメントに隣接する上側参照サンプルに基づいても生成される。このとき、左側セグメントに隣接する上側参照サンプルは、現在ブロック2201の隣接する上側周辺サンプルのうち、現在ブロック2201の輪郭の第1座標より左側に位置するサンプルを含んでもよく、右側セグメントに隣接する上側参照サンプルは、現在ブロック2201の隣接する上側周辺サンプルのうち、現在ブロック2201の輪郭の第1座標より右側に位置するサンプルを含んでもよい。
また、輪郭モードが第3モードである場合、現在ブロック2201は、左側セグメント及び右側セグメントにも分割される。現在ブロック2201の左側セグメントのサンプル値は、左側セグメントに隣接する上側参照サンプル及び左側参照サンプルに基づいても生成される。このとき、左側セグメントに隣接する上側参照サンプルは、現在ブロック2201の隣接する上側周辺サンプルのうち、現在ブロック2201の輪郭の第1座標より左側に位置するサンプルを含んでもよく、左側セグメントに隣接する左側参照サンプルは、現在ブロック2201の隣接する左側周辺サンプルのうち、現在ブロック2201の輪郭の第2座標より上側に位置するサンプルを含んでもよい。また、現在ブロック2201の右側セグメントのサンプル値は、右側セグメントに隣接する上側参照サンプル及び左側参照サンプルに基づいても生成される。このとき、右側セグメントに隣接する上側参照サンプルは、現在ブロック2201の隣接する上側周辺サンプルのうち、現在ブロック2201の輪郭の第1座標より右側に位置するサンプルを含んでもよく、右側セグメントに隣接する左側参照サンプルは、現在ブロック2201の隣接する左側周辺サンプルのうち、現在ブロック2201の輪郭の第2座標より下側に位置するサンプルを含んでもよい。
また、輪郭モードが第4モードである場合、現在ブロック2201は、左側セグメント及び右側セグメントにも分割される。現在ブロック2201の左側セグメントのサンプル値は、左側セグメントに隣接する上側参照サンプル及び左側参照サンプルに基づいても生成される。このとき、現在ブロック2201の右側セグメントのサンプル値は、現在ブロック2201の周辺サンプルを利用して生成されずに直接伝送される。例えば、輪郭モードが第4モードである場合、ビデオ復号装置20は、ビデオ符号化装置10から、右側セグメントのサンプル値に係わる情報を受信し、サンプル値を生成することができる。または、現在ブロック2201の右側セグメントのサンプル値は、現在ブロック2201に隣接していない周辺サンプルを利用しても生成され。それに係わるさらに詳細な説明は、図23を参照して後述する。
また、輪郭モードが第5モードである場合、現在ブロック2201は、上側セグメント及び下側セグメントにも分割される。現在ブロック2201の上側セグメントのサンプル値は、上側セグメントに隣接する上側参照サンプル及び左側参照サンプルに基づいても生成される。このとき、上側セグメントに隣接する左側参照サンプルは、現在ブロック2201の隣接する左側周辺サンプルのうち、現在ブロック2201の輪郭の第2座標より上側に位置するサンプルを含んでもよい。また、現在ブロック2201の下側セグメントのサンプル値は、下側セグメントに隣接する左側参照サンプルに基づいても生成される。このとき、下側セグメントに隣接する左側参照サンプルは、現在ブロック2201の隣接する左側周辺サンプルのうち、現在ブロック2201の輪郭の第2座標より下側に位置するサンプルを含んでもよい。
また、輪郭モードが第6モードである場合、現在ブロック2201は、左側セグメント及び右側セグメントにも分割される。現在ブロック2201の右側セグメントのサンプル値は、右側セグメントに隣接する上側参照サンプル及び左側参照サンプルに基づいても生成される。このとき、右側セグメントに隣接する左側参照サンプルは、現在ブロック2201の隣接する左側周辺サンプルのうち、現在ブロック2201の輪郭の第2座標より上側に位置するサンプルを含んでもよい。また、現在ブロック2201の左側セグメントのサンプル値は、左側セグメントに隣接する左側参照サンプルに基づいても生成される。このとき、左側セグメントに隣接する左側参照サンプルは、現在ブロック2201の隣接する左側周辺サンプルのうち、現在ブロック2201の輪郭の第2座標より下側に位置するサンプルを含んでもよい。
ただし、セグメントのサンプル値は、参照サンプルのサンプル値の平均値以外にも、参照サンプルのうち1つのサンプルのサンプル値、または参照サンプルのサンプル値の中間値などによっても決定される。
一実施形態による、現在ブロック2201のセグメントのサンプル値は、ルマ成分及びクロマ成分に対してそれぞれ生成され、セグメントの予測値も、ルマ成分及びクロマ成分に対してそれぞれ生成される。現在ブロック2201の輪郭モードが第4モードである場合、現在ブロック2201の右側セグメントのルマ成分のサンプル値は、ビデオ符号化装置10及びビデオ復号装置20の間で直接送受信されると決定され、クロマ成分のサンプル値は、ルマ成分のサンプル値から誘導して決定することができる。
一方、現在ブロック2201の輪郭モードが第4モードである場合、一実施形態による、現在ブロック2201の右側セグメントのサンプル値は、ビデオ符号化装置10とビデオ復号装置20との間で送受信される。
しかし、他の実施形態によるビデオ符号化装置10は、輪郭モードに係わりなく、現在ブロックに隣接した周辺参照サンプルを利用することができる場合にも、正確な予測のために、現在ブロックの全てのセグメントのサンプル値を決定して伝送することもできる。
また、一実施形態によるビデオ符号化装置10は、現在ブロックのセグメントに含まれたサンプルを利用して獲得した実際セグメントのサンプル値と、周辺参照サンプルを利用して誘導されるセグメントのサンプル値との差値を計算し、ビデオ復号装置20に伝送することもできる。ビデオ復号装置20は、現在ブロックの周辺参照サンプルを利用してセグメントの誘導されるセグメントのサンプル値と、ビデオ符号化装置10から受信される差値とに基づいて、現在ブロックのセグメントのサンプル値を復元することができる。
前述の方法によって、現在ブロック2201のセグメントのサンプル値が生成されれば、生成されたセグメントのサンプル値に、セグメントの領域及び境界を示すマスクを適用し、現在ブロック2201のセグメント予測値を生成することができる。
具体的には、一実施形態による、現在ブロック2201のマスクがバイナリーマスクである場合、現在ブロック2201のセグメント予測値は、セグメントのサンプル値に基づいても決定される。例えば、第1セグメントに含まれるサンプルが位置する第1領域のマスク値が0であり、第2セグメントに含まれるサンプルが位置する第2領域のマスク値が1である場合、現在ブロック2201の第1セグメントの予測値は、第1セグメントのサンプル値によって決定され、現在ブロック2201の第2セグメントの予測値は、第2セグメントのサンプル値によっても決定される。
このとき、現在ブロック2201の境界領域に含まれたサンプルの予測値は、境界領域のマスク値によっても決定される。例えば、現在ブロック2201の境界領域に含まれたサンプルのうち、マスク値が0であるサンプルの予測値は、同一マスク値を有する第1セグメントのサンプル値によって決定され、マスク値が1であるサンプルの予測値は、同一マスク値を有する第2セグメントのサンプル値によっても決定される。
また、一実施形態による、現在ブロック2201のマスクが、バイナリーマスクがグレースケールのマスクである場合、例えば、マスク値のビットデプスが8ビットである場合、現在ブロック2201のセグメント予測値は、セグメントのサンプル値に基づいて、下記のようにも計算される。
P=((255−M)*DC0+(M)*DC1+128)>>8
このとき、Pは、現在ブロック2201に含まれたそれぞれのサンプルの予測値を示し、Mは、現在ブロック2201に含まれたそれぞれのサンプルのマスク値を示す。また、DC0は、現在ブロック2201の第1セグメントのサンプル値を示し、DC1は、現在ブロック2201の第2セグメントのサンプル値を示すことができる。前記数式において、255、128は、それぞれ現在ブロック2201のマスク値のビットデプスによる最大値及び中間値であり、現在ブロック2201のマスク値のビットデプスによっても変更される。
前記数式により、マスク値が0である現在ブロック2201の第1セグメントの予測値は、第1セグメントのサンプル値によって決定され、マスク値が255である現在ブロック2201の第2セグメントの予測値は、第2セグメントのサンプル値によっても決定される。このとき、現在ブロック2201の境界領域に含まれたサンプルの予測値は、境界領域のマスク値と、第1セグメントのサンプル値及び第2セグメントのサンプル値とを利用しても決定される。
前述のように、一実施形態による、現在ブロック2201から決定されたセグメントを考慮し、現在ブロック2201を予測する方法によれば、現在ブロック2201内に含まれた物体の境界をさらに正確に表現することができる。
一方、一実施形態による、現在ブロック2201の輪郭によって決定されたセグメントを考慮し、現在ブロック2201を予測する方法と、既存の四角形の予測ブロックを利用するイントラ予測方法及びインター予測方法とを組み合わせ、現在ブロック2201の予測ブロックを生成することもできる。
例えば、一実施形態による現在ブロック2201の予測ブロックは、下記のようにも生成される。
P(x,y)=(P0(x,y)+P1(x,y)+1)>>1
このとき、P0(x,y)は、一実施形態による、現在ブロック2201の輪郭によって決定されたセグメントを考慮し、現在ブロック2201を予測する方法による現在ブロック2201の予測ブロックを示す。P1(x,y)は、既存の四角形の予測ブロックを利用するイントラ予測方法またはインター予測方法による現在ブロック2201の予測ブロックを示すことができる。P(x,y)は、現在ブロック2201の最終予測ブロックを示すことができる。
例えば、P1(x,y)は、HEVCのプレーナ(planar)モードを利用して生成された現在ブロック2201の予測ブロックでもある。または、P1(x,y)は、HEVCのMPM(most probable mode)規則によって選択された最初モードを利用して生成された現在ブロック2201の予測ブロックでもある。
また、一実施形態による、現在ブロック2201の最終予測ブロックは、それぞれの予測ブロックに加重値を割り当て、下記のようにも生成される。
P(x,y)=(3*P0(x,y)+P1(x,y)+2)>>2
現在ブロック2201の予測ブロックを、前述のような多様な方法の組み合わせによって生成することにより、現在ブロック2201内のサンプル値の勾配またはテクスチャ(texture)の表現に係わる符号化効率を高めることができる。現在ブロック2201の予測ブロックに対して、前述のような多様な方法を組み合わせる方法は、ブロック単位で選択的にも適用される。
図23は、一実施形態による、現在ブロック2301のセグメントに対して予測を行う方法を示している。
図23を参照すれば、一実施形態による、輪郭モードが第4モードである現在ブロック2301が示されている。
輪郭モードが第4モードである場合、一実施形態による現在ブロック2301は、左側(または、左上側)セグメント及び右側(または、右下側)セグメントにも分割される。このとき、現在ブロック2301の右側セグメントは、現在ブロック2301の上側参照サンプル及び左側参照サンプルのうちいずれの参照サンプルとも隣接しないために、現在ブロック2301の右側セグメントのサンプル値は、現在ブロック2301の隣接した上側参照サンプル及び左側参照サンプルを利用することができない。
一方、図23を参照すれば、一実施形態による、現在ブロック2301の右側セグメントのサンプル値は、現在ブロック2301の周辺サンプルを参照しても生成される。このとき、参照される現在ブロック2301の周辺サンプルは、現在ブロック2301に隣接するサンプルではない。
具体的には、一実施形態による、現在ブロック2301の右側セグメントのサンプル値は、現在ブロック2301の外部に隣接する上側サンプル及び左側サンプルを拡張させた位置のサンプルを参照しても生成される。例えば、参照サンプルは、現在ブロック2301の上側サンプルを、右側に拡張させた位置のサンプル、及び現在ブロック2301の左側サンプルを、下側に拡張させた位置のサンプルでもある。例えば、参照サンプルは、現在ブロック2301の右側上端ブロック2302の右側下端に位置したサンプル、及び現在ブロック2301の左側下端ブロック2302の右側下端に位置したサンプルを含んでもよい。
例えば、一実施形態による、現在ブロック2301の右側セグメントのサンプル値は、ブロック2302の右側下端に位置したサンプルのサンプル値、及びブロック2301の左側下端ブロック2302の右側下端に位置したサンプルのサンプル値の平均値とも決定される。
また、他の実施形態による現在ブロック2301の右側セグメントのサンプル値は、現在ブロック2301の隣接するか、あるいは隣接していない周辺の参照サンプルを参照せず、ビデオ符号化装置10及びビデオ復号装置20の間で直接送受信される。
具体的には、一実施形態によるビデオ符号化装置10は、現在ブロック2301の右側セグメントに対応する領域に含まれるサンプルのサンプル値を利用して、右側セグメントのサンプル値を決定することができる。例えば、右側セグメントのサンプル値は、現在ブロック2301の右側セグメントに対応する領域に含まれるサンプルのサンプル値の平均によっても決定される。一実施形態によるビデオ符号化装置10は、決定された右側セグメントのサンプル値を、ビデオ復号装置20に伝送することができる。
このとき、一実施形態による、右側セグメントのサンプル値は、現在ブロック2301のサンプルのビットデプスと同一ビットデプスのデータとしても伝送される。または、右側セグメントのサンプル値は、伝送効率のために、量子化を経て、現在ブロック2301のサンプルのビットデプスより小さいビットデプスのデータとしても伝送される。
図24は、多様な実施形態による、現在ブロック2301のセグメントのサンプル値を伝送する方法について説明するための図面である。
一実施形態による、現在ブロック2301のセグメントのサンプル値が、ビデオ符号化装置10とビデオ復号装置20との間で伝送される場合、セグメントのサンプル値は、伝送効率のために、量子化及び逆量子化される。
具体的には、一実施形態によるビデオ符号化装置10は、決定されたセグメントのサンプル値が8ビットのDC値である場合、決定されたセグメントのサンプル値を、下記のように4ビットの値に均等に(uniformly)量子化することができる。
DCquant=DCorig>>4
このとき、DCquantは、量子化されたサンプル値でり、DCorigは、量子化以前のサンプル値でもある。または、一実施形態によるビデオ符号化装置10は、決定されたセグメントのサンプル値を四捨五入し、下記のように、4ビットの値に均等に量子化することもできる。
DCquant=(DCorig+8)>>4
また、一実施形態によるビデオ復号装置20は、ビデオ符号化装置10から受信されたセグメントのサンプル値を、下記のように逆量子化することができる。
DC=DCquant<<4
または、一実施形態によるビデオ復号装置20は、ビデオ符号化装置10から受信されたセグメントのサンプル値を、下記のように逆量子化することができる。
DC=(DCquant<<4)+8
また、他の一実施形態による、ビデオ符号化装置10とビデオ復号装置20は、セグメントのサンプル値を、それぞれ非均等に(non-uniformly)量子化及び逆量子化することができる。
具体的には、図24を参照すれば、現在ブロック2301のサンプルのビットデプスが8ビットである場合の非均等(non-uniformly)量子化のための量子化係数が示されている。図24のグラフを見れば、グラフ内の数字は、量子化以前のサンプル値であり、y座標は、量子化されたサンプル値でもある。x座標は、量子化されたサンプル値がスケーリングされた結果値でもある。
このとき、セグメントのサンプル値は、中間値である128近辺で、さらに細密に量子化され、量子化されたサンプル値は、4ビットのデータにスケーリングされる。かような非均等量子化を行う場合、中間値近辺において、サンプル値が存在する確率が高くなるので、符号化効率を高めることができる。
具体的には、一実施形態によるビデオ符号化装置10は、セグメントのサンプル値を、下記のように非均等量子化することができる。
DC=128+(DCIdx<7−1,1)*(((DCIdx−7)*(DCIdx−7)*585+128)>>8)
一方、現在ブロック2301の輪郭モードが第4モードである場合、一実施形態による、現在ブロック2301の右側セグメントのサンプル値または予測値は、ビデオ符号化装置10とビデオ復号装置20との間で送受信される。
しかし、他の一実施形態によるビデオ符号化装置10は、輪郭モードに係わりなく、現在ブロックに隣接した周辺参照サンプルを利用することができる場合にも、正確な予測のために、現在ブロックの全てのセグメントのサンプル値を伝送することもできる。
図25及び図26は、多様な実施形態による、現在ブロック2510,2610,2620の周辺サンプルを利用して、現在ブロックのセグメントのサンプル値を生成する方法を示している。
図25を参照すれば、8x8サイズの現在ブロック2510と、現在ブロック2510の隣接した周辺サンプルとが示されている。一実施形態による、現在ブロック2510の周辺サンプルは、現在ブロック2510の上側周辺サンプル、左側周辺サンプル及び左上側周辺サンプルを含んでもよい。このとき、図25に示されたサンプルは、ルマ成分のサンプルでもある。
一実施形態による、現在ブロック2510のサンプル値は、周辺サンプルのうち一部の参照サンプルを参照しても生成される。例えば、現在ブロック2510の周辺サンプルのうち、輪郭までの所定距離以上になる周辺サンプルが参照サンプルにも決定される。
具体的には、図25を参照すれば、現在ブロック2510の輪郭の第1座標2501と第2座標2502とを利用して、現在ブロック2510の参照サンプルが決定される。例えば、現在ブロック2510の輪郭の第1座標2501と第2座標2502は、図11ないし図14で説明した方法によって、現在ブロックに隣接したサンプルの位置としても決定される。
一実施形態による、現在ブロック2510の参照サンプルは、現在ブロック2510の周辺サンプルのうち、輪郭の第1座標2501及び第2座標2502との距離が所定距離以上になる周辺サンプルにも決定される。例えば、現在ブロック2510の輪郭モードが第3モードであるので、現在ブロック2510は、現在ブロック2510の左上側の第1セグメント及び右下側の第2セグメントにも分割される。
一実施形態による、現在ブロック2510の第1セグメントのサンプル値は、第1セグメントに隣接する上側の周辺サンプルのうち、現在ブロック2510の輪郭の第1座標2501から左側に所定距離以上離れた参照サンプル、及び第1セグメントに隣接する左側の周辺サンプルのうち、現在ブロック2510の輪郭の第2座標2502から上側に所定距離以上離れた参照サンプルを利用しても決定される。
また、一実施形態による、現在ブロック2510の第2セグメントのサンプル値は、第2セグメントに隣接する上側の周辺サンプルのうち、現在ブロック2510の輪郭の第1座標2501から右側に所定距離以上離れた参照サンプルと、第2セグメントに隣接する左側の周辺サンプルとのうち、現在ブロック2510の輪郭の第2座標2502から下側に所定距離以上離れた参照サンプルを利用しても決定される。
このとき、該所定距離は、現在ブロック2510の大きさ、演算の効率、映像の画質などを考慮し、あらかじめ設定された距離であり、例えば、図25では、2ピクセルにもなる。
図26を参照すれば、4x4サイズの現在ブロック2610,2620と、現在ブロック2610,2620の隣接した周辺サンプルとが示されている。多様な実施形態による現在ブロック2610,2620の周辺サンプルは、現在ブロック2610,2620の上側周辺サンプル、左側周辺サンプル及び左上側周辺サンプルを含んでもよい。このとき、図26に示されたサンプルは、クロマ成分のサンプルでもある。
一実施形態による、現在ブロック2610のサンプル値は、周辺サンプルのうち一部の参照サンプルを利用しても生成される。例えば、現在ブロック2610の周辺サンプルのうち、輪郭から所定距離以上離れた周辺サンプルが参照サンプルにも決定される。
具体的には、図26を参照すれば、現在ブロック2610の輪郭の第1座標2601及び第2座標2602を利用して、現在ブロック2610の参照サンプルが決定される。このとき、一実施形態による、クロマ成分の現在ブロック2610は、ハーフピクセル精度のブロックでもある。例えば、図26において、現在ブロック2610の輪郭の第1座標2601は、現在ブロック2610の上側の整数サンプル位置に決定され、第2座標2602は、現在ブロック2610の左側のハーフサンプル位置としても決定される。
一実施形態による、現在ブロック2610の参照サンプルは、現在ブロック2610の周辺サンプルのうち、輪郭の第1座標2601及び第2座標2602と所定距離以上離れた周辺サンプルにも決定される。例えば、現在ブロック2610の輪郭モードが第3モードであるので、現在ブロック2610は、現在ブロック2610の左上側の第1セグメント及び右下側の第2セグメントにも分割される。
一実施形態による、現在ブロック2610の第1セグメントのサンプル値は、第1セグメントに隣接する上側の周辺サンプルのうち、現在ブロック2610の輪郭の第1座標2601から左側に所定距離以上離れた参照サンプルと、第1セグメントに隣接する左側の周辺サンプルのうち、現在ブロック2610の輪郭の第2座標2602から上側に所定距離以上離れた参照サンプルとを利用しても決定される。
また、一実施形態による、現在ブロック2610の第2セグメントのサンプル値は、第2セグメントに隣接する上側の周辺サンプルのうち、現在ブロック2610の輪郭の第1座標2601から右側に所定距離以上離れた参照サンプルと、第2セグメントに隣接する左側の周辺サンプルのうち、現在ブロック2610の輪郭の第2座標2602から下側に所定距離以上離れた参照サンプルとを利用しても決定される。
このとき、該所定距離は、ブロックの大きさ、演算の効率、映像の画質などを考慮し、あらかじめ設定された距離であり、例えば、図26において該所定距離は、図25のルマブロックである現在ブロック2510の半分である1ピクセルにもなる。
または、他の一実施形態による、クロマ成分の現在ブロック2620の参照サンプルは、整数ピクセル単位の第1座標2603及び第2座標2604に基づいても決定される。一実施形態による、クロマ成分の現在ブロック2620の輪郭の第1座標2603及び第2座標2604は、現在ブロック2620の整数単位の周辺サンプルの位置に決定され、現在ブロック2620の参照サンプルは、決定された第1座標2603及び第2座標2604から所定距離以上離れた周辺サンプルにも決定される。
図27は、一実施形態による、ビデオ復号装置20において、現在ブロックから分割されるセグメントの個数による現在ブロックの予測方法のフローチャートを示している。
一実施形態による現在ブロックは、現在ブロックから分割されるセグメントの個数によって異なる予測方法を利用しても予測される。
具体的には、2710段階において、一実施形態による、現在ブロックから分割されるセグメントの個数が決定される。例えば、現在ブロックから分割されるセグメントの個数は、セグメントの個数に係わる情報(seg_num_minus1)に基づいても決定される。
2720段階において、現在ブロックから分割されるセグメントの個数が1個である場合、現在ブロックは、現在ブロック内に物体の境界を含まない。このとき、現在ブロックは、1つのセグメントとしても決定される。
また、現在ブロックから決定された1つのセグメントに係わる予測モードが決定される。例えば、現在ブロックから決定された1つのセグメントに係わる予測モードは、現在ブロックの周辺サンプルを利用して、現在ブロックの予測値を生成するDCモード、プレーナモード、垂直(vertical)モード、水平(horizontal)モード、またはそれらの組み合わせを示すモードにもなる。
2730段階において、現在ブロックから分割されるセグメントの個数が2個である場合、現在ブロックは、物体の境界による輪郭に基づいて、2個のセグメントに分割され、それぞれのセグメントに係わる予測が行われる。
また、2730段階は、セグメントの個数が2個である場合だけではなく、3個以上である場合も含んでもよい。
図28は、一実施形態による、現在ブロックの変換単位による現在ブロックのレジデュアルデータの符号化過程及び復号過程について説明するための図面である。
一実施形態による現在ブロックは、周波数の変換の基になるデータ単位である変換単位にも分割される。このとき、該変換単位は、現在ブロックの輪郭を含む変換単位と、現在ブロックの輪郭を含まない変換単位とに区分して処理される。
具体的には、現在ブロックの輪郭を含まない変換単位の場合、現在ブロックについて生成された予測ブロックと、原本ブロックとの差分によるレジデュアルデータを生成し、変換、量子化及びエントロピーデコーディングを行い、レジデュアルデータを処理することができる。または、現在ブロックの変換単位に対して予測を行い、変換単位に対する予測ブロックと、原本ブロックとの差分によるレジデュアルデータを生成して処理することができる。
また、現在ブロックの輪郭を含む変換単位の場合、現在ブロックについて生成された予測ブロックと、原本ブロックとの差分によるレジデュアルデータを生成することができる。または、現在ブロックの変換単位において、現在ブロックのそれぞれのセグメントの領域を考慮し、予測ブロックを生成して利用することができる。例えば、予測ブロックの生成時には、生成された現在ブロックのマスクが利用され、変換単位に係わるマスクが新たに生成されて利用されてもよい。
また、一実施形態による、現在ブロックの変換単位に対して、変換単位間の境界誤差を低減させるためのフィルタリングが行われる。例えば、図28を参照すれば、8x8サイズの変換単位が図示されている。
一実施形態による変換単位のエッジに位置したサンプルは、隣接した周辺サンプルに基づいて、フィルタリングされる。例えば、隣接した周辺サンプルは、使用可能なサンプルとして、変換単位の上側サンプル及び左側サンプルを含んでもよく、使用可能な周辺サンプルに隣接した変換単位のエッジに位置したサンプルがフィルタリングされる。
具体的には、変換単位のフィルタリングされるサンプルは、下記のようにフィルタリングされる。
C=(A+B+1)>>1
このとき、Cは、変換単位のサンプルのフィルタリングされたサンプル値を示し、Bは、変換単位のサンプルのフィルタリングされる前のサンプル値を示し、Aは、変換単位のサンプルをフィルタリングするために利用される周辺サンプルのサンプル値を示すことができる。
また、変換単位のフィルタリングされるサンプルが、上側サンプル及び左側サンプルにいずれも隣接する場合(例えば、変換単位内の左上側サンプル)、変換単位のフィルタリングされるサンプルは、下記のように、上側サンプルのサンプル値A0、及び左側サンプルのサンプル値A1をいずれも利用してフィルタリングされる。
C=(A0+A1+2*B+2)>>2
また、変換単位のフィルタリングされるサンプルは、下記のように、サンプル値に互いに異なる加重値をおいてフィルタリングされる。
C=(A+3*B+2)>>2
C=(A0+A1+6*B+4)>>3
一実施形態による変換単位に対するフィルタリングは、ルマ成分の変換ブロック、及びクロマ成分の変換ブロックにそれぞれ適用され、演算の複雑度を低減させるために、ルマ成分にのみ適用されもする。
図29ないし図31は、多様な実施形態による、現在ブロックの輪郭を、現在ブロックの周辺ブロックから獲得する方法を示している。
図29は、一実施形態による現在ブロック2910の輪郭を、現在ブロック2910の周辺ブロック2920から獲得する方法を示している。例えば、一実施形態による現在ブロック2910の周辺ブロック2920は、現在ブロック2910に左側に隣接するブロックでもある。
具体的には、ビデオデコーディング過程において、現在ブロック2910の周辺ブロック2920の復元が完了すれば、周辺ブロック2920のブロック分割に係わる情報を利用して、現在ブロック2910のブロック分割に係わる情報を獲得することができる。例えば、周辺ブロック2920のブロック分割に係わる情報は、輪郭の座標に係わる情報でもある。
例えば、現在ブロック2910の輪郭モード情報及び輪郭座標は、現在ブロックの周辺ブロック2920の輪郭座標情報を利用しても決定される。
図29を参照すれば、周辺ブロック2920の輪郭は、第1座標2921及び第2座標2922を通過する単一直線輪郭であり、該輪郭モードは、第1モードでもある。周辺ブロック2920の輪郭は、ピクチャ内の物体境界によるので、現在ブロック2910の輪郭と連結される可能性が高いので、周辺ブロック2920の輪郭延長線上に、現在ブロック2910の輪郭の存在する確率が高い。従って、一実施形態による周辺ブロック2920の輪郭を、現在ブロック2910に向けて拡張させ、現在ブロック2910の輪郭を誘導することができる。
例えば、周辺ブロック2920の輪郭は、周辺ブロック2920の輪郭の第1座標2921及び第2座標2922に基づいて、現在ブロック2910に向けて拡張される。また、周辺ブロック2920の輪郭は、周辺ブロック2920の輪郭の傾きに基づいて、現在ブロック2910の方向に拡張される。
図29を参照すれば、周辺ブロック2920の輪郭を拡張させて獲得される現在ブロック2910の輪郭は、第1座標2911及び第2座標2912を経て、モードが第5モードである直線輪郭としても決定される。
具体的には、一実施形態による現在ブロック2910の輪郭を、周辺ブロック2920を利用して決定する方法は、次のような過程によっても遂行される。
まず、現在ブロック2910の周辺ブロック2920の輪郭に係わる情報が使用可能であるか否かということが決定される。例えば、周辺ブロック2920が、現在ブロック2910より先に復号され、周辺ブロック2920内に輪郭が存在する場合、周辺ブロック2920の輪郭に係わる情報が使用可能であるとも決定される。このとき、該輪郭に係わる情報は、輪郭モード情報及び座標情報を含んでもよく、周辺ブロック2920内に輪郭の存在するか否かということは、周辺ブロック2920のセグメント個数に係わる情報に基づいても決定される。
現在ブロック2910の周辺ブロック2920の輪郭に係わる情報が使用可能であると決定されれば、現在ブロック2910の方向に拡張された周辺ブロック2920の輪郭が、現在ブロック2910を通過するか否かということが決定される。
拡張された周辺ブロック2920の輪郭が現在ブロック2910を通過するならば、拡張された周辺ブロック2920の輪郭に基づいて、現在ブロック2910の輪郭モード及び座標を決定することができる。例えば、現在ブロック2910のエッジに位置したサンプルのうち、拡張された周辺ブロック2920の輪郭が通過するサンプルの位置が、現在ブロック2910の輪郭座標にもなり、現在ブロック2910の輪郭座標によって、現在ブロック2910の輪郭モードが決定される。
このとき、周辺ブロック2920の輪郭に係わる情報に係わるサンプル精度が、現在ブロック2910のサンプル精度と異なる場合、周辺ブロック2920から誘導された現在ブロック2910の輪郭に係わる情報を、サンプル精度の差ほど変換し、変換されたサンプル精度による輪郭の情報を利用することができる。例えば、クォーターピクセル精度周辺ブロック2920の輪郭に係わる情報を利用して誘導されたクォーターピクセル精度の現在ブロック2910の輪郭に係わる情報を、整数ピクセル精度の情報に変換することができる。
また、図30を参照すれば、現在ブロック3010の輪郭に係わる情報は、現在ブロック3010の左側ブロックA1以外にも、他の周辺ブロックを利用しても獲得される。例えば、現在ブロック3010の左側ブロックA1、左下側ブロックA0、上側ブロックB1、右上側ブロックB0及び左上側ブロックB2が利用され、それ以外にも、現在ブロック3010近辺に位置するブロックのうち現在ブロック3010より先に復号されたブロックが利用されてもよい。
また、多数の周辺ブロックのうち1つの周辺ブロックを利用する場合、該周辺ブロックを候補にするリストが生成されもする。例えば、周辺ブロックの候補リストは、左側ブロックA1、上側ブロックB1、右上側ブロックB0、左下側ブロックA0及び左上側ブロックB2を順に含んでもよい。また、周辺ブロックの候補リストは、左側ブロックA1、上側ブロックB1、左上側ブロックB2、右上側ブロックB0及び左下側ブロックA0を順に含んでもよいが、それらに制限されるものではなく、多様な順序に周辺ブロックを含む周辺ブロックの候補リストが、ビデオ符号化装置10とビデオ復号装置20とにおいて同一に生成される。
このとき、複数個の周辺ブロックについて誘導される現在ブロック3010の輪郭が同一である場合、複数個の周辺ブロックのうち1つの周辺ブロックだけが候補に含まれるように、周辺ブロックの候補リストを生成することができる。例えば、同一現在ブロック3010の輪郭が誘導される候補を除くプルーニング(pruning)過程が遂行されることにより、複数個の周辺ブロックのうち1つの周辺ブロックだけが候補に含まれてもよい。
また、ビデオ符号化装置10及びビデオ復号装置20の間で、周辺ブロックの候補リストのうち1つの候補を示すインデックス情報が送受信される。または、周辺ブロックの候補リストが1つの候補のみを含む場合、インデックス情報は、送受信されない。
また、現在ブロック3010の輪郭は、周辺ブロックの候補リストに含まれた候補のうち複数個の候補ブロックを利用しても誘導される。
また、現在ブロック3010の輪郭は、周辺ブロックから誘導された現在ブロック3010の輪郭座標を調整(refine)するとも決定される。例えば、周辺ブロックから誘導された現在ブロック3010の輪郭座標は、x軸またはy軸に所定値によって移動することによっても調整される。該所定値は、+1、−1、+2、−2などの値にもなる。
また、周辺ブロックの輪郭座標を調整し、調整された周辺ブロックの輪郭に係わる情報が、現在ブロック3010の輪郭の獲得に利用される周辺ブロックの候補リストに含まれてもよい。
また、周辺ブロックから誘導される現在ブロック3010の輪郭に係わる情報を、予測データとして利用することもできる。例えば、ビデオ復号装置20は、現在ブロック3010内のサンプルを利用して決定される現在ブロック3010の輪郭に係わる情報と、周辺ブロックから誘導される現在ブロック3010の輪郭に係わる情報との差分値を符号化し、ビデオ復号装置20に伝送することができる。ビデオ復号装置20は、受信される差分値と、現在ブロックの周辺ブロックから誘導される現在ブロック3010の輪郭に係わる情報とに基づいて、現在ブロック3010の輪郭座標を決定することにより、さらに正確な現在ブロック3010の復号が可能である。
また、ビデオ符号化装置10及びビデオ復号装置20において、周辺ブロックの候補リストを生成する場合、候補リストは、デフォルトブロックをさらに含んでもよい。具体的には、候補リストに含まれた周辺ブロック候補が、所定個数より少ない場合、該候補リストは、デフォルトブロックをさらに含んでもよい。例えば、該候補リストに係わる所定個数は、5個でもある。図31を参照すれば、デフォルトブロックの例示が示されている。例えば、該リストに含まれた周辺ブロック候補が所定個数より少ない場合、図31のデフォルトブロックが順に候補リストに含まれてもよい。
また、現在ブロック3010の周辺ブロックが、輪郭によって符号化されず、周辺ブロックの輪郭に係わる情報がない場合、復元された周辺ブロックに基づいて、周辺ブロックの輪郭に係わる情報を生成することができる。復元された周辺ブロックに基づいて生成された周辺ブロックの輪郭に係わる情報は、バッファに保存されていて、現在ブロック3010の符号化時、現在ブロック3010の輪郭の決定にも利用される。このとき、ビデオ復号装置20においても、同一方法によって復元された周辺ブロックを利用して、現在ブロック3010を復号することができる。
また、一実施形態による物体の境界による輪郭に基づいて符号化された現在ブロック3010が、ブロック単位に復号される場合、一般的なブロック単位の予測方法(例えば、HEVCのイントラ予測)のうち1つのモードが選択される。
具体的には、現在ブロック3010の予測モードは、現在ブロック3010のMPM(most probable mode)モードリストのうち最初モードによっても決定される。例えば、現在ブロック3010のMPMモードリストは、現在ブロック3010に隣接した左側ブロックまたは上側ブロックのモードを含んでもよい。また、現在ブロック3010のMPMモードリストは、プレーナモード、DCモード、垂直モードなどをさらに含んでもよい。または、現在ブロック3010の予測モードは、DCモードとも決定され、現在ブロック3010の予測モードは、現在ブロック3010の輪郭の勾配と最も類似した角度のアンギュラ(angular)モードとも決定される。
また、一実施形態による現在ブロック3010の輪郭に係わる情報は、現在ブロックに含まれたサンプルに係わるエッジ方向を示す情報を含むエッジマップ(edge map)を参照しても獲得される。現在ブロック3010のエッジマップは、ピクチャ単位またはブロック単位で生成され、スライスヘッダ、または現在ブロック3010のヘッダに含まれて伝送される。
図32及び図33は、多様な実施形態による、ブロック3210,3220のサブブロックを利用して予測を行う方法を示している。
図32を参照すれば、一実施形態によるブロック3210及びブロック3220が示されている。一実施形態によるブロック3210及びブロック3220が直線輪郭を利用して分割される場合、ブロック3210及びブロック3220は、サブブロックを利用することができる。例えば、ブロック3210及びブロック3220は、それぞれ64x64サイズのブロックであり、ブロック3210及びブロック3220のサブブロックは、それぞれ8x8サイズのブロックでもある。
具体的には、ブロック3210を参照すれば、ブロック3210に含まれた物体の境界は、曲線であるために、ブロック3210を直線輪郭に基づいて分割する場合、符号化効率が低下してしまう。従って、一実施形態によるブロック3210を、サブブロック3211を含む複数個のサブブロックに分割し、複数個のサブブロックを、それぞれ直線輪郭を基に分割することにより、符号化効率が向上する。
一実施形態によるブロック3210のサブブロックは、物体の境界による直線輪郭に基づいて、少なくとも1つのセグメントに分割され、それぞれのセグメントに対して予測が行われる。このとき、物体の境界が含まれていないサブブロックは、一般的なイントラ予測方法によっても予測される。
また、ブロック3220を参照すれば、複数個の物体の境界を含むブロック3220が示されている。具体的には、ブロック3220は、2つの物体の境界を含むので、2つの物体の境界による2つの直線輪郭を利用する方法は、単一直線輪郭を利用する方法より複雑度が高い。従って、一実施形態によるブロック3220を複数個のサブブロックに分割し、複数個のサブブロックをそれぞれ単一直線輪郭を基に分割することにより、演算の複雑度を低下させることができる。
一実施形態によるブロック3220のサブブロックは、物体の境界による単一直線輪郭に基づいて、少なくとも1つのセグメントに分割され、それぞれのセグメントに対して予測が行われる。このとき、物体の境界が含まれていないサブブロックは、一般的なイントラ予測方法によっても予測される。
図33を参照すれば、多様な実施形態によるブロック3310,3320,3330,3340,3350に含まれたサブブロックの符号化及び復号順序が示されている。例えば、多様な実施形態によるブロック3310がサブブロックを利用して分割される場合、ブロック3310のサブブロックは、z−scan順序によって符号化または復号される。
また、ブロック3320がサブブロックに分割される場合、ブロック3320のサブブロックは、左側から右側の方向で順次に符号化または復号される。
また、ブロック3330がサブブロックに分割される場合、ブロック3330のサブブロックは、上側から右側の方向で順次に符号化または復号される。
また、ブロック3340がサブブロックに分割される場合、ブロック3340は、複数個の領域に先に区分され、複数個の領域の優先順位によって、ブロック3340のサブブロックが符号化または復号される。例えば、ブロック3340が、1領域、2領域、3領域及び4領域に区分され、該1領域に含まれたサブブロックから順次に符号化または復号される。また、ブロック3340の1領域内のサブブロック間には、z−scan順序によって、サブブロックの符号化または復号の順序が決定される。
また、ブロック3350がサブブロックに分割される場合、ブロック3350は、複数個の領域に先に区分され、複数個の領域の優先順位によって、ブロック3350のサブブロックが符号化または復号される。例えば、ブロック3350が、1領域、2領域、3領域、第4領域及び5領域に区分され、該1領域に含まれたサブブロックから順次に符号化または復号される。また、ブロック3340の1領域内のサブブロック間には、z−scan順序によって、サブブロックの符号化または復号の順序が決定される。
図34は、一実施形態による、現在ブロック3400から3つのセグメントを決定する方法を示している。
一実施形態による現在ブロック3400は、現在ブロック3400の第1輪郭3401に基づいて符号化され、現在ブロック3400に係わる符号化情報は、ビデオ復号装置20にも伝送される。例えば、伝送される符号化情報は、現在ブロック3400の第1輪郭3401に係わる情報を含んでもよい。
図34を参照すれば、現在ブロック3400の第1輪郭3401のモードは、第4モードでもある。
一実施形態による現在ブロック3400に係わる符号化情報を受信したビデオ復号装置20は、受信された符号化情報から、現在ブロック3400の第1輪郭3401に係わる情報を獲得することができる。ビデオ復号装置20は、第1輪郭3401に係わる情報に基づいて、第1輪郭3401のモードが第4モードである場合、現在ブロック3400の上側及び左側を通る第2輪郭3402を決定することができる。このとき、現在ブロック3400の第2輪郭3402は、現在ブロック3400に隣接する上側周辺サンプル及び左側周辺サンプルを利用しても獲得される。
一実施形態による現在ブロック3400は、ビットストリームから獲得された符号化情報による第1輪郭3401と、現在ブロックの周辺サンプルから誘導される第2輪郭3401とを利用して、3つのセグメントに分割されて復号される。例えば、現在ブロック3400は、第1輪郭3401及び第2輪郭3402によって、第1セグメント3410、第2セグメント3420及び第3セグメント3430にも分割される。
このとき、一実施形態による現在ブロック3400のマスクは、第1セグメント3410、第2セグメント3420及び第3セグメント3430に基づいても生成される。例えば、第1セグメント3410に対応する領域のマスク値は、0に決定され、第2セグメント3420に対応する領域のマスク値は、255(あるいは、256)に決定され、第3セグメント3430に対応する領域のマスク値は、511(あるいは、512)にも決定される。また、第1セグメント3410と第2セグメント3420との境界領域のマスク値は、0ないし255の値に決定され、第2セグメント3420と第3セグメント3430との境界領域のマスク値は、256ないし511の値にも決定される。
一実施形態による現在ブロック3400は、さらなる誘導された第2輪郭を利用することにより、さらに正確な映像を復元することができる。
図35は、一実施形態による、現在ブロック3500の輪郭に基づいて、現在ブロック3500のサブブロックを利用して、セグメントを決定する方法を示している。
一実施形態による現在ブロック3500は、現在ブロック3500に含まれた物体の境界に対応する輪郭に基づいて、複数個のサブブロックにも分割される。このとき、一実施形態による現在ブロック3500は、現在ブロック3500の境界に対応する輪郭を決定することができ、決定された輪郭を利用して、複数個のサブブロックにも分割される。
例えば、現在ブロック3500は、第1サブブロック3510のような大きさの4つの第1サブブロックにも分割される。第1サブブロック3510の縦横長は、それぞれ現在ブロック3500の縦横長の半分でもある。
また、現在ブロック3500は、現在ブロック3500の輪郭を含むか否かということにより、階層的に連続して、さらに小さいサブブロックにも分割される。例えば、4つの第1サブブロックのうち、現在ブロック3500の輪郭を含む第1サブブロックは、縦横長が、それぞれ第1サブブロックの縦横長の半分である4つの第2サブブロックにさらに分割される。4つの第1サブブロックのうち、現在ブロック3500の輪郭を含まない第1サブブロック3510は、それ以上分割されない。
一実施形態による現在ブロック3500は、分割された第1サブブロック及び第2サブブロックを利用して、セグメントを決定することができる。例えば、第2サブブロックのうち、現在ブロック3500の輪郭を含む第2サブブロック3520に対して、現在ブロック3500の輪郭に基づく第2サブブロック3520の輪郭が決定される。また、決定された第2サブブロック3520の輪郭により、第2サブブロック3520が少なくとも1つのセグメントにも分割される。例えば、第2サブブロック3520は、直線輪郭により、2つのセグメントにも分割される。
一実施形態による現在ブロック3500に対して、現在ブロック3500の輪郭を含まない第1ブロック3510及び第2ブロック3520と、現在ブロック3500の輪郭を含む第2ブロック3520とから分割されたセグメントを利用して予測が行われる。
例えば、第1ブロック3510及び第2ブロック3520に対して、DCモード、プレーナモード、アンギュラモードのようなイントラモードを利用して、イントラ予測が行われる。第2ブロック3520のような現在ブロック3500の輪郭を含む第2ブロックについては、図1ないし図4で説明されたブロック内の物体境界によって分割されるセグメントを利用したイントラ予測が行われる。
このとき、現在ブロック3500が分割される分割深度は、符号化効率に基づいて決定され、決定された分割深度は、ビデオ符号化装置10からビデオ復号装置20にも伝送される。
図36は、一実施形態による、現在ブロック3600の輪郭を決定する方法を示している。
一実施形態による、現在ブロック3600に含まれた物体の境界が単一直線に対応しない場合、現在ブロック3600の輪郭は、区分的線形(piece-wise linear)輪郭を利用しても決定される。
具体的には、一実施形態による、現在ブロック3600において、物体の境界に対応する輪郭の開始点を示す第1座標aと、輪郭の終点を示す第2座標bとが決定される。このとき、現在ブロック3600の輪郭を、第1座標aと第2座標bとを連結する単一直線と決定せず、第3座標dを利用して、2本の直線でもって決定することができる。
例えば、第3座標dは、第1座標aと第2座標bとを連結する直線の中心から所定変位量ほど垂直移動された座標でもある。このとき、現在ブロック3600の輪郭を決定するために利用される情報は、第1座標a、第2座標b、及び第1座標aと第2座標bを連結する直線の中心から第3座標dまでの垂直距離を示す所定変位量でもある。
一実施形態による、現在ブロック3600の第3座標dは、符号化時及び復号時の演算の複雑度を低下させるために、整数ピクセル単位の精度によっても決定される。例えば、実際位置において、最も近い整数サンプルの位置によって決定される方法などが利用されてもよい。また、第3座標dを示すための所定変位量も、整数単位によっても決定される。該所定変位量は、あらかじめ設定された複数個の変位量のうちからもインデキシングされる。すなわち、あらかじめ設定された複数個の変位量のうち一つを示すインデックス情報を利用して所定変位量が決定され、該インデックス情報は、ビデオ符号化装置10及びビデオ復号装置20の間で送受信される。
図37は、一実施形態による、現在ブロックの予測値を獲得する方法を擬似コード(pseudo code)で示した一例示である。
一実施形態による、現在ブロックの予測値は、現在ブロックから分割されたセグメントのサンプル値が先に生成され、生成されたセグメントのサンプル値に、セグメントの領域及び境界を示すマスクを適用することによっても生成される。
そのご、一実施形態による、現在ブロックの予測値にフィルタリングを行うことにより、予測遂行時に発生する誤差を減らすことができる。具体的には、該フィルタリングは、現在ブロックの輪郭が位置する境界領域に対しても行われる。
例えば、図37の擬似コードを参照すれば、現在ブロックのサンプルのうち、現在ブロックのセグメントの境界に位置するサンプルの予測値に対して、フィルタリングを行うことができる。このとき、現在ブロックのサンプルがセグメントの境界に位置するか否かということは、現在ブロックのマスクに基づいて判断されることができる。図37において、Mask[x][y]は、現在ブロックの(x,y)位置のサンプルのマスク値を示し、P[x][y]は、現在ブロックの(x,y)位置のサンプルの予測値を示し、Pftr[x][y]は、現在ブロックの(x,y)位置のサンプルのフィルタリングされた予測値を示す。WとHは、それぞれ現在ブロックの幅及び高さを示す。
一実施形態による、現在ブロックのサンプルがセグメントの境界に位置するか否かということは、現在サンプルの周辺サンプルのマスク値を比較することによっても決定される。例えば、左側サンプルのマスク値と、右側サンプルのマスク値とが異なる場合、現在ブロックの現在サンプルは、セグメント境界に位置するとも決定される。左側サンプルのマスク値と、右側サンプルのマスク値とが同一である場合、現在ブロックの現在サンプルは、セグメントの境界に位置しないとも決定される。または、上側サンプルのマスク値と、下側サンプルのマスク値とが異なる場合、現在ブロックの現在サンプルは、セグメントの境界に位置するとも決定される。上側サンプルのマスク値と、下側サンプルのマスク値とが同一である場合、現在ブロックの現在サンプルは、セグメントの境界に位置しないとも決定される。
ただし、現在ブロックの現在サンプルが、現在ブロックの辺の内側に隣接して位置する場合、現在ブロックの内部サンプルだけ利用するために、現在サンプルのサンプル値と、周辺サンプルのサンプル値とが比較される。
一実施形態による、現在ブロックのサンプルのうち、セグメントの境界に位置すると判断されたサンプルのサンプル値は、周辺サンプルのサンプル値に基づいてフィルタリングされる。例えば、左側サンプルのマスク値と、右側サンプルのマスク値とが異なる場合、現在サンプルのサンプル値は、現在サンプルのサンプル値、左側サンプルのサンプル値、及び右側サンプルのサンプル値の平均にフィルタリングされる。このとき、利用されるそれぞれのサンプル値には、加重値が適用される。例えば、[1,2,1]のようなフィルタ値を有する水平方向の一次元ガウシアンフィルタが利用されてもよい。
また、上側サンプルのマスク値と、下側サンプルのマスクと値が異なる場合、現在サンプルのサンプル値は、現在サンプルのサンプル値、上側サンプルのサンプル値、及び下側サンプルのサンプル値の平均にフィルタリングされる。例えば、[1,2,1]のようなフィルタ値を有する垂直方向の一次元ガウシアンフィルタが利用されてもよい。
一実施形態による、現在ブロックについて、水平方向のフィルタリング、と垂直方向のフィルタリングとが順序に係わらずにいずれも行われる。
または、他の一実施形態によれば、現在ブロックについて、水平方向のフィルタリング及び垂直方向のフィルタリングのうち1つのフィルタリングだけが遂行されてもよい。例えば、現在ブロック輪郭の傾きに基づいて、水平方向のフィルタリング、及び垂直方向のフィルタリングのうち一つが決定される。現在ブロック輪郭の傾きが、水平(x軸)への変化量が、垂直(y軸)への変化量よりさらに大きい場合、垂直方向のフィルタリングが行われ、水平(x軸)への変化量が垂直(y軸)への変化量よりさらに小さい場合、水平方向のフィルタリングが行われる。
または、さらに他の一実施形態によれば、現在ブロックの輪郭モードによって、水平方向のフィルタリング、及び垂直方向のフィルタリングのうち少なくとも1つのフィルタリングが行われる。例えば、現在ブロックの輪郭モードが垂直輪郭を示す第2モードである場合、水平方向のフィルタリングだけ行われ、現在ブロックの輪郭モードが、水平の輪郭を示す第5モードである場合、垂直方向のフィルタリングだけ行われる。また、現在ブロックの輪郭モードが第2モード及び第5モードを除いた残りモードである場合、水平方向のフィルタリングと、垂直方向のフィルタリングとがいずれも行われる。
このとき、ルマブロック及びクロマロックに対して、それぞれ異なる方法でフィルタリングを行うこともできる。例えば、現在ブロックのルマ成分に対して、現在ブロックの輪郭モードによるフィルタリングを行い、現在ブロックのクロマ成分については、現在ブロック輪郭の傾きによるフィルタリングを行うこともできる。
また、それらの組み合わせによって、フィルタリング方法を決定することも可能であり、一次元フィルタに制限されるものではなく、二次元フィルタ、中央値フィルタ(median filter)、平均値フィルタ(average filter)などが利用されてもよい。
以下、図38ないし図44では、多様な実施形態による、現在ブロックに対して、現在ブロックの輪郭を利用して予測を行う方法について後述する。このとき、図38ないし図44としては、現在ブロックに係わるマスクを生成せず、現在ブロックの輪郭を直接利用して、現在ブロックに係わる予測を行う方法が開示される。
図38は、一実施形態による、現在ブロック3800に対して予測を行う方法を示している。
一実施形態による、現在ブロック3800に対して、現在ブロック3800に含まれた物体の境界に対応する輪郭3820が決定される。例えば、現在ブロック3800の輪郭3820は、輪郭3820の座標に係わる情報、及び輪郭3820のモード情報によっても特定される。
一実施形態による現在ブロック3800は、現在ブロック3800の輪郭3820に基づいて、少なくとも1つのセグメントにも分割され、現在ブロック3800が複数個のセグメントに分割される場合、輪郭3820によって、セグメント境界(boundary)を含む境界領域が示される。
このとき、一実施形態による現在ブロック3800に対して、境界の方向に沿って予測を行うか否かということが決定される。すなわち、現在ブロック3800の境界領域に含まれるサンプルに係わる予測値を、境界の方向に沿って決定するか否かということが決定される。例えば、一実施形態によるビデオ符号化装置10は、境界の方向による予測方法と、マスクを利用した予測方法とのうち、最善のRDコストを有する予測方法を選択することができ、一実施形態によるビデオ復号装置20は、ビデオ符号化装置10から、現在ブロック3800に対して、境界の方向による予測を行うか否かということを示す情報を受信して決定することができる。
境界の方向による予測が行われると決定されれば、一実施形態による現在ブロック3800の境界領域に対して、境界の方向による現在ブロック3800の周辺サンプルを利用して予測が行われる。
一実施形態による現在ブロック3800の境界領域は、現在ブロック3800の輪郭3820に対応するセグメント間の境界を含む所定領域であり、現在ブロックの輪郭を中心に、所定幅に特定される領域でもある。例えば、図38を参照すれば、現在ブロック3800の境界領域は、現在ブロック3800の輪郭3820を中心に、左側直線3830までの領域、及び右側直線3840までの領域を含む領域でもある。
一実施形態による、境界領域の所定幅は、現在ブロック3800を構成するセグメントの境界に位置するサンプルを中心とする水平方向への所定サンプルの数、または垂直方向へのサンプルの数を示すことができ、例えば、図38において、該所定幅は、左側及び右側への2ピクセルにもなる。また、該所定幅は、水平方向への距離、または垂直方向への距離だけではなく、現在ブロック3800を構成するセグメントの境界を中心に境界に直交する方向への距離を示すこともできる。
一実施形態による、境界領域の所定幅は、現在ブロック3800の境界に位置するサンプルを中心に、対向方向に対して同一にも決定され、同一ではなく、非対称的にも決定される。
一実施形態によるビデオ符号化装置10は、境界領域の所定幅を、最善のRDコストを有する数に決定することができ、一実施形態によるビデオ復号装置20は、ビデオ符号化装置10から、境界領域の所定幅を示す情報を受信することができる。
または、一実施形態による、境界領域の所定は幅は、現在ブロック3800の周辺ブロックからも誘導される。例えば、境界領域の所定幅は、現在ブロック3800の上側周辺ブロックまたは左側周辺ブロックの間で、サンプル値の変化量に基づいても決定される。
一実施形態による、現在ブロック3800の境界領域に含まれるサンプルの予測値は、現在ブロック3800の境界方向による現在ブロック3800の周辺サンプルを参照しても獲得される。
具体的には、一実施形態による現在ブロック3800の周辺サンプルは、現在ブロック3800の上側周辺サンプル、右上側周辺サンプル、左側周辺サンプル及び左下側周辺サンプルを含んでもよい。一実施形態による、現在ブロック3800の周辺サンプルのうち、境界領域の予測に参照される参照サンプルは、現在ブロック3800の輪郭3820を利用しても決定される。例えば、現在ブロック3800の輪郭3820が、現在ブロック3800の上側外部に隣接する周辺サンプルのうちサンプル3810を通過する場合、サンプル3810及びサンプル3810を中心に、水平方向への所定幅内に位置するサンプルが参照サンプルにもなる。図38において、一実施形態による現在ブロック3800の境界領域の幅が、水平方向への2ピクセルである場合、参照サンプルは、サンプル3810を中心にする5サンプルにもなる。
参照サンプルが決定されれば、一実施形態による、現在ブロック3800の境界領域に含まれたサンプルの予測値が、決定された参照サンプルに基づいても生成される。
また、境界領域に係わる予測が行われれば、一実施形態による現、在ブロック3800の境界領域を除いた残り領域、すなわち、セグメントに該当する領域に対して予測が行われる。例えば、セグメント領域に対して、DCモードによるイントラ予測が行われる。
図39は、一実施形態による、現在ブロック3900に対して、参照サンプルを利用して予測を行う詳細な過程を示している。
図39において、現在ブロック3900の輪郭3910による境界領域を含む現在ブロック3900の一部と、現在ブロック3900の上側に外部に隣接する上側周辺ブロックが示されている。図39において、現在ブロック3900の輪郭3910のモードは、第1モードまたは第2モードでもあり、現在ブロック3900の境界領域の幅は、2ピクセルでもある。図39を参照し、一実施形態による現在ブロック3900の境界領域に含まれたサンプルのうちサンプル3920の予測値を生成する方法について詳細に説明する。
一実施形態による、現在ブロック3900の境界領域に係わる予測のために、上側周辺サンプルのうち、サンプル3930、サンプル3940及びサンプル3950が参照サンプルに含まれてもよい。このとき、一実施形態による現、在ブロック3900の境界領域に含まれたサンプル3920の予測値を生成するために、サンプル3920の参照位置3960が決定される。例えば、サンプル3920の参照位置3960は、現在ブロック3900を構成するセグメント間の境界の方向、すなわち、輪郭3910の方向に基づいても決定される。
一実施形態による現在ブロック3900の境界領域に含まれたサンプルの参照位置が、現在ブロック3900の上側サンプルのうち1つの参照サンプルの中心に位置する場合、現在ブロック3900の境界領域に含まれたサンプルの予測値は、参照位置のサンプルのサンプル値を利用しても生成される。例えば、現在ブロック3900の境界領域に含まれたサンプルの予測値は、参照位置のサンプルのサンプル値にもなり、参照位置のサンプルのサンプル値を調整した値にもなる。
ただし、図39のように、現在ブロック3900の境界領域に含まれたサンプル3920の参照位置3960が、1つの参照サンプルの位置を示さない場合、サンプル3920の予測値は、複数個の参照サンプルを利用しても生成される。例えば、サンプル3920の参照位置3960が、参照サンプル3940及び参照サンプル3950の境界に位置する場合、サンプル3920の予測値は、参照サンプル3940のサンプル値、及び参照サンプル3950のサンプル値に基づいても生成される。
具体的には、サンプル3920の参照位置3960に対して、参照位置に隣接した参照サンプルを利用して、線形補間(bi-linear interpolation)を行うことにより、サンプル3920の参照位置3960のサンプル値を生成することができる。例えば、サンプル3920の参照位置3960のサンプル値は、参照サンプル3940及び参照サンプル3950のサンプル値の平均値にもなる。このとき、現在ブロック3900の境界領域に含まれたサンプル3920の予測値は、生成された参照位置3960のサンプルのサンプル値にもなり、生成された参照位置3960のサンプルのサンプル値を調整した値にもなる。
また、一実施形態による、現在ブロック3900の境界領域に含まれたサンプルの参照位置に対して補間を行う方法は、それらに制限されるものではなく、他の補間方法にも置き換えられる。
また、一実施形態による、現在ブロック3900の境界領域に含まれたサンプル3920の参照位置3960は、1/nピクセル単位(nは、整数)の精度に決定され、決定されたサンプル3920の参照位置3960により、1/nピクセル単位の精度に参照位置3960のサンプル値が生成される。例えば、参照位置3960に隣接した参照サンプルのサンプル値に、参照位置3960との距離による加重値を、1/nピクセル単位の精度に割り当てることにより、参照位置3960のサンプル値が生成される。
図40Aないし図40Cは、多様な実施形態による、現在ブロックの境界領域に対して予測を行う方法を示している。
図40Aを参照すれば、一実施形態による、現在ブロック4010の境界領域に対して予測を行う過程が示されている。一実施形態による現在ブロック4010は、単一直線輪郭による境界を含む境界領域を含んでもよい。
一実施形態による、現在ブロック4010の境界領域に含まれたサンプルの予測値は、境界の方向に沿って、現在ブロック4010の参照サンプルを利用しても生成される。一実施形態による、現在ブロック4010の参照サンプルは、現在ブロック4010の外部に隣接するサンプルでもある。例えば、現在ブロック4010の参照サンプルは、現在ブロック4010の左側サンプル及び左上側サンプル4011を含んでもよい。
ただし、図40Aにおいて、現在ブロック4010の境界領域に含まれたサンプルの参照位置が、左上側サンプル4011を外れ、左上側サンプル4011より上側を示すことがある。このとき、現在ブロック4010の参照サンプルは、さらに拡張され(extend)、現在ブロック4010の左上側サンプル4011の上側サンプル4012をさらに含んでもよい。左上側サンプル4011の上側サンプル4012のサンプル値は、現在ブロック4010より先に符号化及び復号された周辺ブロックからも獲得され、左上側サンプル4011のサンプル値をパッディング(padding)することによっても生成される。
一実施形態による現在ブロック4010の境界領域に含まれたサンプルの予測値は、現在ブロック4010の左側サンプル、左上側サンプル4011、及び左上側サンプル4011の上側サンプル4012のサンプル値を利用しても生成される。
また、図40Bを参照すれば、一実施形態による、現在ブロック4020の境界領域に対して予測を行う過程において、境界領域に含まれたサンプルの参照位置が、左上側サンプル4021を外れ、左上側サンプル4021より上側を示す場合、現在ブロック4020の参照サンプルは、拡張され、現在ブロック4020の上側サンプル4022をさらに含んでもよい。
従って、一実施形態による現在ブロック4020の境界領域に含まれたサンプルの予測値は、現在ブロック4020の左側サンプル、左上側サンプル4021及び上側サンプル4022のサンプル値を利用しても生成される。
また、図40Cを参照すれば、一実施形態による、現在ブロック4030の境界領域に対して予測を行う過程が示されている。一実施形態による現在ブロック4030は、単一直線輪郭による境界を含む境界領域を含んでもよい。
従って、一実施形態による、現在ブロック4030の境界領域に含まれたサンプルの予測値は、境界の方向に沿って、現在ブロック4030の参照サンプルを利用しても生成される。例えば、現在ブロック4030の参照サンプルは、現在ブロック4030の上側サンプル及び左上側サンプル4031を含んでもよい。
このとき、図40Cにおいて、現在ブロック4030の境界領域に含まれたサンプルの参照位置が、サンプル4031を外れ、左上側サンプル4031より左側を示すことがある。
一実施形態による現在ブロック4030の参照サンプルは、さらに拡張され、現在ブロック4030の左上側サンプル4031の左側サンプル4032をさらに含んでもよい。左上側サンプル4031の左側サンプル4032のサンプル値は、現在ブロック4030より先に復号された周辺ブロックからも獲得され、左上側サンプル4031のサンプル値をパッディングすることによっても生成される。
従って、一実施形態による現在ブロック4030の境界領域に含まれたサンプルの予測値は、現在ブロック4030の上側サンプル、左上側サンプル4031、及び左上側サンプル4031の左側サンプル4032のサンプル値を利用しても生成される。
また、図40Aないし図40Cで説明された実施形態以外にも、現在ブロックの境界領域に含まれたサンプルの参照位置が、現在ブロックの上側周辺サンプル、右上側周辺サンプル、左側周辺サンプル及び左下側周辺サンプルを外れる場合、上側周辺サンプル、右上側周辺サンプル、左側周辺サンプル及び左下側周辺サンプルのうち近辺位置のサンプルを拡張させたり、現在ブロックの境界の傾きによって補間を行ったりするなど、多様な方式で参照位置のサンプル値を生成することができる。
図41は、多様な実施形態による、現在ブロックの境界領域に対して予測を行う方法を示している。
現在ブロックの境界の方向による周辺サンプルが、現在ブロックの上側と、現在ブロックの左側とにいずれも存在する。このとき、一実施形態による、現在ブロックの境界領域に含まれたサンプルの予測値は、現在ブロックの上側外部に隣接する上側サンプル、及び現在ブロックの左側外部に隣接する左側サンプルのうち少なくとも一つを参照しても生成される。すなわち、現在ブロックの境界領域に含まれたサンプルの参照サンプルは、現在ブロックの上側サンプル、及び現在ブロックの左側サンプルのうち少なくとも一つを含んでもよい。
例えば、図41を参照すれば、現在ブロック4110の境界領域に含まれたサンプルの予測値は、現在ブロックの上側サンプルのサンプル値を利用しても生成される。また、現在ブロック4120の境界領域に含まれたサンプルの予測値は、現在ブロックの左側サンプルのサンプル値を利用しても生成される。
一実施形態による、現在ブロックの境界の方向による参照サンプルが、現在ブロックの上側にも存在し、現在ブロックの左側にも存在する場合、上側サンプルと左側サンプルとのうち使用可能なサンプルを参照サンプルとして利用することができる。
または、現在ブロックの上側サンプルと左側サンプルとがいずれも使用可能である場合、上側サンプルと左側サンプルとがいずれも利用され、二つのうち1つのサンプルだけ利用されてもよい。
例えば、現在ブロックの上側サンプルと左側サンプルとがいずれも使用可能である場合、現在ブロックの境界領域に含まれたサンプルの予測値は、上側サンプルによる予測値と、左側サンプルによる予測値との平均値にもなる。または、現在ブロックの境界領域に含まれたサンプルから上側サンプルまでの距離と、現在ブロックの境界領域に含まれたサンプルから左側サンプルまでの距離とを考慮し、上側サンプルによる予測値と、左側サンプルによる予測値とに加重値を与える場合もある。
また、現在ブロックの上側サンプルと左側サンプルとがいずれも使用可能である場合、現在ブロックの境界領域に含まれたサンプルの予測値は、上側サンプルと左側サンプルとのうち1つのサンプルだけ利用しても生成される。例えば、一実施形態による、現在ブロック輪郭の傾きに基づいて、上側サンプルと左側サンプルとのうち参照する1つのサンプルを決定することができる。現在ブロック輪郭の傾きが水平方向に近い場合、左側サンプルが参照サンプルとして決定され、現在ブロック輪郭の傾きが垂直方向に近い場合、上側サンプルが参照サンプルとしても決定される。
または、一実施形態による、現在ブロックの境界領域の幅に基づいて、上側サンプルと左側サンプルとのうち1つのサンプルが参照サンプルとしても決定される。または、一実施形態による、現在ブロックの上側サンプルと左側サンプルとのうち、現在ブロックの境界領域に対応するサンプルの数がさらに少ない方のサンプルを、参照サンプルとして決定することができる。または、一実施形態による、現在ブロックの境界領域の予測の符号化/復号効率、及び符号化/復号性能に基づいて、現在ブロックの上側サンプルと左側サンプルとのうち参照サンプルを決定することもできる。または、一実施形態による、現在ブロックの上側サンプルと左側サンプルとのうちサンプル値の分散がさらに大きい方のサンプルを参照サンプルとして決定することもできる。
図42は、一実施形態による、現在ブロック4200の境界領域に対して予測を行う方法を示している。
一実施形態による現在ブロック4200は、同一である4つのサブブロックに分割され、それぞれのサブブロック単位で予測が行われる。例えば、現在ブロック4200は、8x8サイズの符号化単位であり、それぞれのサブブロックは、4x4サイズの変換単位でもある。または、現在ブロック4200は、最大サイズの符号化単位であり、それぞれのサブブロックは、最大サイズの符号化単位から分割された符号化単位でもある。
一実施形態による、現在ブロック4200のサブブロック単位に対して予測を行う場合、サブブロックの予測値を生成するための参照サンプルは、現在ブロック4200に隣接した周辺サンプルにも決定される。
例えば、図42を参照すれば、一実施形態による現在ブロック4200に含まれたサブブロックのうち、現在ブロック4200の左側下端に位置するサブブロックに係わる予測を行う場合、左側下端に位置するサブブロックに隣接する周辺サンプルではなく、現在ブロック4200の上側に隣接する周辺サンプルを参照し、左側下端に位置するサブブロックの予測値を生成することができる。
具体的には、現在ブロック4200の左側下端に位置するサブブロックに含まれたサンプルに係わる参照位置は、現在ブロック4200の境界の方向に沿って、現在ブロック4200に隣接する周辺サンプルの位置としても決定される。
図43及び図44は、多様な実施形態による、現在ブロックの境界領域に対して予測を行う方法を示している。
一実施形態による、現在ブロックの境界領域に対して、境界の方向に沿って予測を行う場合、現在ブロックの境界領域の幅がまず決定される。現在ブロックの境界領域の幅は、現在ブロックを構成するセグメントの境界に位置するサンプルを中心にする水平方向へのサンプルの数、または垂直方向へのサンプルの数を示すことができる。
例えば、一実施形態による現在ブロックにおいて、現在ブロックの境界領域の幅は、現在ブロックの境界に位置するサンプルを中心に、左側へのサンプルの数N、及び右側でのサンプルの数Mによって特定されるか、あるいは上側へのサンプルの数P、及び下側へのサンプルの数Qによっても特定される。
図40Aを参照すれば、現在ブロック4010の境界領域は、P=Q=4の幅を有することができる。また、図40Bを参照すれば、現在ブロック4020の境界領域は、P=Q=2の幅を有することができる。また、図40Cを参照すれば、現在ブロック4030の境界領域は、N=M=2の幅を有することができる。
多様な実施形態による境界領域の幅は、N及びM、またはP及びQが同一に決定されもし、同一ではないようにも決定され、またN及びM、またはP及びQが固定されてもいて、ブロックごとに異なるように適応的に調整されてもいる。
例えば、現在ブロックの境界領域の幅が、境界に直交する方向に固定される場合、現在ブロックの境界領域の垂直方向への幅、または水平方向への幅は、現在ブロックの境界の傾きによって異なるようにも決定される。また、このとき、境界領域の垂直方向への幅、または水平方向への幅によって、現在ブロックの境界領域の予測のための参照サンプルの数も異なる。
または、現在ブロックの境界領域の幅は、N=M=P=Q=Tであり、所定サイズTにも決定される。このとき、所定サイズTは、整数ピクセル単位でもあり、サブピクセル単位でもある。現在ブロックの境界領域の幅に係わる情報である所定サイズTは、符号化されてビデオ復号装置20にも伝送される。
また、複数個の所定サイズTの候補のうち一つを示すインデックス情報が、現在ブロックの境界領域の幅に係わる情報にも利用される。例えば、所定サイズTに対して、「0」、「4」及び「現在ブロックの幅の2倍」を、それぞれ0、10、11にインデキシングしてシグナリングすることができる。このとき、所定サイズTの単位は、整数ピクセル単位でもある。所定サイズTが現在ブロックの幅の2倍である場合、現在ブロックの全てのサンプルが境界領域にも含まれ、境界領域に係わる予測を行うことにより、現在ブロックの全てのサンプルの予測値を生成することができる。
または、現在ブロックの境界領域の幅は、現在ブロックの周辺ブロックからも誘導される。例えば、現在ブロックの周辺ブロックに含まれたサンプルに係わる分散、平均、標準偏差、異常点(outlier)などの情報が利用されてもよい。
図43を参照すれば、多様な実施形態による、現在ブロック4310,4320,4330の境界領域に対して予測を行う過程が示されている。このとき、現在ブロック4310,4320,4330の境界領域は、N=M=2の幅を有することができ、現在ブロック4310,4320,4330の参照サンプルは、現在ブロック4310,4320,4330の上側周辺サンプルでもある。
このとき、多様な実施形態による現在ブロック4310,4320,4330の境界領域に含まれるサンプルが、多様な基準によっても決定される。例えば、現在ブロック4310を参照すれば、現在ブロック4310の境界領域に含まれるサンプルは、現在ブロック4310のサンプルのうち、サンプルの位置が現在ブロック4310の境界領域に完全に含まれるサンプルでもある。
または、現在ブロック4320を参照すれば、現在ブロック4320の境界領域に含まれるサンプルは、現在ブロック4320のサンプルのうち、サンプル位置の中心が現在ブロック4310の境界領域に含まれるサンプルでもある。
または、現在ブロック4330を参照すれば、現在ブロック4330の境界領域に含まれるサンプルは、現在ブロック4330のサンプルのうち、サンプルの位置が現在ブロック4330の境界領域に全部または一部にもかかるサンプルでもある。
また、図44は、現在ブロック4410,4420,4430の輪郭が曲線輪郭である場合の例示を示している。現在ブロック4410,4420,4430の境界領域に含まれるサンプルは、図43の現在ブロック4310,4320,4330と同様に、多様な基準によっても決定される。
多様な実施形態による現在ブロック4310,4320,4330,4410,4420,4430の境界領域に係わる予測が行われれば、境界領域を除いた残り領域に対しても予測が行われる。すなわち、図43の及び図44の現在ブロック4310,4320,4330,4410,4420,4430において、境界領域を除いた残り領域は、セグメントに該当する領域であり、図43及び図44において、白サンプルで示される領域でもある。例えば、セグメント領域に対して、DCモードによるイントラ予測が行われる。
また、図43及び図44の現在ブロック4310,4320,4330,4410,4420,4430の境界領域に係わる予測、及びセグメント領域に係わる予測がいずれも行われれば、境界領域とセグメント領域との間をフィルタリングすることができる。境界領域とセグメント領域とに対して、互いに異なる方法で予測が行われ、誤差による品質低下が発生してしまう。従って、該誤差を減らし、可視的な品質低下を防止するために、境界領域とセグメント領域との間にフィルタリングが行われる。
例えば、図43及び図44の現在ブロック4310,4320,4330,4410,4420,4430の境界領域のサンプルのうちサンプルの左側または右側にセグメント領域のサンプルが隣接するサンプルに対して、フィルタリングが行われる。また、図43及び図44の現在ブロック4310,4320,4330,4410,4420,4430のセグメント領域のサンプルのうちサンプルの左側または右側に境界領域のサンプルが隣接するサンプルに対して、フィルタリングが行われる。
または、図43及び図44の現在ブロック4310,4320,4330,4410,4420,4430の境界領域のサンプルのうちサンプルの上側または下側にセグメント領域のサンプルが隣接するサンプルに対して、フィルタリングが行われる。また、図43及び図44の現在ブロック4310,4320,4330,4410,4420,4430のセグメント領域のサンプルのうちサンプルの上側または下側に境界領域のサンプルが隣接するサンプルに対して、フィルタリングが行われる。
具体的には、一実施形態によるサンプリング方法は、図27の擬似コードと同一アルゴリズムによっても遂行される。このとき、図43の現在ブロック4310,4320,4330のマスク値は、現在ブロック4310,4320,4330の境界領域に含まれるサンプルを決定するとき、境界領域に含まれるか否かということによって、1または0に決定され、決定されたマスク値がフィルタリングに利用される。
多様な実施形態による図43及び図44の現在ブロック4310,4320,4330,4410,4420,4430の境界領域とセグメント領域との間で行われるフィルタリングは、水平方向及び垂直方向のいずれもに適用され、水平方向及び垂直方向のうち1方向に沿っても適用される。
また、多様な実施形態による現在ブロック4310,4320,4330,4410,4420,4430の境界領域に対して予測を行う場合、境界領域の予測値に係わる誤差を減らすために、境界領域にフィルタリングを行うこともできる。
例えば、現在ブロック4310,4320,4330,4410,4420,4430の境界領域に含まれたサンプルの予測値を生成し、生成された予測値にフィルタリングすることができる。例えば、[1,2,1]のようなフィルタ値を有する一次元ガウシアンフィルタが利用されてもよい。また、現在ブロック4310,4320,4330,4410,4420,4430の境界領域を予測するために参照される周辺サンプルに対して、まずフィルタリングを行い、フィルタリングされた周辺サンプルに基づいて、現在ブロック4310,4320,4330,4410,4420,4430の境界領域のサンプルの予測値を生成することもできる。
図45は、一実施形態による、イントラ予測遂行のためのシンタックスエレメントを示している。
一実施形態による、現在ブロックに係わる予測モードを示す情報が、ビットストリームからパージングされる。例えば、現在ブロックに係わる予測モードを示す情報は、現在ブロックを、正方形または長方形の予測単位を利用する階層的構造の符号化単位に基づいたイントラモードを利用するか、あるいは現在ブロックに含まれた物体の境界による輪郭を利用して分割される予測単位であるセグメントを利用する輪郭基盤イントラ予測モードを利用するかということを示す情報(intra_mode_flag)を含んでもよい。
該予測モードを示す情報が、在ブロックが一般的なイントラモードを示す場合、現在ブロックは、DCモード、プレーナモード、アンギュラモードなどのイントラモードによっても予測される。
また、該予測モードを示す情報が、現在ブロックが一般的なイントラモードを示さない場合、現在ブロックから分割されるセグメントの個数に係わる情報(seg_num_minus1)がパージングされる。例えば、現在ブロックのセグメントの個数に係わる情報が、現在ブロックから分割されるセグメントが1個であることを示す場合、現在ブロックは、分割されず、現在ブロックと同一第1セグメントの予測モードを示す情報(1seg_mode)がパージングされる。例えば、第1セグメントの予測モードを示す情報(1seg_mode)は、DCモード、プレーナモード、アンギュラモードなどのイントラモードのうち一つを示すことができる。
現在ブロックのセグメント個数に係わる情報が、現在ブロックから分割されるセグメントが2個以上であるということを示す場合、現在ブロックは、現在ブロックの予測のためのセグメントにも分割される。すなわち、現在ブロックから、少なくとも1つのセグメントを決定するための輪郭に係わる情報がパージングされる。一実施形態による、現在ブロックの輪郭に係わる情報は、輪郭モード情報、及び輪郭の座標に係わる情報を含んでもよい。
具体的には、現在ブロックから、2以上のセグメントが分割される場合、現在ブロックの輪郭モード情報(line_orient)がパージングされる。例えば、輪郭モード情報は、輪郭の方向を示す情報でもある。
一実施形態による、現在ブロックの輪郭モード情報(line_orient)は、現在ブロックの4辺のうち、現在ブロックの輪郭が当接する少なくとも2辺を示す情報でもある。例えば、一実施形態による、現在ブロックの輪郭モード情報(line_orient)は、現在ブロックの上側、右側、下側及び左側のうち2辺を示す情報であり、第1モード(line_orient==0)、第2モード(line_orient==1)、第3モード(line_orient==2)、第4モード(line_orient==3)、第5モード(line_orient==4)及び第6モード(line_orient==5)のうち一つを示すことができる。現在ブロックの輪郭モード情報(line_orient)によって、現在ブロックの輪郭モードが決定される。
一実施形態による現在ブロックの輪郭モードが決定されれば、現在ブロックの輪郭座標に係わる情報をパージングするか否かということが決定される。現在ブロックの輪郭座標に係わる情報は、現在ブロック輪郭の第1座標情報(line_pos1)及び第2座標情報(line_pos2)を含んでもよい。具体的には、現在ブロックの輪郭モードによって、現在ブロックの輪郭座標が、現在ブロックの周辺ブロックから誘導可能であるか、あるいはパージングしなければならないかということが決定される。
例えば、現在ブロックの輪郭モードに基づいて、現在ブロック輪郭の第1座標及び第2座標が、現在ブロックの周辺ブロックから誘導可能であると決定される場合、現在ブロック輪郭の第1座標情報(line_pos1)及び第2座標情報(line_pos2)は、パージングされない。また、ブロックの輪郭モードに基づいて、現在ブロック輪郭の第1座標及び第2座標が、現在ブロックの周辺ブロックから誘導可能ではないと決定される場合、現在ブロック輪郭の第1座標情報(line_pos1)及び第2座標情報(line_pos2)は、ビットストリームからパージングされる。現在ブロックの輪郭座標に係わる情報のパージングいかんは、第1座標及び第2座標それぞれについても決定される。
例えば、現在ブロック輪郭の第1座標が誘導可能であり、第2座標が誘導可能ではない場合(例えば、line_orient==0)、現在ブロック輪郭の第2座標情報(line_pos2)だけがパージングされる。
また、現在ブロック輪郭の第1座標及び第2座標が、いずれも現在ブロックの周辺ブロックから誘導可能ではない場合、現在ブロック輪郭の第1座標情報(line_pos1)及び第2座標情報(line_pos2)が、いずれもパージングされる。このとき、現在ブロック内の右側下端に位置した第2セグメントのサンプル値または予測値(seg1_dc)は、現在ブロックの周辺サンプルを利用して生成されずにパージングされる。
また、一実施形態による、現在ブロックに対して、境界の方向に沿って予測を行うか否かということを示す情報(boundary_filling_flag)がパージングされる。境界の方向に沿って予測を行うか否かということを示す情報(boundary_filling_flag)が遂行されるということを示す場合、現在ブロックの境界領域に含まれるサンプルの予測値が、境界の方向に沿っても生成される。例えば、現在ブロックの境界領域に含まれるサンプルの予測値は、図38ないし図44で説明した方法を利用しても生成される。
このとき、一実施形態による、現在ブロックの境界領域に係わる情報がパージングされる。例えば、現在ブロックの境界領域に係わる情報は、境界領域の幅に係わる情報(boundary_filling_thickness)を含んでもよい。境界領域の幅を示す情報は、境界領域の幅を直接示すこともでき、複数個の所定幅の候補のうち一つを示すインデックス情報でもある。
または、境界の方向に沿って予測を行うか否かということを示す情報(boundary_filling_flag)が境界の方向による予測を示さない場合、現在ブロックの境界領域に含まれるサンプルの予測値は、現在ブロックのセグメント領域のサンプル及びマスク値を利用しても生成される。
また、一実施形態による、現在ブロックの予測値に対して、フィルタリングを行うか否かということを示す情報(boundary_filtering_disable_flag)がパージングされる。一実施形態による、現在ブロックについて、境界領域の予測値に対して行われるフィルタリング方法の一例示は、図37の方法と同一でもある。
以下、図46ないし図49を参照し、先立って提案した輪郭を基盤としたイントラ予測ビデオ符号化方法が使用されず、長方形または正方形の予測単位を利用する階層的構造の符号化単位に基づいたビデオ符号化方法が使用される場合の、深度別符号化単位、予測単位及び変換単位の関係について後述する。
図46は、多様な実施形態による、深度別符号化単位及び予測単位を図示している。
一実施形態によるビデオ符号化装置10、及び一実施形態によるビデオ復号装置20は、映像特性を考慮するために、階層的な符号化単位を使用することができる。符号化単位の最大高及び最大幅、最大深度は、映像の特性によって適応的に決定され、ユーザの要求によって、多様に設定される。あらかじめ設定された符号化単位の最大サイズにより、深度別符号化単位の大きさが決定される。
一実施形態による符号化単位の階層構造600は、符号化単位の最大高及び最大幅が64であり、最大深度が3である場合を図示している。このとき、該最大深度は、最大符号化単位から最小符号化単位までの総分割回数を示す。一実施形態による符号化単位の階層構造600の縦軸に沿って深度が深くなるので、深度別符号化単位の高さ及び幅がそれぞれ分割される。また、符号化単位の階層構造600の横軸に沿って、それぞれの深度別符号化単位の予測符号化の基になる予測単位及びパーティションが図示されている。このとき、図46に図示された深度別符号化単位の予測単位及びパーティションは、輪郭基盤の予測符号化方法を利用しない場合の現在ブロックの予測単位を示すことができる。
すなわち、符号化単位610は、符号化単位の階層構造600において最大符号化単位であり、深度が0であり、符号化単位の大きさ、すなわち、高さ及び幅が64x64である。縦軸に沿って深度が深くなり、サイズ32x32である深度1の符号化単位620、サイズ16x16である深度2の符号化単位630、サイズ8x8である深度3の符号化単位640が存在する。サイズ8x8である深度3の符号化単位640は、最小符号化単位である。
それぞれの深度別に横軸に沿って、符号化単位の予測単位及びパーティションが配列される。すなわち、深度0のサイズ64x64の符号化単位610が予測単位であるならば、予測単位は、サイズ64x64の符号化単位610に含まれる、サイズ64x64のパーティション610、サイズ64x32のパーティション612、サイズ32x64のパーティション614、サイズ32x32のパーティション616にも分割される。
同様に、深度1のサイズ32x32の符号化単位620の予測単位は、サイズ32x32の符号化単位620に含まれる、サイズ32x32のパーティション620、サイズ32x16のパーティション622、サイズ16x32のパーティション624、サイズ16x16のパーティション626にも分割される。
同様に、深度2のサイズ16x16の符号化単位630の予測単位は、サイズ16x16の符号化単位630に含まれる、サイズ16x16のパーティション630、サイズ16x8のパーティション632、サイズ8x16のパーティション634、サイズ8x8のパーティション636にも分割される。
同様に、深度3のサイズ8x8の符号化単位640の予測単位は、サイズ8x8の符号化単位640に含まれる、サイズ8x8のパーティション640、サイズ8x4のパーティション642、サイズ4x8のパーティション644、サイズ4x4のパーティション646にも分割される。
一実施形態によるビデオ符号化装置10,100の符号化単位決定部120は、最大符号化単位610の深度を決定するために、最大符号化単位610に含まれるそれぞれの深度の符号化単位ごとに符号化を行わなければならない。
同一範囲及び同一サイズのデータを含むための深度別符号化単位の個数は、深度が深くなるほど、深度別符号化単位の個数も増加する。例えば、深度1の符号化単位一つを含むデータに対して、深度2の符号化単位は、四つが必要である。従って、同一データの符号化結果を深度別に比較するために、1つの深度1の符号化単位、及び4つの深度2の符号化単位を利用して、それぞれ符号化されなければならない。
それぞれの深度別符号化のためには、符号化単位の階層構造600の横軸に沿って、深度別符号化単位の予測単位ごとに符号化を行い、当該深度で最小の符号化誤差である代表符号化誤差が選択される。また、符号化単位の階層構造600の縦軸に沿って深度が深くなり、それぞれの深度ごとに符号化を行い、深度別代表符号化誤差を比較し、最小符号化誤差が検索される。最大符号化単位610において、最小符号化誤差が発生する深度及びパーティションが、最大符号化単位610の深度及びパーティションモードに選択される。
図47は、多様な実施形態による、符号化単位及び変換単位の関係を図示している。
一実施形態による、ビデオ符号化装置10、または一実施形態によるビデオ復号装置20は、最大符号化単位ごとに、最大符号化単位より小さいか、あるいはそれと同じ大きさの符号化単位で映像を符号化したり復号したりする。符号化過程において、変換のための変換単位の大きさは、それぞれの符号化単位ほど大きくないデータ単位を基に選択される。
例えば、一実施形態による、ビデオ符号化装置10、または一実施形態によるビデオ復号装置20で、現在符号化単位710が64x64サイズであるとき、32x32サイズの変換単位720を利用して変換が行われる。
また、64x64サイズの符号化単位710のデータを64x64サイズ以下の32x32,16x16,8x8,4x4サイズの変換単位でそれぞれ変換を行って符号化した後、原本との誤差が最小である変換単位が選択される。
図48は、多様な実施形態による符号化情報を図示している。
一実施形態による、ビデオ符号化装置10のビットストリーム生成部16は、分割情報として、それぞれの深度の符号化単位ごとに、パーティションモードに係わる情報800、予測モードに係わる情報810、変換単位サイズに係わる情報820を符号化して伝送することができる。
このとき、図48に図示されたパーティションモードに係わる情報800は、映像の現在ブロックについて、輪郭を基盤とした予測符号化を利用しない場合に利用される。
パーティションモードに係わる情報800は、現在符号化単位の予測符号化のためのデータ単位として、現在符号化単位の予測単位が分割されたパーティションの形態に係わる情報を示す。例えば、サイズ2Nx2Nの現在符号化単位CU_0は、サイズ2Nx2Nのパーティション802、サイズ2NxNのパーティション804、サイズNx2Nのパーティション806、サイズNxNのパーティション808のうち1つのタイプにも分割される。その場合、現在符号化単位のパーティションモードに係わる情報800は、サイズ2Nx2Nのパーティション802、サイズ2NxNのパーティション804、サイズNx2Nのパーティション806及びサイズNxNのパーティション808のうち一つを示すように設定される。
予測モードに係わる情報810は、予測単位の予測モードを示す。例えば、予測モードに係わる情報810を介して、パーティションモードに係わる情報800が示す現在ブロックのパーティション、または現在ブロックの輪郭に基づいて決定されたセグメントが、イントラモード812、インターモード814及びスキップモード816のうち一つで予測符号化が行われるかということが設定される。
また、変換単位サイズに係わる情報820は、現在符号化単位を、いかなる変換単位を基に変換を行うかということを示す。例えば、変換単位は、第1イントラ変換単位サイズ822、第2イントラ変換単位サイズ824、第1インター変換単位サイズ826、第2インター変換単位サイズ828のうち一つでもある。
一実施形態によるビデオ復号装置20は、それぞれの深度別符号化単位ごとに、パーティションモードに係わる情報800、予測モードに係わる情報810、変換単位サイズに係わる情報820を抽出して復号に利用することができる。
以上で開示された多様な実施形態が属する技術分野において当業者であるならば、本明細書で開示された実施形態の本質的な特性から外れない範囲で変形された形態に具現されるということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。本明細書の開示範囲は、前述の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、本明細書の開示範囲に含まれるものであると解釈されなければならないのである。