(57)【特許請求の範囲】
【請求項１】
ビデオ符号システムにおけるIntraBCモード(Intraブロックコピーモード)符号化ブロックのブロックベクトル (以下、ＢＶと称す)予測の方法であって、
現在のピクチャ中の現在のブロックに関連する入力データを受信する工程と、 
前記現在のブロックの現在のＢＶを決定して、前記現在のピクチャ中に、Intra 参照ブロックを配置する工程と、
前記現在のブロックの隣接ブロックから、複数のＢＶ候補リストを生成する工程と、
一ＢＶ候補リストをＢＶ予測として、前記現在のブロックに選択する工程と、
前記ＢＶ予測に基づいて、前記現在のＢＶを符号化する工程と、 
一インデックスをシグナリングして、前記複数のＢＶ候補リストから選択された前記一ＢＶ候補リストを識別する方法と、
前記Intra 参照ブロックを予知因子として、前記現在のブロックを符号化する工程とを有し、
前記複数のＢＶ候補リストは、第１ＢＶ候補リストおよび第２ＢＶ候補リストに対応し、
前記第１ＢＶ候補リストは、第１位置-関連優先順位にしたがって、選択された第１位置中の一つ以上の第１隣接ブロックから生成され、
前記第２ＢＶ候補リストは、第２位置-関連優先順位にしたがって、選択された第２位置中の一つ以上の第２隣接ブロックから生成され、
前記第１ＢＶ候補リストは第１IntraBC モード符号化の第１隣接ブロックのＢＶにより充填され、
前記第２ＢＶ候補リストが生成される前、前記第１ＢＶ候補リストが生成され、前記第１ＢＶ候補リストが、前記選択された第１位置中の前記１つ以上の第１隣接ブロックにより充填されない場合、前記選択された第２位置中の前記１つ以上の第２隣接ブロックが用いられて、前記第１ＢＶ候補リストを充填し、
前記第１ＢＶ候補リストが、前記選択された第１位置中の前記１つ以上の第１隣接ブロックにより充填された場合、前記第２ＢＶ候補リストが、第１IntraBC モード符号化の第２隣接ブロックのＢＶにより充填されることを特徴とする方法。
【請求項２】
前記１つ以上の第１隣接ブロックは、前記現在のブロックの左下位置で、単一の第１空間的隣接ブロックに対応し、
前記第１位置-関連優先順位は、前記左下位置だけを有し、
前記１つ以上の第２隣接ブロックは、前記現在のブロックの真上位置で、単一の第２空間的隣接ブロックに対応し、および、
前記第２位置-関連優先順位は、前記真上位置だけを有することを特徴とする
請求項１に記載の方法。
【請求項３】
ビデオデコーダにおけるIntraBCモード(Intraブロックコピーモード)符号化ブロックのブロックベクトル(以下、ＢＶと称す)復号の方法であって、
現在のピクチャの符号化データを有するビットストリームを受信する工程と、 
現在のブロックのIntraBCモード符号化隣接ブロックから、複数のＢＶ候補リストを生成する工程と、
前記ビットストリームから一インデックスを決定して、前記複数のＢＶ候補リストから特定のＢＶ候補リストを選択する工程と、
前記ビットストリームから符号化ＢＶを決定する工程と、
前記特定のＢＶ候補リストに対応する前記符号化ＢＶおよびＢＶ予測に基づいて、前記現在のブロックの現在のＢＶを復号する工程と、
前記現在のＢＶに基づいて、前記現在のピクチャ中で、Intra参照ブロックを決定する工程と、
前記Intra 参照ブロックを用いて、前記現在のブロックを復号する工程と、
を有し、
前記複数のＢＶ候補リストは、第１ＢＶ候補リストおよび第２ＢＶ候補リストに対応し、
前記第１ＢＶ候補リストは、第１位置-関連優先順位にしたがって、選択された第１位置中の一つ以上の第１隣接ブロックから生成され、
前記第２ＢＶ候補リストは、第２位置-関連優先順位にしたがって、選択された第２位置中の一つ以上の第２隣接ブロックから生成され、
前記第１ＢＶ候補リストは第１IntraBC モード符号化の第１隣接ブロックのＢＶにより充填され、
前記第２ＢＶ候補リストが生成される前、前記第１ＢＶ候補リストが生成され、前記第１ＢＶ候補リストが、前記選択された第１位置中の前記１つ以上の第１隣接ブロックにより充填されない場合、前記選択された第２位置中の前記１つ以上の第２隣接ブロックが用いられて、前記第１ＢＶ候補リストを充填し、
前記第１ＢＶ候補リストが、前記選択された第１位置中の前記１つ以上の第１隣接ブロックにより充填された場合、前記第２ＢＶ候補リストが、第１IntraBC モード符号化の第２隣接ブロックのＢＶにより充填される
ことを特徴とする方法。
【請求項４】
前記インデックスは、前記第１ＢＶ候補リストおよび前記第２ＢＶ候補リスト間で選択する１ビットコードに対応することを特徴とする請求項３に記載の方法。
【請求項５】
前記一つ以上の第１隣接ブロックは、前記現在のブロックの左下位置で、単一の第１空間的隣接ブロックに対応し、
前記第１位置-関連優先順位は、前記左下位置だけを有し、
前記一つ以上の第２隣接ブロックは、前記現在のブロックの真上位置で、単一の第２空間的隣接ブロックに対応し、
前記第２位置-関連優先順位は前記真上位置だけを有することを特徴とする請求項３に記載の方法。
【請求項６】
前記一つ以上の第１隣接ブロックは、前記現在のブロックの左下位置および左隅位置で、２個の第１空間的隣接ブロックに対応し、
前記第１位置-関連優先順位は、前記左下位置の順位が前記左隅位置の順位より上を示し、
前記１つ以上の第２隣接ブロックは、前記現在のブロックの真上位置、右上位置および左上位置で、３個の第２隣接ブロックに対応し、
前記第２位置-関連優先順位は、前記真上位置の順位が前記右上位置の順位より上であり、かつ、前記右上位置の順位が前記左上位置の順位より上であることを示す請求項３に記載の方法。
【請求項７】
前記選択された第１位置中の前記一つ以上の第１隣接ブロックあるいは前記選択された第１位置中の前記一つ以上の第１隣接ブロックおよび前記選択された第２位置中の前記一つ以上の第２隣接ブロック両方から、可用ＢＶ候補が前記第１ＢＶ候補リストに見つからない場合、デフォルトＢＶが前記第１ＢＶ候補リストに用いられることを特徴とする請求項３に記載の方法。
【請求項８】
前記選択された第２位置中の前記一つ以上の第２隣接ブロックから、可用ＢＶ候補が前記第２ＢＶ候補リストに見つからない場合、デフォルトＢＶが前記第２ＢＶ候補リストに用いられることを特徴とする請求項３に記載の方法。 
【請求項９】
各ＢＶ候補リストは、位置-関連優先順位にしたがって、選択された位置中の１つ以上の隣接ブロックから生成されることを特徴とする請求項３に記載の方法。
【請求項１０】
前記一ＢＶ候補リストを充填するのに有効である一ＢＶ候補リストに関連する選択された位置中の隣接ブロックがない場合、デフォルトＢＶが前記一ＢＶ候補リストに用いられることを特徴とする請求項３に記載の方法。
【請求項１１】
前記デフォルトＢＶは、(0, 0), (-2w, 0), (-w, 0), (0, -2w) および (0, -w)を含むグループから選択され、ｗは、ブロック幅に対応することを特徴とする請求項９に記載の方法。
【請求項１２】
前記一ＢＶ候補リストを充填するのに有効である一ＢＶ候補リストに関連する選択された位置中の隣接ブロックがない場合、以前のIntraBCモード符号化ブロックに対応する置換ＢＶが前記一ＢＶ候補リストに用いられることを特徴とする請求項３に記載の方法。
【請求項１３】
前記複数のＢＶ候補リストはそれぞれ、前記以前のIntraBCモード符号化ブロックに対応する前記置換ＢＶを保存するのに用いられるバッファに対応し、同じＢＶ値は、異なるＢＶ候補リストに対応する異なるバッファ両方に保存されないことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記複数のＢＶ候補リストは２個のＢＶ候補リストに対応し、
前記２個のＢＶ候補リストに対応する２個のバッファは、(-2w, 0)および (-w, 0)に対応する２個の初期ＢＶ値を用いて初期化され、ｗは、ブロック幅に対応することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記複数のＢＶ候補リストは、前記現在のブロックの１つ以上の一時的隣接ブロックから生成される一時的ＢＶ候補リストを有することを特徴とする請求項３に記載の方法。
【請求項１６】
前記１つ以上の一時的隣接ブロックは、前記現在のピクチャの共同設置ピクチャ中の中央ブロック、外側右下ブロック、左上ブロックおよび内側右下ブロックを含むグループから選択される１つ以上の共同設置ブロックに対応することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記複数のＢＶ候補リストは、１つ以上の前もって符号化されたＢＶに対応する１つ以上の空間的ＢＶ候補リスト、１つ以上の一時的ＢＶ候補リスト、および、一つ以上の保存されたＢＶ候補リストから構成されるグループから選択される２個以上のＢＶ候補リストを有することを特徴とする請求項３に記載の方法。
【請求項１８】
１つ以上の新しいＢＶ候補リストを前のＢＶ予測リストに加えることにより、前記複数のＢＶ候補リストを生成するために、ＢＶ予測リストが作成されていることを特徴とする請求項１７に記載の方法。
【請求項１９】
一つ以上の新しいＢＶ候補リストを前記前のＢＶ予測リストに加える前か後に、前記ＢＶ予測リストは切り落とされて、任意の冗長ＢＶ候補リストを除去することを特徴とする請求項１８に記載の方法。
【請求項２０】
最終ＢＶ予測リストのサイズがＮより大きい場合、Ｎ個のＢＶ候補リストだけが前記最終ＢＶ予測リスト中に用いられ、Ｎは１より大きい整数であることを特徴とする請求項１８に記載の方法。
【請求項２１】
最終ＢＶ予測リストのサイズがＮより小さい場合、一つ以上の所定ＢＶが前記最終ＢＶ予測リストに加えられ、Ｎは１より大きい整数であることを特徴とする請求項１８に記載の方法。
【請求項２２】
前記一つ以上の所定ＢＶは、(0, 0), (-2w, 0), (-w, 0), (-1.5w, 0), (0, -2w), (0, -w)および(0, -1.5w)を含むグループから選択される一つ以上の所定値に対応し、ｗは、ブロック幅に対応することを特徴とする請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１４年５月６日に出願された米国特許仮出願番号６１/９８９０５５および２０１４年６月２３日に出願された米国特許仮出願番号６２/０１５７１１から、優先権を主張する。よって、その内容は引用によって本願に援用される。
【０００２】
本発明は、Intraブロックコピー (IntraBC)モードを用いたビデオ符号化に関するものであって、本発明は、スクリーンコンテント符号化あるいはビデオ符号化のIntraブロックコピー (IntraBC)符号化モードのパフォーマンスを改善する技術に関するものである。
【背景技術】
【０００３】
高効率ビデオコーディング (ＨＥＶＣ)標準の範囲拡張 (RExt)あるいはスクリーンコンテンツ向け符号化の最近の動向において、スクリーンコンテンツの符号化効率におけるそれらの改善のために、いくつかのツールが採用されている。Intraブロックにおいて、従来のアプローチによる Intra予測は、隣接ブロックからの再構成画素に基づいた予測を用いて実行される。Intra予測は、一組のIntra Modesから Intra Modeを選択する。一組のIntra Modesは、垂直モード、水平モードおよび各種角度予測モードを有する。ＨＥＶＣ範囲拡張およびスクリーンコンテンツ向け符号化において、イントラブロックコピー (IntraBC)という名の新しい符号化モードが用いられている。IntraBC 技術は、Budagavi により、AHG8で提出された: Video coding using Intra motion compensation, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 13th Meeting: Incheon, KR, 18-26 Apr. 2013, Document: JCTVC-M0350 (以下、JCTVC-M0350)。JCTVC-M0350による例が図１に示され、現在の符号化ユニット (ＣＵ、１１０)が、ＭＣ(動き補償)を用いて符号化される。予測ブロック (１２０)は、現在のＣＵおよび変位ベクトル (１１２)により配置される。この例において、検索領域は、現在のＣＴＵ (coding tree unit)、左のＣＴＵおよび左側の第２ＣＴＵに限定される。予測ブロックは、すでに再構成された領域から得られる。その後、動きベクトル (ＭＶ)とも称される変位ベクトル、および、現在のＣＵの余剰が符号化される。ＨＥＶＣは、ＣＴＵとＣＵブロック構造を基本単位とし、ビデオデータを符号化することが知られている。各ピクチャはＣＴＵに分割され、且つ、各ＣＴＵはＣＵに分割される。予測位相期間中、各ＣＵは、prediction units (PUs)という名の複数のブロックに分割されて、予測プロセスを実行する。予測余剰が各ＣＵに形成された後、各ＣＵに関連する余剰は、transform units (TUs)という名の複数のブロックに分割されて、変換 (たとえば、離散余弦変換 (ＤＣＴ))を適用する。
【０００４】
JCTVC-M0350において、Intra ＭＣは、少なくとも以下の領域中でInter 予測に用いられる動き補償と異なる:
・      ＭＶは、Intra ＭＣ(つまり、水平あるいは垂直)の1-Dに制限され、Inter 予測は2-D 動き推定を用いる。
・      ２値化は、Intra ＭＣの固定長さで、Inter 予測は指数関数-Golombを用いる。
・      Intra ＭＣは、新しい構文要素を導入して、ＭＶが、水平あるいは垂直か伝達する。
【０００５】
JCTVC-M0350に基づいて、Pang等により、Non-RCE3で、いくつかの修正が行われている: Intra 動き補償 with 2-D MVs, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013, Document: JCTVC-N0256 (以下、JCTVC- N0256)。まず、Intra ＭＣが拡張されて、2-D MVsをサポートするので、両ＭＶコンポーネンツは、同時に非ゼロになる。これは、本来のアプローチよりも、Intra ＭＣにさらなるフレキシブル性を提供し、ＭＶは、厳密に、水平あるいは垂直に制約される。 
【０００６】
JCTVC-N0256において、２個のＭＶ符号化方法が開示されている:
・      方法 1- 動きベクトル予測. 左側あるいは上方のＭＶがＭＶ予測因子として選択されて、得られた動きベクトル差 (ＭＶＤ)が符号化される。フラグが用いられて、ＭＶＤがゼロであるか示す。ＭＶＤがゼロでない場合、第三順位の指数関数-Golomb 符号が用いられて、残りの絶対レベルのＭＶＤを符号化する。別のフラグが用いられて、サインを符号化する。
・      方法 2:動きベクトル予測無し. ＭＶが、ＨＥＶＣ中のＭＶＤに用いられる指数関数-Golomb 符号を用いて符号化される。
【０００７】
JCTVC-N0256で開示されるもう一つの差異は、2-D Intra ＭＣは、さらに、経路を考慮したアプローチと組み合わされることである:
1.      補間フィルターが用いられない, 
2.      ＭＶ検索領域が制限される。２個のケースが開示される:
a.      検索領域は、現在のＣＴＵおよび左のＣＴＵである、あるいは、 
b.      検索領域は、現在のＣＴＵおよび左のＣＴＵの最右の４カラムサンプルである。
【０００８】
JCTVC-N0256において提案される方法において、2-D Intra ＭＣ、補間フィルターの除去、現在のＣＴＵおよび左のＣＴＵに制限される検索領域が、新しいバージョンのドラフト標準に採用されている。
【０００９】
IntraBCモード符号化において、各 IntraBCモード符号化ブロックに対し、ブロックベクトル (ＢＶ)がシグナリングされて、ＢＶシグナリングに関連するデータの量が十分でなければならない。よって、ＢＶにとって効果的な符号化方法の開発が必要である。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明によるビデオ符号化システムにおけるIntraBCモード (Intraブロックコピーモード)符号化ブロックのブロックベクトル (ＢＶ)予測の方法が開示される。
【課題を解決するための手段】
【００１１】
本発明によるビデオ符号化システムにおけるIntraBCモード (Intraブロックコピーモード)符号化ブロックのブロックベクトル (ＢＶ)予測の方法は、複数のＢＶ候補リストが、現在のブロックの隣接ブロックから生成される。ＢＶ候補リストが、現在のブロックのＢＶに対し、ＢＶ予測として選択される。現在のブロックは、現在のブロックのＢＶに従って配置されるIntra 参照ブロックに基づいて符号化される。 
【００１２】
本実施態様において、複数のＢＶ候補リストは、第１ＢＶ候補リストおよび第２ＢＶ候補リストに対応する。第１ＢＶ候補リストは、第１位置-関連優先順位にしたがって、選択された第１位置中の一つ以上の第１隣接ブロックから生成され、第２ＢＶ候補リストは、第２位置-関連優先順位にしたがって、選択された第２位置中の一つ以上の第２隣接ブロックから生成される。第１ＢＶ候補リストは、IntraBCモードを用いて符号化される第１可用第１隣接ブロックからのＢＶにより充填され、第２ＢＶ候補リストは、IntraBCモードを用いて符号化される第１可用第２隣接ブロックのＢＶにより充填される。たとえば、第１隣接ブロックは、現在のブロックの左下(ＬＢ）位置で、単一の第１空間的隣接ブロックに対応し、第２隣接ブロックは、真上(ＡＲ）位置で、単一の第２空間的隣接ブロックに対応する。２個のＢＶ候補リストのケースにおいて、インデックスは１ビットコードに対応して、第１ＢＶ候補リストおよび第２ＢＶ候補リスト間で選択する。
【００１３】
第２ＢＶ候補リストが生成される前に、前記第１ＢＶ候補リストが生成されるとき、第１ＢＶ候補リストが、選択された第１位置の第１隣接ブロックから充填されない場合、選択された第２位置の第２隣接ブロックが用いられて、第１ＢＶ候補リストを充填する。可用ＢＶ候補が、選択された第１位置の第１隣接ブロックあるいは選択された第１位置の第１隣接ブロックおよび選択された第２位置の第２隣接ブロック両方からの第１ＢＶ候補リストに見つけられない場合、デフォルトＢＶが第１ＢＶ候補リストに用いられる。さらに、可用ＢＶ候補が、選択された第２位置の第２隣接ブロックからの第２ＢＶ候補リストに見つけられない場合、デフォルトＢＶが第２ＢＶ候補リストに用いられる。
【００１４】
各ＢＶ候補リストは、位置-関連優先順位にしたがって、選択された位置中の隣接ブロックから生成される。ＢＶ候補リストを充填するのに有効なＢＶ候補リストに関連する選択された位置の隣接ブロックがない場合（if no neighbouring block in selected positions associated with one BV candidate list is available）、デフォルトＢＶがＢＶ候補リストに用いられる。たとえば、デフォルトＢＶは、 (0, 0), (-2w, 0), (-w, 0), (0, -2w)および (0, -w)を含むグループから選択され、ｗは、ブロック幅に対応する。
【００１５】
別の実施態様において、ＢＶ候補リストを充填するのに有効なＢＶ候補リストに関連する選択された位置の隣接ブロックがない場合（if no neighbouring block in selected positions associated with one BV candidate list is available）、以前のIntraBCモード符号化ブロックに対応する置換ＢＶがＢＶ候補リストに用いられる。２個のＢＶ候補リストが用いられる場合、２個のバッファが用いられて、以前のIntraBCモード符号化ブロックに対応する置換ＢＶを保存する。２個のバッファ中に保存されるＢＶは異なる。２個のバッファは、(-2w, 0)および (-w, 0)に対応する２個の初期ＢＶ値を用いて初期化される。ｗは、ブロック幅に対応する。複数のＢＶ候補リストは一ＢＶ候補リストに対応し、１つのバッファが用いられて、以前のIntraBCモード符号化ブロックに対応する置換ＢＶを保存する。
【００１６】
ＢＶ候補リストは、現在のブロックの一つ以上の一時的隣接ブロックから生成される一時的ＢＶ候補リストを有する。一時的隣接ブロックは、現在のピクチャの共同設置（co-located）ピクチャ中、中央(ＣＴＲ)ブロック、外側右下(ＢＲ)ブロック、左上(ＵＬ)ブロックおよび内側右下(ＢＲ２)を含むグループから選択される一つ以上の共同設置ブロックに対応する。さらに、ＢＶ候補リストは、一つ以上の前もって符号化されたＢＶに対応する一つ以上の空間的ＢＶ候補リスト、一つ以上の一時的ＢＶ候補リスト、および一つ以上の保存されたＢＶ候補リストから構成されるグループから選択された２つ以上のＢＶ候補リストを有する。一つ以上の新しいＢＶ候補リストを前のＢＶＰリストに加えることにより、ＢＶ予測(ＢＶＰ)リストが作成されて、ＢＶ候補リストを生成する。一つ以上の新しいＢＶ候補リストを前のＢＶＰリストに加える前又は後に、ＢＶＰリストが切り落とされ（be pruned）、任意の冗長ＢＶ候補リストを除去する。最終ＢＶＰリストのサイズがＮより大きい場合、Ｎ個の最終ＢＶＰリストのＢＶ候補リストだけが用いられる。ただし、Ｎは１より大きい整数である。最終ＢＶＰリストのサイズがＮより小さい場合、一つ以上の所定ＢＶが最終ＢＶＰリストに加えられる。所定ＢＶは、(0, 0), (-2w, 0), (-w, 0), (-1.5w, 0), (0, -2w), (0, -w) および (0, -1.5w)を含むグループから選択される一つ以上の所定値に対応しする。ｗは、ブロック幅に対応する。
【図面の簡単な説明】
【００１７】
【図１】Intraブロックコピー (IntraBC)モードによるIntra 動き補償の例を示す図で、水平変位ベクトルが用いられる。
【図２】高効率ビデオ符号化(ＨＥＶＣ)におけるアドバンスドＭＶＰに用いられる動きベクトル予測 (ＭＶＰ)候補を示す図である。
【図３】本実施態様によるブロックベクトル (ＢＶ)候補リストを生成する隣接ブロックの例を示す図である。
【図４】本実施態様によるブロックベクトル (ＢＶ)予測を組み込んだIntraBC (Intraブロックコピー）モード符号化のフローチャートである。
【図５】本実施態様によるブロックベクトル (ＢＶ)予測を組み込んだIntraBC (Intraブロックコピー)モード復号のフローチャートである。
【発明を実施するための形態】
【００１８】
Intraブロックコピー (IntraBC)モードを用いて符号化されるブロックのブロックベクトル (ＢＶ)符号化のパフォーマンスを改善するため、本発明は、ＢＶ予測の複数のＢＶ候補リストの使用を開示する。 
【００１９】
同時係属のＰＣＴ出願番号 PCT/CN2015/073225において、ＡＭＶＰ (アドバンスド動きベクトル予測子)を用いたIntraBCモードで符号化されるＢＶのブロックベクトル予測の方法が開示されており、隣接ブロックに関連するブロックベクトルが、現在のブロックベクトルに、ブロックベクトル予測候補として用いられる。ＨＥＶＣにおいて、空間的ＡＭＶＰ (advanced motion vector predictor)に加え、一時的ＭＶ予知因子は、インタースライス動き補償にも用いられる。図２に示されるように、一時的予測は、共同設置ピクチャ中に位置するブロック (TBR や TCTR)から生成され、共同設置ピクチャは、参照文献の一覧表０あるいは参照文献の一覧表１中の第１リファレンス画像である。図２において、中央(TCTR)および外側右下 (TBR) 共同設置ブロックに加え、別の共同設置ブロック、たとえば、左上 (TUL) および 内側右下 (TBR2)共同設置ブロックも用いられてもよい。一ブロックに関連する一時的ＭＶＰが２個のＭＶを有する。２個のＭＶは、参照文献の一覧表０からのＭＶおよび参照文献の一覧表１からのＭＶである。一時的ＭＶＰは、以下のルールにしたがって、参照文献の一覧表０あるいは参照文献の一覧表１から生成される:
1.      まず、現在のピクチャを交錯するＭＶが選択される。
2.      両ＭＶが現在のピクチャを交錯あるいは両方が交錯しない場合、現在のリストと同一のリファレンスリストを有する一つが選択される。  
【００２０】
同時係属のＰＣＴ出願番号PCT/CN2015/073225において、例のブロックベクトル予測候補が図３に示され、前もって符号化された隣接ブロック位置のいくつかの可能なブロックベクトル候補が示される。表１において、これらの位置が詳細に記述される。
【表１】
0006345805.tif 000002
【００２１】
同時係属のＰＣＴ出願番号PCT/CN2015/073225において、２個の候補リストが作成され、リスト０およびリスト１と称する。リスト０において、位置０がまずチェックされる。この位置中のブロックが IntraBC符号化される場合、そのブロックベクトルが選択されて、リスト０を充填する。そうでなければ、位置１がチェックされる。この位置のブロックが IntraBC符号化される場合、そのブロックベクトルが選択されて、リスト０を充填する。
【００２２】
上述の２個の位置のどれもIntraBC 符号化されない場合、位置２、３、４が一つずつチェックされる。第１IntraBC 符号化ブロックのＢＶがリスト０に充填される。リスト０が、位置０あるいは１によりすでに充填されている場合、位置２、３、４が一つずつチェックされ、第１IntraBC 符号化ブロックのＢＶがリスト１に充填される。
【００２３】
上述の５個の位置のチェック後、隣接する位置中のIntraBC 符号化ブロックが十分でない場合、デフォルトベクトルが用いられて、空のリストを充填する。
【００２４】
各IntraBC 符号化ブロックにおいて、上記の２個のリスト (リスト０およびリスト１)から２個のＢＶ予測候補がある。フラグが用いられて、２個のＢＶ予測のどれが実際に現在のブロックのＢＶの予測に用いられるか示す。その後、ＢＶ予測の差が更にエントロピー符号化される。
【００２５】
以下で、ブロックが存在するとともに、確実なモード、たとえば、IntraBCモードで符号化される場合、１つのブロックのＢＶは“有効である”とみなされる。このリストの候補ＢＶがどれも有効でない場合、リストは“空である”ことを意味する。本発明は、さらに、ブロックベクトル予測を改善し、各種実施態様が以下のように示される。 
【００２６】
実施態様１. 位置-関連優先順位を用いたＢＶ予測: 1→0; 3→2→4 
【００２７】
図３において、位置が、１ (ＬＢ)および０ (ＬＬ)の順序で、ひとつずつ、チェックされるとともに、第１可用ＢＶが用いられて、リスト０を充填する。位置は、３(ＡＲ)、２(ＵＲ)および４(ＵＬ)の順序で一つずつチェックされて、リスト０ (リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている)を充填する。全位置チェック後の空のリストにおいて、デフォルトブロックベクトルが用いられて、リストを充填する。 
【００２８】
上述のように、選択された位置の隣接ブロックは、位置-関連優先順位にしたがって検索される。たとえば、リスト０を生成するために選択された位置は、位置１(ＬＢ)および０(ＬＬ)に対応する。この例において、位置１(ＬＢ)は、位置０(ＬＬ)より高優先である。一方、リスト０あるいはリスト１を生成するために選択された位置は、位置３(ＡＲ)、２(ＵＲ)および４(ＵＬ)に対応する。この例において、位置３(ＡＲ)は位置２(ＵＲ)より高優先であり、位置２(ＵＲ)は位置４(ＵＬ)より高優先である。
【００２９】
実施態様２. 位置-関連優先順位を用いたＢＶ予測: 1→0; 3→2 
【００３０】
図３において、位置が、１(ＬＢ)および０ (ＬＬ)の順序で、一つずつチェックされるとともに、第１可用ＢＶが用いられて、リスト０を充填する。位置が３(ＡＲ)および２(ＵＲ)の順序で一つずつチェックされて、リスト０ (リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている場合)を充填する。全位置のチェック後の空のリストにおいて、デフォルトベクトルが用いられて、リストを充填する。
【００３１】
実施態様３. 位置-関連優先順位を用いたＢＶ予測: 1; 3→4
【００３２】
図３において、位置１ (ＬＢ)がチェックされて、リスト０を充填する。位置が、３(ＡＲ)および４(ＵＬ)の順で一つずつチェックされて、リスト０ (リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている場合)を充填する。全位置のチェック後の空のリストにおいて、デフォルトベクトルが用いられて、リストを充填する。
【００３３】
実施態様４. 位置-関連優先順位を用いたＢＶ予測: 1; 3
【００３４】
図３において、位置１ (ＬＢ)がチェックされてリスト０を充填する。位置３(ＡＲ)がチェックされて、リスト０(リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている場合)を充填する。全位置のチェック後の空のリストにおいて、デフォルトベクトルが用いられて、リストを充填する。
【００３５】
実施態様５. 位置-関連優先順位を用いたＢＶ予測: 1→5; 3→6 
【００３６】
図３において、位置が、１(ＬＢ)および５(ＬＴ)の順序で、一つずつチェックされるとともに、第１可用ＢＶが用いられて、リスト０を充填する。位置が、３(ＡＲ)および６ (ＡＬ)の順序で、一つずつチェックされて、リスト０ (リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている場合)を充填する。全位置のチェック後の空のリストにおいて、デフォルトベクトルが用いられて、リストを充填する。
【００３７】
実施態様６. 位置-関連優先順位を用いたＢＶ予測: 1→5; 3→6→4 
【００３８】
図３において、位置が、１(ＬＢ)および５(ＬＴ)の順序で一つずつチェックされるとともに、第１可用ＢＶが用いられて、リスト０を充填する。位置が、３(ＡＲ)、６(ＡＬ)および４(ＵＬ)の順序で一つずつチェックされて、リスト０ (リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている場合)を充填する。全位置のチェック後の空のリストにおいて、デフォルトベクトルが用いられて、リストを充填する。
【００３９】
実施態様７. 位置-関連優先順位を用いたＢＶ予測: 5→1; 6→3 
【００４０】
図３において、位置が、５(ＬＴ)および１(ＬＢ)の順序で一つずつチェックされるとともに、第１可用ＢＶが用いられて、リスト０を充填する。位置が、６(ＡＬ)および３(ＡＲ)の順序で一つずつチェックされて、リスト０ (リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている場合)を充填する。全位置のチェック後の空のリストにおいて、デフォルトベクトルが用いられて、リストを充填する。
【００４１】
実施態様８. 位置-関連優先順位を用いたＢＶ予測: 5; 6
【００４２】
図３において、位置５(ＬＴ)がチェックされて、リスト０を充填する。位置６ (ＡＬ)がチェックされて、リスト０(リスト０がまだ充填されていない場合)あるいはリスト１ (リスト０がすでに充填されている場合)を充填する。全位置チェック後の空のリストにおいて、デフォルトベクトルが用いられて、リストを充填する。
【００４３】
実施態様９. 異なるリスト構成を用いたＢＶ予測 
【００４４】
実施態様１から実施態様８で開示される上述の候補位置選択は全て、第１組候補ＢＶが有効でない場合、リスト０が空である基準に従う。その後、第２組候補ＢＶが用いられて、リスト０を充填する。よって、この場合、リスト１ が空になる。上述の方法はすべて、異なるリスト構成オプションを有する。たとえば、実施態様１において、第１組(位置１および０)の位置が何一つ有効でない場合、リスト０がデフォルトＢＶで充填されるとともに、位置３、２、および４からの第１可用ＢＶが常に用いられて、リスト１を充填する。これらの３個の位置のＢＶがどれも有効でないとき、リスト１はデフォルトＢＶで充填される。
【００４５】
実施態様１０. デフォルトブロックベクトルを用いたＢＶ予測 
【００４６】
リストの１つあるいは２つが空である場合、デフォルトＢＶ値が用いられる。リスト１を充填するデフォルトＢＶ値は、リスト０のデフォルトＢＶ値と同じかあるいは異なる。デフォルト値は、(0, 0),(-2w, 0),(-w, 0),(0, -2w)あるいは (0, -w)に対応する。たとえば、１個のリストだけが空である場合、(-2w, 0)が用いられる。両リストが空である場合、 (-2w, 0)および (-w, 0)が用いられて、２個のリストを充填する。本発明において、 “w”は、現在のブロック (つまり、現在のＣＵ)の幅のことである。
【００４７】
実施態様１１.保存されたブロックベクトルを用いたＢＶ予測
【００４８】
空のリストを充填する別の方法は、以前の符号化ブロックのＢＶを保存することである。リストの１つあるいは２つが空であるとき、保存されたベクトルが用いられて、リストを充填する。
【００４９】
たとえば、２個のバッファ (ユニット０とユニット１)が用いられて、異なる値で最近符号化されたＢＶを保存する。初期化において、いくつかのデフォルト値が用いられて、これらの２個のユニットを充填する。たとえば、(-2w, 0)および (-w, 0)が初期値としてこれらの２個のバッファに用いられる。ブロックが同じモードで符号化されるとともに、そのＢＶ値が２個のユニットのどちらかと異なるとき、ユニット１の値は、ユニット０を充填するとともに、現在の新しいＢＶ値がユニット１を充填する。
【００５０】
実施態様１２. 一時的ＢＶを用いたベクトル予測 
【００５１】
IntraBC ＢＶ予測において、一時的ＢＶもＢＶ予測に用いられる。上述のように共同設置ピクチャ中に位置するブロック(たとえば、図２中の TBR, TCTR, TUL あるいは、TBR2) のＢＶが、ＢＶ予測のひとつとして用いられる。 
【００５２】
実施態様１３.空間的/一時的ＢＶ両方と保存されたベクトルを用いたＢＶ予測 
【００５３】
以前の符号化ブロックのＢＶが保存されるとともに、ＢＶ予測として用いられる。複数の保存されたＢＶが用いられる場合、ＦＩＦＯメカニズムが適用される。たとえば、２個のユニット (ユニット０およびユニット１)が用いられて、異なる値で符号化された最近のＢＶを保存する。初期化において、いくつかのデフォルト値が用いられて、これらの２個のユニットを充填する。たとえば、(-2w, 0)および (-w, 0)。ブロックが同じモードで符号化されるとともに、そのＢＶ値が、２個のユニットのどちらかと異なるとき、ユニット１の値はユニット０を満たし、現在の新しいＢＶ値はユニット１を満たす。
【００５４】
ＢＶ予測 (ＢＶＰ)リストが作成される。リスト０およびリスト１からの空間的ＢＶ、一時的ＢＶ、保存されたＢＶはＢＶＰリストに入れられる。たとえば、ＢＶＰリストは、{リスト０からの空間的ＢＶ (リスト０ ＢＶ)、リスト１からの空間的ＢＶ (リスト１ ＢＶ)}, {リスト０ ＢＶ, リスト１ ＢＶ, 一時的ＢＶ}, {リスト０ ＢＶ, リスト１ ＢＶ,ユニット０中に保存されるＢＶ (保存されたＢＶ 0)}, {リスト０ ＢＶ, リスト１ ＢＶ, 保存されたＢＶ 0,ユニット１中に保存されるＢＶ (保存されたＢＶ １)}, {リスト０ ＢＶ, 保存されたＢＶ ０, リスト１ ＢＶ}, {保存されたＢＶ ０, リスト０ ＢＶ, リスト１ ＢＶ},{リスト０ ＢＶ, リスト１ ＢＶ, 一時的ＢＶ, 保存されたＢＶ ０}あるいは{リスト０ ＢＶ、リスト１ ＢＶ、保存されたＢＶ ０, 一時的ＢＶ}である。 
【００５５】
ＢＶＰリスト作成後、切り落とす過程が適用されて、冗長ＢＶを除去する。それは、全てを切り落とすあるいは部分的に切り落とす (たとえば、保存されたＢＶを有するリスト０だけを切り落とすおよび/または保存されたＢＶを有するリスト１ ＢＶを切り落とす)である。切り落とし後、最大で２(たとえばＮ = ２)のＢＶが最終ＢＶ予測として選択される。Ｎより小さいＢＶが選択される場合、所定のデフォルトＢＶ、保存されたＢＶあるいは一時的ＢＶが用いられて、Ｎ個のＢＶ予測にＢＶＰリストを充填する。 
【００５６】
いくつかの所定ＢＶが用いられる。所定のＢＶは、 (0, 0), (-2w, 0), (-w, 0), (-1.5w, 0), (0, -2w), (0, -w) および (0, -1.5w)を含むグループから選択される。
【００５７】
ＭＶ、ＢＶおよびIntra 予測モードの情報インヘリタンス
【００５８】
Intra モードおよびIntraBCモード符号化ブロックにおいて、ＭＶは無効として設定される。InterモードおよびIntra モード符号化ブロックにおいて、ＢＶ無効として設定される。Interモードおよび IntraBCモード符号化ブロックにおいて、Intra予測モード (ＩＰＭ)は無効として設定される。
【００５９】
符号化効率を改善するため、情報が更新されない場合、隣接ブロックあるいは符号化ブロックからのＭＶ/ＢＶ/ＩＰＭ情報のインヘリタンスが用いられる。 
【００６０】
本実施態様において、現在のブロックが、Inter mode、Intra modeあるいはパレットモードで符号化される場合、このブロックのＢＶは、最後の符号化ＢＶあるいはその左ブロックのＢＶに設定される。
【００６１】
別の実施態様において、現在のブロックが、IntraBCモードあるいはパレットモードで符号化される場合、このブロックのＭＶは、このブロックの合併候補の一つ、たとえば、第１合併候補に設定される。
【００６２】
さらに別の実施態様において、現在のブロックが Interモードあるいはパレットモードで符号化される場合、このブロックのＩＰＭは、このブロックの最確Intraモード(ＭＰＭ)の一つ、たとえば、第１ＭＰＭに設定される。
【００６３】
本実施態様を組み込んだシステムのパフォーマンスが、SCM 1.0 (Screen content coding test model 1 (SCM 1), Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 17th Meeting: Valencia, ES, 27 March - 4 April 2014, Document: JCTVC-Q1014)に基づくアンカーシステムと比較される。SCM 1.0に基づいたアンカーシステムにおいて、各IntraBCモード符号化ブロックのＢＶは、ＢＶ予測を用いずに符号化される。表２に示されるように、各種テストイメージに設定される全Intra モード下で、３つの異なるシステム配置が用いられて、SCM 1.0 と比較する。設定Iにおいて、リスト０生成は位置１(ＬＢ)だけを用い、リスト１生成は位置３(ＡＲ)だけを用いる。設定IIにおいて、１(ＬＢ)に基づくリスト０および３(ＡＲ)に基づくリスト１以外に、１個の最後のＢＶ(つまり、最後のIntraBCモード符号化ブロックのＢＶ)が用いられる。設定IIIにおいて、１(ＬＢ)に基づくリスト０および３(ＡＲ)に基づくリスト１以外に、２個の最後のＢＶが用いられる。既知のＢＤ-レート性能測定が性能比較に用いられる。表２中の負の値は、本実施態様により達成されるＢＤ-レート減少における改善を示す。表２に示されるように、十分な改善が、テキストやグラフィック材料を含むイメージにおいて特に認められている。示される改善は、8.2%である。したがって、本発明は、IntraBCモードの符号化効率のパフォーマンスを十分に改善することができる。
【表２】
0006345805.tif 000003
【００６４】
図４は、本実施態様によるブロックベクトル (ＢＶ)予測を組み込んだIntraBC (Intraブロックコピー）モード符号化のフローチャートである。システムは、ステップ４１０において、現在のピクチャ中の現在のブロックに関連する入力データを受信する。入力データは、メモリ (たとえば、コンピュータメモリ、バッファ(ＲＡＭあるいはＤＲＡＭ)あるいはその他の媒体)あるいはプロセッサから検索される。ステップ４２０において、現在のピクチャ中にIntra 参照ブロックを配置するための現在のブロックの現在のＢＶが決定される。ステップ４３０において、複数のＢＶ候補リストが、現在のブロックの隣接ブロックから生成される。ステップ４４０において、ＢＶ候補リストが、現在のブロックのＢＶ予測として選択される。ステップ４５０において、現在のＢＶが、ＢＶ予測に基づいて符号化される。ステップ４６０において、インデックスをシグナリングして、複数のＢＶ候補リストから選択されるＢＶ候補リストを識別し、インデックスは、２個のＢＶ候補リスト間で選択される１ビットコードに対応し、三個のＢＶ候補リスト間で選択される２ビットコードに対応する。ステップ４７０において、現在のブロックは、Intra 参照ブロックを予知因子として符号化される。
【００６５】
図５は、本発明の一実施態様によるブロックベクトル (ＢＶ)予測を組み込んだIntraBC (Intraブロックコピー）モード復号のフローチャートである。ステップ５１０において、システムは、現在のピクチャの符号化データを有するビットストリームを受信する。ビットストリームは、メモリ(たとえば、コンピュータメモリ、バッファ (ＲＡＮあるいはＤＲＡＭ)あるいはその他の媒体)あるいはプロセッサから検索される。ステップ５２０において、複数のＢＶ候補リストが、現在のブロックのIntraBCモード-符号化隣接ブロックから生成される。ステップ５３０において、インデックスがビットストリームから決定されて、複数のＢＶ候補リストから一ＢＶ候補リストを選択する。ステップ５４０において、符号化ＢＶが、ビットストリームから決定される。ステップ５５０において、現在のＢＶが、ＢＶ候補リストに対応する符号化ＢＶおよびＢＶ予測に基づいて復号される。ステップ５６０において、現在のピクチャ中のIntra 参照ブロックが、現在のＢＶに基づいて決定される。ステップ５７０において、現在のブロックが、Intra 参照ブロックを用いて復号される。
【００６６】
上で示されるフローチャートは、本発明によるIntraBC 符号化の例を説明するためのものである。当業者は、本発明の思想を脱しない範囲内で、各ステップを修正、再アレンジ、分割、結合して、本発明を実行することができる。本開示において、特定の構文と語義が用いられて、例を説明し、本実施態様を実行できる。当業者は、本発明の思想を脱しない範囲内で、構文と語義を、等価の構文と語義と置き換えることにより、本発明を実施できる。
【００６７】
上の記述が提示されて、当業者に、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を実施できる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明を実施できることが理解できる。
【００６８】
上述の本発明の具体例は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行できる。たとえば、本発明の具体例は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ（ＤＳＰ）で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の思想を逸脱しない。
【００６９】
本発明では好ましい実施形態を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の思想を脱しない範囲内で各種の変形を加えることができる。
【図１】
0006345805.tif 000004
【図２】
0006345805.tif 000005
【図３】
0006345805.tif 000006
【図４】
0006345805.tif 000007
【図５】
0006345805.tif 000008