(57)【要約】  本明細書に開示される実施形態は、マージモードの予測ユニットレベルでＩｎｔｒａＢＣフラグを明示的に組み込むことによって先行ビデオ符号化技術を改善するために動作する。このフラグは、ブロックベクトル（ＢＶ）候補と動きベクトル（ＭＶ）候補を別個に選択できるようにする。具体的には、ＩｎｔｒａＢＣフラグの明示的なシグナリングは、固有の予測ユニットがＢＶまたはＭＶを使用するかどうかについての情報を提供する。ＩｎｔｒａＢＣフラグが設定されると、候補リストは、空間および時間隣接ＢＶのみを使用して構築される。ＩｎｔｒａＢＣフラグが設定されなければ、候補リストは、空間および時間隣接ＭＶのみを使用して構築される。候補ＢＶまたはＭＶのリストを指し示すインデックスがその後、符号化される。本明細書に開示されるさらなる実施形態は、ＩｎｔｒａＢＣと中間フレームワークとを統合したＢＶ−ＭＶ双予測の使用を説明する。
2017532885.tif 000002
【特許請求の範囲】
【請求項１】
第１のビデオブロックの予測のために候補ブロックベクトルを特定するステップであって、前記第１のビデオブロックは、現在のピクチャであり、前記候補ブロックベクトルは、時間参照ピクチャの第２のビデオブロックの予測に使用される第２のブロックベクトルである、特定するステップと、
前記候補ブロックベクトルを前記第１のビデオブロックのプレディクタとして使用するイントラブロックコピー符号化を用いて前記第１のビデオブロックを符号化するステップを備えることを特徴とするビデオ符号化方法。
【請求項２】
前記第１のビデオブロックを符号化するステップは、前記現在のピクチャを複数のピクセルブロックとして符号化するビットストリームを作成することを含み、前記ビットストリームは、前記第２のブロックベクトルを特定するインデックスを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のビデオブロックを符号化するステップは、前記現在のピクチャを複数のピクセルブロックとして符号化するビットストリームを受信することを含み、前記ビットストリームは、前記第２のブロックベクトルを特定するインデックスを含むことを特徴とする請求項１に記載の方法。
【請求項４】
マージ候補リストを作成するステップであって、前記マージ候補リストは、前記第２のブロックベクトルを含み、前記第１のビデオブロックを符号化するステップは、前記マージ候補リストの前記第２のブロックベクトルを特定するインデックスを提供することを含む、作成するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記マージ候補リストはさらに、少なくとも１つのデフォルトブロックベクトルを含むことを特徴とする請求項４に記載の方法。
【請求項６】
マージ候補リストを作成するステップであって、前記マージ候補リストは、動きベクトルのマージ候補のセットとブロックベクトルのマージ候補のセットを含み、
前記第１のビデオブロックを符号化することは、
前記第１のビデオブロックに、前記プレディクタが前記ブロックベクトルのマージ候補のセットの中にあることを特定するフラグを提供することと、
前記第１のビデオブロックに、前記ブロックベクトルのマージ候補のセット内の前記第２のブロックベクトルを特定するインデックスを提供することを含む、作成するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記第１のビデオブロックを符号化するステップは、
前記プレディクタがブロックベクトルであることを特定するフラグを受信することと、
マージ候補リストを作成することであって、前記マージ候補リストはブロックベクトルのマージ候補のセットを含む、作成することと、
前記ブロックベクトルのマージ候補のセット内の前記第２のブロックベクトルを特定するインデックスを受信することを備えることを特徴とする請求項１に記載の方法。
【請求項８】
予測ユニット用に動きベクトルのマージ候補のリストとブロックベクトルのマージ候補のリストを形成するステップと、
前記マージ候補のうちの１つをプレディクタとして選択するステップと、
前記予測ユニットに、前記プレディクタが前記動きベクトルのマージ候補のリストの中または前記ブロックベクトルのマージ候補のリストの中にあるかどうかを特定するフラグを提供するステップと、
前記予測ユニットに、前記マージ候補の特定されたリスト内から前記プレディクタを特定するインデックスを提供するステップを備えることを特徴とするビデオ符号化方法。
【請求項９】
前記ブロックベクトルのマージ候補のうち少なくとも１つは、時間ブロックベクトル予測を使用して作成されることを特徴とする請求項８に記載の方法。
【請求項１０】
予測ユニットのマージ候補のリストを形成するステップであって、各マージ候補は、予測ベクトルであり、前記予測ベクトルのうち少なくとも１つは、時間参照ピクチャからの第１のブロックベクトルである、形成するステップと、
前記マージ候補のうちの１つをプレディクタとして選択するステップと、
前記予測ユニットに、前記マージ候補の特定されたセット内から前記プレディクタを特定するインデックスを提供するステップを備えることを特徴とするビデオ符号化方法。
【請求項１１】
前記予測ベクトルが有効かつ一意であると判定した後にのみ、予測ベクトルを前記マージ候補のリストに付加するステップをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記マージ候補のリストは、少なくとも１つの導出されたブロックベクトルをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記選択されたプレディクタは、前記第１のブロックベクトルであることを特徴とする請求項１０に記載の方法。
【請求項１４】
前記第１のブロックベクトルは、コロケートされた予測ユニットと関連付けられたブロックベクトルであることを特徴とする請求項１０に記載の方法。
【請求項１５】
前記コロケートされた予測ユニットは、スライスヘッダで指定されたコロケートされた参照ピクチャの中にあることを特徴とする請求項１０に記載の方法。
【請求項１６】
予測ユニットのマージ候補のセットを特定するステップであって、前記マージ候補のセットの前記特定は、少なくとも１つの候補をデフォルトブロックベクトルに付加することを含む、特定するステップと、
前記候補のうちの１つをプレディクタとして選択するステップと、
前記予測ユニットに、前記マージ候補の特定されたセット内から前記マージ候補を特定するインデックスを提供するステップを備えることを特徴とするビデオ符号化方法。
【請求項１７】
前記デフォルトブロックベクトルは、デフォルトブロックベクトルのリストから選択されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記マージ候補のセットは、少なくとも１つのゼロ動きベクトルをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記少なくとも１つのデフォルトブロックベクトルと前記少なくとも１つのゼロ動きベクトルは、インターリーブされた方法で前記マージ候補のセットに配置されることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記デフォルトブロックベクトルは、（−ＰＵｘ−ＰＵｗ，０）、（−ＰＵｘ−２*ＰＵｗ，０）、（−ＰＵｙ−ＰＵｈ，０）、（−ＰＵｙ−２*ＰＵｈ，０）および（−ＰＵｘ−ＰＵｗ，−ＰＵｙ−ＰＵｈ）から成るデフォルトブロックベクトルのリストから選択され、ＰＵｗとＰＵｈはそれぞれ、前記予測ユニットの幅と高さであり、ＰＵｘとＰＵｙは、前記符号化ユニットの左上の位置に対する前記ＰＵのブロック位置であることを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、３５Ｕ．Ｓ．Ｃ．§１１９（ｅ）に従い、２０１４年９月２６日に出願された米国特許仮出願第６２／０５６，３５２号明細書、２０１４年１０月１６日に出願された米国特許仮出願第６２／０６４，９３０号明細書、２０１５年１月２２日に出願された米国特許仮出願第６２／１０６，６１５号明細書、２０１５年２月５日に出願された米国特許仮出願第６２／１１２，６１９号明細書の正規出願であり、これらの利益を主張するものである。上述のすべては、参照により開示全体が本明細書に組み込まれる。
【背景技術】
【０００２】
リモートデスクトップ、テレビ会議およびモバイルメディアプレゼンテーションのアプリケーションに好ましいスクリーンコンテンツ共有アプリケーションの人気が近年高まっている。
【０００３】
生のビデオコンテンツに比べて、スクリーンコンテンツは、いくつかの主要な色と、はっきりした曲線およびテキストがスクリーンコンテンツに多く存在することから、はっきりした輪郭を有する多数のブロックを包含することができる。既存のビデオ圧縮方法を使用してスクリーンコンテンツをエンコードし、その後それを受信側に送信することができるが、ほとんどの既存の方法は、スクリーンコンテンツの特徴を十分に特徴付けておらず、従って、圧縮性能の低下を導く。再構築されたピクチャは、従って、深刻な品質問題を抱える。例えば、曲線およびテキストは、ぼけて認識が困難になる。従って、うまく設計されたスクリーン圧縮方法は、スクリーンコンテンツを効果的に再構築するのに役立つであろう。
【０００４】
スクリーンコンテンツ圧縮技術は、人々がますます自分達のデバイスコンテンツをメディアプレゼンテーションまたはリモートデスクトップに使用する目的で共有するので、一層重要になっている。高精細または超高精細の分解能を有するモバイルデバイスのスクリーンディスプレイが著しく増加した。ブロック符号化モードおよび変換などの、既存のビデオ符号化ツールは、生のビデオをエンコードするために最適化され、特にスクリーンコンテンツのエンコードするために最適化されているわけではない。従来のビデオ符号化方法は、ある品質要件の設定でスクリーンコンテンツをそれらの共有アプリケーションに送信するための帯域幅要件を増加する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許仮出願第６２／０５６，３５２号明細書
【特許文献２】米国特許仮出願第６２／０６４，９３０号明細書
【特許文献３】米国特許仮出願第６２／１０６，６１５号明細書
【特許文献４】米国特許仮出願第６２／１１２，６１９号明細書
【特許文献５】米国特許仮出願第６２／０１４，６６４号明細書
【特許文献６】米国特許出願第１４／７４３，６５７号明細書
【非特許文献】
【０００６】
【非特許文献１】T. Vermeir, “Use cases and requirements for lossless and screen content coding”, JCTVC-M0172, Apr. 2013, Incheon, KR
【非特許文献２】J. Sole, R, Joshi, M, Karczewicz,”AhG8: Requirements for wireless display applications”, JCTVC-M0315, Apr. 2013, Incheon, KR
【非特許文献３】B. Bross, W-J. Han, G.J. Sullivan, J-R. Ohm, T. Wiegand, “High Efficiency Video Coding (HEVC) Text Specification Draft 10”, JCTVC L1003. Jan 2013
【非特許文献４】ITU-T Q6/16 and ISO/IEC JCT1/SC29/WG11, “Joint Call for Proposals for Coding of Screen Content”, MPEG2014/N14175, Jan. 2014, San Jose, USA  (“N14175 2014”)
【非特許文献５】T. Lin, S. Wang, P Zhang, and K, Zhou, “AHG8:P2M based dual-coder extension of HEVC”, Document no JCTVC-L0303, Jan. 2013.
【非特許文献６】X. Guo, B. Li, J-Z. Xu, Y. Lu, S. Li, and F. Wu, “AHG8: Major-color-based screen content coding”, Document no JCTVC-O0182, Oct. 2013
【非特許文献７】L. Guo, M. Karczewicz, J. Sole, and R. Joshi, “Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1”, JCTVC-O0182, Oct. 2013.
【非特許文献８】C. Pang, J. Sole, L. Guo, M. Karczewicz, and R. Joshi, “Non-RCE3: Intra Motion Compensation with 2-D MVs”, JCTVC-N0256, July. 2013
【非特許文献９】D. Flymn, M. Naccari, K. Sharman, C. Rosewarne, J. Sole, G. J. Sullivan, T. Suzuki, “HEVC Range Extension Draft 6”, JCTVC-P1005, Jan. 2014, San Jose.
【非特許文献１０】J. Sole, S. Liu, “HEVC Screen Content Coding Core Experiment 1(SCCE1): Intra Block Copying Extensions”, JCTVC-Q1121, Mar. 2014, Valencia.
【非特許文献１１】C.-C. Chen, X. Xu, L. Zhang, “HEVC Screen Content Coding Core Experiment 2 (SCCE2): Line-based Intra Copy”, JCTVC-Q1122, Mar. 2014, Valencia.
【非特許文献１２】Y-W. Huang, P. Onno, R. Joshi, R. Cohen, X. Xiu, Z. Ma, “HEVC Screen Content Coding Core Experiment 3(SCCE3): Palette mode”, JCTVC-Q1123, Mar. 2014, Valencia.
【非特許文献１３】Y. Chen, J. Xu, “HEVC Screen Content Coding Core Experiment 4(SCCE4): String matching for sample coding”, JCTVC-Q1124, Mar. 2014, Valencia.
【非特許文献１４】X. Xiu, J. Chen, “HEVC Screen Content Coding Core Experiment 5(SCCE5): Inter-component prediction and adaptive color transforms”, JCTVC-Q1125, Mar. 2014, Valencia.
【非特許文献１５】R. Joshi, J. Xu, R. Cohen, S. Liu, Z. Ma, Y. Ye, “Screen content coding test model 1(SCM 1)”, JCTVC-Q1014, Mar. 2014, Valencia
【非特許文献１６】B. Li, J. Xu, “Hash-based intraBC search”, JCTVC-Q0252, Mar. 2014, Valencia; C. Pang, T. Hsieh, M. Karczewicz, “Intra block copy with larger search region”, JCTVC-Q0139, Mar. 2014, Valencia
【非特許文献１７】B. Bross, W-J. Han, C. J. Sullivan, J-R. Ohm, T. Wiegand, “High Efficiency Video Coding (HEVC) Text Specification Draft 10”, JCTVC-L1003, Jan. 2013
【非特許文献１８】R. Joshi, J. Xu, “HEVC Screen Content Coding Draft Text 1”, JCTVC-R1005, Jul. 2014, Sapporo, JP
【非特許文献１９】R. Joshi, J. Xu, “HEVC Screen Content Coding Draft Text 2”, JCTVC-S1005, Oct. 2014, Strasbourg, FR (“Joshi 2014”)
【非特許文献２０】B. Li, J. Xu, “Non-SCCE1: Unification of intra BC and inter modes”, JCTVC-R0100, Jul. 2014, Sapporo, JP (hereinafter “Li2014”)
【非特許文献２１】X. Xu, S. Liu, S. Lei, “SCCE1 Test2.1: IntraBC coded as inter PU”, JCTVC-R0190, Jul. 2014, Sapporo, JP (hereinafter “Xu2014”)
【非特許文献２２】C. Pang, K. Rapaka, Y-K. Wang, V. Seregin, M. Karczewicz, “Non-CE2: Intra block copy with inter signaling”, JCTVC-S0113, Oct. 2014 (hereinafter “Pang Oct. 2014”)
【非特許文献２３】B. Li, J. Xu, G. Sullivan, Y. Zhou, B. Lin, “Adaptive motion vector resolution for screen content”, JCTVC-S0085, Oct. 2014, Strasbourg, FR
【非特許文献２４】X. Xu, T.-D. Chuang, S. Liu, S. Lei, “Non-CE2: Intra BC merge mode with default candidates”, JCTVC-S0123, Oct. 2014
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書に開示される実施形態は、ＩｎｔｒａＢＣフラグをマージモードの予測ユニットレベルで明示的に組み込むことによって先行のビデオ符号化技術を改善するように動作する。このフラグは、ブロックベクトル（ＢＶ）の候補と動きベクトル（ＭＶ）の候補の別個の選択を可能にする。特に、ＩｎｔｒａＢＣフラグの明示的なシグナリングは、固有の予測で使用される予測ベクトルがＢＶまたはＭＶであるかどうかに関する情報を提供する。ＩｎｔｒａＢＣフラグが設定されると、候補リストは、隣接するＢＶのみを使用して構築される。ＩｎｔｒａＢＣフラグが設定されなければ、候補リストは、隣接するＭＶのみを使用して構築される。その後、候補予測ベクトル（ＢＶまたはＭＶ）のリストを指し示すインデックスが符号化される。
【０００８】
ＩｎｔｒａＢＣマージ候補の作成は、時間参照ピクチャからの候補を含む。結果として、ＢＶを時間距離で予測することが可能になる。それにより、デコーダは、本開示の実施形態に従って参照ピクチャのＢＶを格納するように動作する。ＢＶは、圧縮形態で格納される。有効かつ一意のＢＶのみが候補リストに挿入される。
【０００９】
ＩｎｔｒａＢＣと中間フレームワークとの統合において、時間参照ピクチャでコロケートされたブロックからのＢＶは、中間マージ候補のリストに含まれる。リストが満杯でなければ、デフォルトＢＶも付加される。有効なＢＶおよび一意のＢＶ／ＭＶのみが候補リストに挿入される。
【００１０】
例示的なビデオ符号化方法において、候補ブロックベクトルは、第１のビデオブロックを予測するために特定され、その場合、第１のビデオブロックは、現在のピクチャの中にあり、そして候補ブロックベクトルは、時間参照ピクチャの第２のビデオブロックの予測に使用される第２のブロックベクトルである。第１のビデオブロックは、候補ブロックベクトルを第１のビデオブロックのプレディクタとして使用するイントラブロックコピー符号化を用いて符号化される。そのようないくつかの実施形態において、第１のビデオブロックの符号化は、現在のピクチャを複数のピクセルブロックとしてエンコードするビットストリームを作成することを含み、そこでのビットストリームは、第２のブロックベクトルを特定するインデックスを含む。いくつかの実施形態は、マージ候補リストを作成することをさらに含み、そこでのマージ候補リストは、第２のブロックベクトルを含み、そこでの第１のビデオブロックの符号化は、マージ候補リストの第２のブロックベクトルを特定するインデックスを提供することを含む。マージ候補リストは、少なくとも１つのデフォルトブロックベクトルをさらに含むことができる。いくつかの実施形態において、マージ候補リストが動きベクトルのマージ候補のセットとブロックベクトルのマージ候補のセットを含む、マージ候補リストが作成される。そのような実施形態において、第１のビデオブロックの符号化は、第１のビデオブロックに（ｉ）プレディクタがブロックベクトルのマージ候補のセットの中にあることを特定するフラグと（ｉｉ）ブロックベクトルのマージ候補のセット内の第２のブロックベクトルを特定するインデックスを提供することを含むことができる。
【００１１】
別の例示的な方法において、ビデオのスライスは、複数の符号化ユニットとして符号化され、そこでの各符号化ユニットは、１または複数の予測ユニットを含み、そして各符号化ユニットは、ビデオスライスの一部分に対応する。予測ユニットの少なくとも一部では、符号化は、動きベクトルのマージ候補のリストとブロックベクトルのマージ候補のリストを形成することを含むことができる。マージ候補と予測ユニットに基づいて、マージ候補のうちの１つは、プレディクタとして選択される。予測ユニットは、（ｉ）プレディクタが動きベクトルのマージ候補のリストの中にあるまたはブロックベクトルのマージ候補のリストの中にあるかどうかを特定するフラグ、（ｉｉ）特定されたマージ候補のリスト内からプレディクタを特定するインデックスを備える。ブロックベクトルのマージ候補のうちの少なくとも１つは、時間ブロックベクトル予測を使用して作成される。
【００１２】
さらなる例示的な方法において、ビデオのスライスは、複数の符号化ユニットとして符号化され、そこでの各符号化ユニットは、１または複数の予測ユニットを含み、そして各符号化ユニットは、ビデオスライスの一部分に対応する。予測ユニットの少なくとも一部では、符号化は、マージ候補のリストを形成することを含むことができ、そこでの各マージ候補は、予測ベクトルであり、そこでの予測ベクトルのうちの少なくとも１つは、時間参照ピクチャからの第１のブロックベクトルである。
【００１３】
マージ候補および対応するビデオスライス部分に基づいて、マージ候補のうちの１つは、プレディクタとして選択される。予測ユニットは、特定されたマージ候補のセット内からプレディクタを特定するインデックスを備える。そのようないくつかの実施形態において、予測ベクトルは、予測ベクトルが有効かつ一意であると判定された後にのみマージ候補のリストに付加される。いくつかの実施形態において、マージ候補のリストは、少なくとも１つの導出されたブロックベクトルをさらに含む。選択されたプレディクタは、第１のブロックベクトルになることができ、いくつかの実施形態において、コロケートされた予測ユニットと関連付けられたブロックベクトルになることができる。コロケートされた予測ユニットをスライスヘッダで指定されたコロケートされた参照ピクチャに入れることができる。
【００１４】
さらなる例示的な方法において、ビデオのスライスは、複数の符号化ユニットとして符号化され、そこでの各符号化ユニットは、１または複数の予測ユニットを含み、そして各符号化ユニットは、ビデオスライスの一部に対応する。例示的な方法における符号化は、予測ユニットの少なくとも一部では、マージ候補のセットを特定することを含み、そこでのマージ候補のセットの特定は、少なくとも１つの候補をデフォルトブロックベクトルに付加することを含む。マージ候補および対応するビデオスライス部分に基づいて、マージ候補のうちの１つは、プレディクタとして選択される。予測ユニットは、特定されたマージ候補のセット内からマージ候補を特定するインデックスを備える。そのようないくつかの実施形態において、デフォルトブロックベクトルは、デフォルトブロックベクトルのリストから選択される。
【００１５】
例示的なビデオ符号化方法において、候補ブロックベクトルは、第１のビデオブロックを予測するために特定され、そこでの第１のビデオブロックは、現在のピクチャの中にあり、そこでの候補ブロックベクトルは、時間参照ピクチャの第２のビデオブロックを予測するために使用される第２のブロックベクトルである。第１のビデオブロックは、候補ブロックベクトルを第１のビデオブロックのプレディクタとして使用するイントラブロックコピー符号化を用いて符号化される。例示的な方法において、第１のビデオブロックの符号化は、フラグが、プレディクタがブロックベクトルであることを特定する、第１のビデオブロックと関連付けられたフラグを受信することを含む。プレディクタがブロックベクトルであることを特定するフラグの受信に基づいて、マージ候補リストが作成され、その場合のマージ候補リストは、ブロックベクトルのマージ候補のセットを含む。ブロックベクトルのマージ候補のセット内で第２のブロックベクトルを特定するインデックスがさらに受信される。あるいは、候補動きベクトルが予測に使用されるビデオブロックでは、フラグが、プレディクタが動きベクトルであることを特定する、フラグが受信される。プレディクタが動きベクトルであることを特定するフラグの受信に基づいて、マージ候補リストが作成され、その場合のマージ候補リストは、動きベクトルのマージ候補のセットを含む。動きベクトルのマージ候補のセット内で動きベクトルプレディクタを特定するインデックスがさらに受信される。
【００１６】
いくつかの実施形態において、本明細書に説明される方法を遂行するためにエンコーダおよび／またはデコーダモジュールが用いられる。そのようなモジュールは、プロセッサと、本明細書に説明される方法を遂行する働きをする命令を格納する一時的でないコンピュータストレージ媒体を使用して実装される。
【図面の簡単な説明】
【００１７】
最初に以下に簡潔に説明される添付図面と共に例として提示される、以下の説明によってより詳細な理解を得ることができる。
【図１】ブロックベースのビデオエンコーダの例を示すブロック図である。
【図２】ブロックベースのビデオデコーダの例を示すブロック図である
【図３】８つの方向予測モードの例を示す図である。
【図４】３３つの方向予測モードと２つの無方向予測モードの例を示す図である。
【図５】水平予測の例の図である。
【図６】平面モードの例の図である。
【図７】動き予測の例を示す図である。
【図８】ピクチャ内のブロックレベルの動きの例を示す図である。
【図９】符号化ビットストリーム構造の例を示す図である。
【図１０】例示的な通信システムを示す図である。
【図１１】例示的な無線送信／受信ユニット（ＷＴＲＵ）を示す図である。
【図１２】スクリーンコンテンツ共有システムを示す概略ブロック図である。
【図１３】ブロックｘが現在の符号化ブロックであるフルフレームのイントラブロックコピーモードを示す図である。
【図１４】左側のＣＴＵおよび現在のＣＴＵのみが許可された局所領域のイントラブロックコピーモードの図である。
【図１５】中間ＭＶ予測のための空間および時間ＭＶプレディクタを示す図である。
【図１６】時間動きベクトル予測を示すフロー図である。
【図１７】コロケートされたブロックの参照リスト選択を示すフロー図である。
【図１８】ｉｎｔｒａＢＣモードが中間モードとしてシグナルされる実装を示す図である。現在のピクチャＰｉｃ（ｔ）を符号化するために、非ブロック化およびサンプル適応オフセット（ＳＡＯ）を行う前の、Ｐｉｃ’（ｔ）と示した、現在のピクチャのすでに符号化された部分は、長期参照ピクチャとして参照リスト＿０に付加される。他のすべての参照ピクチャＰｉｃ（ｔ−１）、Ｐｉｃ（ｔ−３）、Ｐｉｃ（ｔ＋１）、Ｐｉｃ（ｔ＋５）は、非ブロック化およびＳＡＯを用いて処理された正規の時間参照ピクチャである。
【図１９】ＢＶ予測に使用される空間ＢＶプレディクタを示す図である。
【図２０Ａ】ｃＢｌｏｃｋが検査されるブロックであり、ｒＢＶが帰還ブロックベクトルである、時間ＢＶプレディクタ導出（ＴＢＶＤ）プロセスのフローチャートである。（０，０）のＢＶは、無効である。１つの参照ピクチャを使用したＴＢＶＤを示す図である。
【図２０Ｂ】ｃＢｌｏｃｋが検査されるブロックであり、ｒＢＶが帰還ブロックベクトルである、時間ＢＶプレディクタ導出（ＴＢＶＤ）プロセスのフローチャートである。（０，０）のＢＶは、無効である。４つの参照ピクチャを使用したＴＢＶＤを示す図である。
【図２１】ＢＶ予測のための時間ＢＶプレディクタ作成の方法を示すフローチャートである。
【図２２】ｉｎｔｒａＢＣマージの空間候補を示す図である。
【図２３Ａ】ｉｎｔｒａＢＣマージ候補導出を示す図である。ブロックＣ０およびＣ２は、ｉｎｔｒａＢＣブロックであり、ブロックＣ１およびＣ３は、中間ブロックであり、そしてブロックＣ４は、イントラ／パレットブロックである。時間ブロックベクトル予測（ＴＢＶＰ）のために１つのコロケートされた参照ピクチャを使用したＩＢＣマージ候補導出を示す図である。
【図２３Ｂ】ｉｎｔｒａＢＣマージ候補導出を示す図である。ブロックＣ０およびＣ２は、ｉｎｔｒａＢＣブロックであり、ブロックＣ１およびＣ３は、中間ブロックであり、そしてブロックＣ４は、イントラ／パレットブロックである。ＴＢＶＰのために４つの時間参照ピクチャを使用したＩＢＣマージ候補導出を示す図である。
【図２４Ａ】いくつかの実施形態に従ってｉｎｔｒａＢＣマージＢＶ候補作成プロセスを示すフロー図を共に形成する図である。
【図２４Ｂ】いくつかの実施形態に従ってｉｎｔｒａＢＣマージＢＶ候補作成プロセスを示すフロー図を共に形成する図である。
【図２５】ｉｎｔｒａＢＣマージモードの時間ＢＶ候補導出を示すフロー図である。
【図２６】ＨＥＶＣマージプロセスにおいて空間マージ候補を導出する時に使用される空間ネイバーの概略図である。
【図２７】ブロックベクトル導出の例を示す図である。
【図２８】動きベクトル導出の例を示す図である。
【図２９Ａ】ＢＶ−ＭＶ双予測モードの双予測探索を示すフローチャートを共に提供する図である。
【図２９Ｂ】ＢＶ−ＭＶ双予測モードの双予測探索を示すフローチャートを共に提供する図である。
【図３０】双予測探索におけるＢＶ／ＭＶ精製のためのターゲットブロックの更新を示すフローチャートである。
【図３１Ａ】ＢＶ＿ｒｅｆｉｎｅｍｅｎｔの探索ウィンドウを示す図である。
【図３１Ｂ】ＭＶ＿ｒｅｆｉｎｅｍｅｎｔの探索ウィンドウを示す図である。
【発明を実施するための形態】
【００１８】
Ｉ．ビデオ符号化
これより例示的な実施形態の詳細な説明をさまざまな図を参照して提供する。この説明は、可能な実装の詳細な例を提供するが、提供される詳細は、例として提供され、決して適用の範囲に限定することを意図しないことに留意されたい。
【００１９】
図１は、ブロックベースのビデオエンコーダの例、例えば、ハイブリッドビデオ符号化システムを示すブロック図である。ビデオエンコーダ１００は、入力ビデオ信号１０２を受信する。入力ビデオ信号１０２は、ブロックごとに処理される。ビデオブロックは、任意のサイズであってよい。例えば、ビデオブロックユニットは、１６×１６ピクセルを含むことができる。１６×１６ピクセルのビデオブロックユニットをマクロブロック（ＭＢ）と呼ぶことができる。高効率ビデオ符号化（ＨＥＶＣ）において、拡張ブロックサイズ（例えば、符号化ツリーユニット（ＣＴＵ）または符号化ユニット（ＣＵ）と呼ぶことができ、２つの用語は、本開示の目的において同等である）を使用して高分解能（例えば、１０８０ｐ以上）のビデオ信号を効率的に圧縮できる。ＨＥＶＣにおいて、ＣＵを６４×６４ピクセルまで増やすことができる。ＣＵを、別個の予測方法を適用することができる、予測ユニット（ＰＵ）にパーティションすることができる。
【００２０】
入力ビデオブロック（例えば、ＭＢまたはＣＵ）では、空間予測１６０および／または時間予測１６２を遂行する。空間予測（例えば、「イントラ予測」）は、同じビデオピクチャ／スライスのすでに符号化された隣接ブロックからのピクセルを使用して現在のビデオブロックを予測することができる。空間予測は、ビデオ信号に内在する空間的冗長性を削減できる。時間予測（例えば、「中間予測」または「動き補償された予測」）は、すでに符号化されたビデオピクチャ（例えば、「参照ピクチャ」と呼ぶことができる）からのピクセルを使用して現在のビデオブロックを予測することができる。時間予測は、ビデオ信号に内在する時間的冗長性を削減できる。ビデオブロックの時間予測信号は、現在のブロックと参照ピクチャのその予測ブロックとの間の動きの量および／または方向を示すことができる、１または複数の動きベクトルによってシグナルされることができる。複数の参照ピクチャが（例えば、Ｈ．２６４／ＡＶＣおよび／またはＨＥＶＣの場合に見られるように）サポートされると、ビデオブロックでは、その参照ピクチャインデックスが送信される。参照ピクチャインデックスを使用して、参照ピクチャストア１６４のどの参照ピクチャから時間予測信号が来るかを特定することができる。
【００２１】
エンコーダのモード決定ブロック１８０は、例えば、空間および／または時間予測の後に予測モードを選択することができる。１１６において予測ブロックは、現在のビデオブロックから引かれる。予測残差は、変換１０４および／または量子化１０６される。量子化された残差係数は、再構築される残差を形成するために逆量子化１１０および／または逆変換１１２され、その残差は、再構築されるビデオブロックを形成するために予測ブロック１２６に再付加される。
【００２２】
再構築されたビデオブロックが参照ピクチャストア１６４に入る前に、インループフィルタリング１６６（例えば、非ブロック化フィルタ、サンプル適応オフセット、適応ループフィルタおよび／またはその他）が再構築されたビデオブロックに適用されるおよび／またはさらなるビデオブロックの符号化に使用される。ビデオエンコーダ１００は、出力ビデオストリーム１２０を出力する。出力ビデオストリーム１２０を形成するために、符号化モード（例えば、中間予測モードまたはイントラ予測モード）、予測モード情報、動き情報、および／または量子化された残差係数がエントロピー符号化ユニット１０８に送信されて、ビットストリームを形成するために圧縮されるおよび／またはパックされる。参照ピクチャストア１６４を復号化ピクチャバッファ（ＤＰＢ）と呼ぶことができる。
【００２３】
図２は、ブロックベースのビデオデコーダの例を示すブロック図である。ビデオデコーダ２００は、ビデオビットストリーム２０２を受信する。エントロピー復号化ユニット２０８においてビデオビットストリーム２０２がアンパックされるおよび／またはエントロピー復号化される。ビデオビットストリームをエンコードするために使用される符号化モードおよび／または予測情報は、（例えば、イントラ符号化されるならば）空間予測ユニット２６０および／または（例えば、中間符号化されるならば）時間予測ユニット２６２に送信されて予測ブロックを形成する。中間符号化されると、予測情報は、予測ブロックサイズ、１または複数の動きベクトル（例えば、動きの方向および量を示すことができる）、および／または１または複数の参照インデックス（例えば、どの参照ピクチャが予測信号を取得するかを示すことができる）を備える。動き補償された予測は、時間予測ブロックを形成する時間予測ユニット２６２によって適用される。
【００２４】
残差変換係数は、逆量子化ユニット２１０および逆変換ユニット２１２に送信されて残差ブロックを再構築する。２２６において予測ブロックと残差ブロックが合わせられる。再構築されたブロックは、参照ピクチャストア２６４に格納される前にインループフィルタリング２６６を通過する。参照ピクチャストア２６４の再構築されたビデオを使用して表示デバイスを駆動するおよび／またはさらなるビデオブロックを予測する。ビデオデコーダ２００は、再構築されたビデオ信号２２０を出力する。参照ピクチャストア２６４を復号化ピクチャバッファ（ＤＰＢ）と呼ぶこともできる。
【００２５】
ビデオエンコーダおよび／またはデコーダ（例えば、ビデオエンコーダ１００またはビデオデコーダ２００）は、空間予測（例えば、イントラ予測と呼ぶことができる）を遂行する。空間予測は、複数の予測方向のうちの１つ（例えば、方向イントラ予測と呼ぶことができる）に従ってすでに符号化された隣接ピクセルから予測することによって遂行される。
【００２６】
図３は、８つの方向予測モードの例の図である。図３の８つの方向予測モードをＨ．２６４／ＡＶＣでサポートすることができる。図３の３００において概ね示すように、９つのモード（ＤＣモード２を含む）は、以下になる。
●  モード０：垂直予測
●  モード１：水平予測
●  モード２：ＤＣ予測
●  モード３：左下斜め予測
●  モード４：右下斜め予測
●  モード５：右垂直予測
●  モード６：下水平予測
●  モード７：左垂直予測
●  モード８：上水平予測
【００２７】
空間予測は、さまざまなサイズおよび／または形状のビデオブロック上で遂行される。例えば、４×４、８×８、および１６×１６ピクセルのブロックサイズのビデオ信号の輝度成分の空間予測が（例えば、Ｈ．２６４／ＡＶＣで）遂行される。例えば、８×８のブロックサイズのビデオ信号の彩度成分の空間予測が（例えば、Ｈ．２６４／ＡＶＣで）遂行される。４×４または８×８サイズの輝度ブロックでは、合計で９つの予測モード、例えば、８つの方向予測モードとＤＣモードが（例えば、Ｈ．２６４／ＡＶＣで）サポートされる。例えば、１６×１６サイズの輝度ブロックでは、４つの予測モード；水平、垂直、ＤＣ、および平面予測がサポートされる。
【００２８】
さらに、方向イントラ予測モードと無方向予測モードをサポートすることができる。
【００２９】
図４は、３３つの方向予測モードと２つの無方向予測モードの例を示す図である。図４の４００において概ね示すように、３３つの方向予測モードと２つの無方向予測モードをＨＥＶＣでサポートすることができる。より大きいブロックサイズを使用する空間予測をサポートすることができる。例えば、任意のサイズのブロック、例えば、４×４、８×８、１６×１６、３２×３２、または６４×６４の正方ブロックサイズに空間予測を遂行できる。（例えば、ＨＥＶＣにおける）方向イントラ予測を１／３２ピクセル精度で遂行できる。
【００３０】
方向イントラ予測に加えて、例えば、無方向イントラ予測モードを（例えば、Ｈ．２６４／ＡＶＣ、ＨＥＶＣなどで）サポートすることができる。無方向イントラ予測モードは、ＤＣモードおよび／または平面モードを含むことができる。ＤＣモードでは、使用可能な隣接ピクセルを平均化することによって予測値を取得することができ、そして予測値をブロック全体に均一に適用することができる。平面モードでは、線形補間を使用して低速遷移で平滑領域を予測することができる。Ｈ．２６４／ＡＶＣによって平面モードを１６×１６の輝度ブロックおよび彩度ブロックに使用できるようにする。
【００３１】
エンコーダ（例えば、エンコーダ１００）は、ビデオブロックの最良の符号化モードを決定する（例えば、図１のブロック１８０における）モード決定を遂行できる。エンコーダが（例えば、中間予測の代わりに）イントラ予測を適用することを決定すると、エンコーダは、使用可能なモードのセットから最適なイントラ予測モードを決定する。選択された方向イントラ予測モードは、入力ビデオブロックの任意のテクスチャ、エッジ、および／または構造の方向に応じて強いヒントを提示することができる。
【００３２】
図５は、図５の５００において概ね示すように、（例えば、４×４ブロックの）水平予測の例の図である。すでに再構築されたピクセルＰ０、Ｐ１、Ｐ２およびＰ３（即ち、影付きボックス）を使用して現在の４×４ビデオブロックを予測することができる。水平予測において、再構築されたピクセル、例えば、ピクセルＰ０、Ｐ１、Ｐ２および／またはＰ３を対応する行の方向に沿って水平に伝搬させて４×４ブロックを予測することができる。例えば、以下の式（１）に従って予測を遂行することができ、ここにＬ（ｘ，ｙ）は、（ｘ，ｙ），ｘ，ｙ＝０…３において予測されるピクセルである。
【００３３】
【数１】
2017532885.tif 000003
【００３４】
図６は、図６の６００において概ね示すように、平面モードの例の図である。平面モードを次に従って遂行できる：最上行の右端のピクセル（Ｔで印す）を複製して右端の列のピクセルを予測する。左の列の最下ピクセル（Ｌで印す）を複製して最下行のピクセルを予測する。（左側のブロックに示すように）水平方向の双線形補間を遂行して中央のピクセルの第１の予測Ｈ（ｘ，ｙ）を作る。（例えば、右側のブロックに示すように）垂直方向の双線形補間を遂行して中央のピクセルの第２の予測Ｖ（ｘ，ｙ）を作る。
Ｌ（ｘ，ｙ）＝（（Ｈ（ｘ，ｙ）＋Ｖ（ｘ，ｙ））＞＞１）
を使用して、水平予測と垂直予測との間の平均化を遂行して最終予測Ｌ（ｘ，ｙ）を取得する。
【００３５】
図７および図８は、７００および８００において概ね示すように、（例えば、図１の時間予測ユニット１６２を使用する）ビデオブロックの動き予測の例を示す図である。ピクチャ内のブロックレベルの移動の例を示す、図８は、例えば、参照ピクチャ「Ｒｅｆｐｉｃ０」、「Ｒｅｆｐｉｃ１」、および「Ｒｅｆｐｉｃ２」を含む例示的な復号化ピクチャバッファを示す図である。現在のピクチャのブロックＢ０、Ｂ１、およびＢ２をそれぞれ、参照ピクチャ「Ｒｅｆｐｉｃ０」、「Ｒｅｆｐｉｃ１」、および「Ｒｅｆｐｉｃ２」のブロックから予測することができる。動き予測は、現在のビデオブロックを予測するために隣接ビデオフレームからのビデオブロックを使用できる。動き予測は、時間相関を利用するおよび／またはビデオ信号に内在する時間的冗長性を除去することができる。例えば、Ｈ．２６４／ＡＶＣおよびＨＥＶＣにおいて、時間予測をさまざまなサイズのビデオブロック（例えば、輝度成分では、時間予測のブロックサイズは、Ｈ．２６４／ＡＶＣにおいて１６×１６から４×４まで、ＨＥＶＣにおいて６４×６４から４×４までさまざまである）に遂行できる。動きベクトル（ｍｖｘ，ｍｖｙ）を用いて、時間予測を式（２）で定められるように遂行できる：
【００３６】
【数２】
2017532885.tif 000004
【００３７】
ここにｒｅｆ（ｘ，ｙ）は、参照ピクチャのロケーション（ｘ，ｙ）のピクセル値であり、Ｐ（ｘ，ｙ）は、予測されたブロックである。ビデオ符号化システムは、分数ピクセル精度で中間予測をサポートすることができる。動きベクトル（ｍｖｘ，ｍｖｙ）が分数ピクセル値を有すると、分数ピクセル位置のピクセル値を取得するために１または複数の補間フィルタが適用される。ブロックベースのビデオ符号化システムは、時間予測を改善するために、例えば、異なる参照ピクチャからのいくつかの予測信号を組み合わせることによって予測信号を形成することができる、多仮説予測を使用することができる。例えば、Ｈ．２６４／ＡＶＣおよび／またはＨＥＶＣは、２つの予測信号を組み合わせることができる双予測を使用することができる。双予測は、それぞれが参照ピクチャからの予測信号である、２つの予測信号を組み合わせることができ、以下の式（３）のような予測を形成する：
【００３８】
【数３】
2017532885.tif 000005
【００３９】
ここにＰ0（ｘ，ｙ）とＰ1（ｘ，ｙ）はそれぞれ、第１の予測ブロックと第２の予測ブロックである。式（３）に示すように、２つの予測ブロックは、２つの動きベクトル（ｍｖｘ0，ｍｖｙ0）と（ｍｖｘ1，ｍｖｙ1）をそれぞれに用いた、２つの参照ピクチャｒｅｆ0（ｘ，ｙ）とｒｅｆ1（ｘ，ｙ）からの動き補償された予測を遂行することによって取得される。（例えば、１１６における）ソースビデオブロックから予測ブロックＰ（ｘ，ｙ）を引いて予測残差ブロックを形成することができる。予測残差ブロックを（例えば、変換ユニット１０４において）変換するおよび／または（例えば、量子化ユニット１０６において）量子化することができる。量子化された残差変換係数ブロックは、エントロピー符号化ユニット（例えば、エントロピー符号化ユニット１０８）に送信されてビットレートを削減するためにエントロピー符号化される。エントロピー符号化された残差係数は、出力ビデオビットストリーム部分（例えば、ビットストリーム１２０）を形成するためにパックされる。
【００４０】
単一レイヤビデオエンコーダは、単一ビデオシーケンス入力を行い、単一レイヤデコーダに送信される単一圧縮ビットストリームを作成することができる。ビデオコーデックをデジタルビデオサービス（例えば、限定されないが、衛星、ケーブルおよび地上波伝送チャネルを経由してＴＶ信号を送信するなど）用に設計することができる。異種環境で展開されるビデオ中心アプリケーションを用いて、マルチレイヤビデオ符号化技術をさまざまなアプリケーションを可能にするビデオ符号化規格の拡張として発展させることができる。例えば、スケーラブルなビデオ符号化および／またはマルチビュービデオ符号化などの、複数レイヤビデオ符号化技術は、各レイヤを復号化して特定の空間分解能、時間分解能、忠実度、および／またはビューのビデオ信号を再構築することができる、２以上のビデオレイヤを扱うように設計される。単一レイヤエンコーダおよびデコーダが図１および図２と関連して説明されているが、本明細書に説明される概念は、複数レイヤエンコーダおよび／またはデコーダを例えば、マルチビューおよび／またはスケーラブルな符号化技術に利用することができる。
【００４１】
図９は、符号化されたビットストリーム構造の例を示す図である。符号化されたビットストリーム９００は、いくつかのＮＡＬ（ネットワーク抽象化レイヤ）ユニット９０１から成る。ＮＡＬユニットは、符号化されたスライス９０６などの符号化サンプルデータか、またはパラメータセットデータ、スライスヘッダデータ９０５または補足強化情報データ９０７（ＳＥＩメッセージと呼ぶことができる）などのハイレベルシンタックスメタデータを包含することができる。パラメータセットは、複数ビットストリームレイヤに適用することができる（例えば、ビデオパラメータセット９０２（ＶＰＳ））か、または１つのレイヤ内の符号化ビデオシーケンスに適用することができる（例えば、シーケンスパラメータセット９０３（ＳＰＳ））か、または１つの符号化ビデオシーケンス内のいくつかの符号化されたピクチャに適用することができる（例えば、ピクチャパラメータセット９０４（ＰＰＳ））不可欠なシンタックス要素を包含するハイレベルシンタックス構造である。パラメータセットは、ビデオビットストリームの符号化ピクチャと一緒に送信されるか、または他の手段（信頼性のあるチャネル、ハード符号化などを使用する帯域外伝送を含む）を介して送信されるいずれかになる。スライスヘッダ９０５はまた、比較的小さいまたはあるスライスまたはピクチャタイプのみに関連するいくつかのピクチャ関連情報を包含することができるハイレベルシンタックス構造でもある。ＳＥＩメッセージ９０７は、復号化プロセスが必要としない場合もあるが、ピクチャの出力タイミングまたは表示ならびに損失検出および秘匿などのさまざまな他の目的に使用することができる情報を搬送する。
【００４２】
図１０は、通信システムの例を示す図である。通信システム１０００は、エンコーダ１００２、通信ネットワーク１００４、およびデコーダ１００６を備えることができる。エンコーダ１００２は、有線接続または無線接続にすることができる、接続１００８経由でネットワーク１００４と通信することができる。エンコーダ１００２を図１のブロックベースのビデオエンコーダと同様にすることができる。エンコーダ１４０２は、単一レイヤコーデック（例えば、図１）またはマルチレイヤコーデックを含むことができる。デコーダ１００６は、有線接続または無線接続にすることができる、接続１０１０経由でネットワーク１００４と通信することができる。デコーダ１００６を図２のブロックベースのビデオデコーダと同様にすることができる。デコーダ１００６は、単一レイヤコーデック（例えば、図２）またはマルチレイヤコーデックを含むことができる。
【００４３】
エンコーダ１００２および／またはデコーダ１００６は、限定されないが、デジタルテレビ、無線ブロードキャストシステム、ネットワーク要素／端末などの幅広い種類の有線通信デバイスおよび／または無線送信／受信ユニット（ＷＴＲＵ）と、コンテンツサーバまたはウェブサーバ（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）サーバ）などのサーバ、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタルレコーディングデバイス、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、デジタルメディアプレーヤおよび／またはその他などに組み込まれることができる。
【００４４】
通信ネットワーク１００４を適したタイプの通信ネットワークにすることができる。例えば、通信ネットワーク１００４を、音声、データ、ビデオ、メッセージング、ブロードキャストその他などのコンテンツを複数の無線ユーザに提供する複数のアクセスシステムにすることができる。通信ネットワーク１００４によって複数の無線ユーザが、無線帯域幅を含む、システム資源の共有を通じてそのようなコンテンツにアクセスすることを可能にできる。例えば、通信ネットワーク１００４は、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交ＦＤＭＡ（ＯＦＤＭＡ）、シングルキャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）、および／またはその他などの１または複数のチャネルアクセス方式を用いることができる。通信ネットワーク１００４は、多元接続通信ネットワークを含むことができる。通信ネットワーク１００４は、セルラーネットワーク、ＷｉＦｉホットスポット、インターネットサービスプロバイダ（ＩＳＰ）ネットワーク、および／またはその他などの、インターネットおよび／または１または複数の私的な商用ネットワークを含むことができる。
【００４５】
図１１は、例示的なＷＴＲＵのシステム図である。図示したように、ＷＴＲＵ１１００は、プロセッサ１１１８、トランシーバ１１２０、送信／受信要素１１２２、スピーカ／マイクロフォン１１２４、キーパッドまたはキーボード１１２６、ディスプレイ／タッチパッド１１２８、ノンリムーバブルメモリ１１３０、リムーバブルメモリ１１３２、電源１１３４、全地球測位システム（ＧＰＳ）チップセット１１３６、および／または他の周辺機器１１３８を含むことができる。ＷＴＲＵ１１００は、実施形態と整合性を保った上で、上述の要素の任意の部分的組み合わせを含むことができることが認識されよう。さらに、エンコーダ（例えば、エンコーダ１００）および／またはデコーダ（例えば、デコーダ２００）が組み込まれる端末機は、図１１のＷＴＲＵ１１００を参照して本明細書で描写され、説明される要素の一部またはすべてを含むことができる。
【００４６】
プロセッサ１１１８は、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、グラフィック処理装置（ＧＰＵ）、複数のマイクロプロセッサ、ＤＳＰコアと連動する１または複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、現場プログラム可能ゲートアレイ（ＦＰＧＡ）回路、その他のタイプの集積回路（ＩＣ）、ステートマシンなどであってよい。プロセッサ１１１８は、信号符号化、データ処理、電力制御、入力／出力処理、および／またはＷＴＲＵ１１００が有線および／または無線環境で動作可能にさせるその他の機能性を遂行できる。プロセッサ１１１８をトランシーバ１１２０に結合でき、そのトランシーバを送信／受信要素１１２２に結合できる。図１１は、プロセッサ１１１８とトランシーバ１１２０とを別個のコンポーネントとして示しているが、プロセッサ１１１８とトランシーバ１１２０とを電子パッケージおよび／またはチップ内に統合できることが認識されよう。
【００４７】
送信／受信要素１１２２は、エアインタフェース１１１５を介して別の基地局に信号を送信するおよび／または別の基地局から信号を受信するように構成される。例えば、１または複数の実施形態において、送信／受信要素１１２２は、ＲＦ信号を送信するおよび／または受信するように構成されたアンテナになることができる。１または複数の実施形態において、送信／受信要素１１２２は、例えば、ＩＲ、ＵＶ、または可視光線信号を送信するおよび／または受信するように構成された放出器／検出器になることができる。１または複数の実施形態において、送信／受信要素１１２２は、ＲＦ信号と光信号の両方を送信する／受信するように構成される。送信／受信要素１１２２は、無線信号の任意の組み合わせを送信するおよび／または受信するように構成されることが認識されよう。
【００４８】
さらに、送信／受信要素１１２２を単一要素として図１１に示しているが、ＷＴＲＵ１１００は、任意の数の送信／受信要素１１２２を含むことができる。より具体的には、ＷＴＲＵ１１００は、ＭＩＭＯ技術を用いることができる。従って、一実施形態において、ＷＴＲＵ１１００は、エアインタフェース１１１５を介して無線信号を送信するおよび受信する２または３以上の送信／受信要素１１２２（例えば、複数のアンテナ）を含むことができる。
【００４９】
トランシーバ１１２０は、送信／受信要素１１２２によって送信される信号を変調し、および／または送信／受信要素１１２２によって受信された信号を復調するように構成される。上述のように、ＷＴＲＵ１１００は、マルチモード能力を有することができる。従って、トランシーバ１１２０は、ＷＴＲＵ１１００が、例えば、ＵＴＲＡおよびＩＥＥＥ８０２．１１などの、複数のＲＡＴ経由で通信することを可能にする複数のトランシーバを含むことができる。
【００５０】
ＷＴＲＵ１１００のプロセッサ１１１８は、スピーカ／マイクロフォン１１２４、キーパッド１１２６、および／またはディスプレイ／タッチパッド１１２８（例えば、液晶ディスプレイ（ＬＣＤ）表示装置または有機発光ダイオード（ＯＬＥＤ）表示装置）に結合されて、それらからユーザ入力データを受信できる。プロセッサ１１１８はまた、スピーカ／マイクロフォン１１２４、キーパッド１１２６、および／またはディスプレイ／タッチパッド１１２８にユーザデータを出力することもできる。さらに、プロセッサ１１１８は、ノンリムーバブルメモリ１１３０および／またはリムーバブルメモリ１１３２などの、適した任意のタイプのメモリから情報にアクセスして、それらのメモリにデータを格納できる。ノンリムーバブルメモリ１１３０は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ハードディスク、またはその他のタイプのメモリストレージデバイスを含むことができる。リムーバブルメモリ１１３２は、契約者識別モジュール（ＳＩＭ）カード、メモリスティック、セキュアデジタル（ＳＤ）メモリカードなどを含むことができる。１または複数の実施形態において、プロセッサ１１１８は、サーバまたはホームコンピュータ（図示せず）などの、ＷＴＲＵ１１００に物理的に配置されてないメモリから情報にアクセスして、それらのメモリにデータを格納できる。
【００５１】
プロセッサ１１１８は、電源１１３４から電力を受け取ることができ、その電力をＷＴＲＵ１１００の他のコンポーネントに分配するおよび／または制御するように構成される。電源１１３４は、ＷＴＲＵ１１００に電力供給するのに適した任意のデバイスであってよい。例えば、電源１１３４は、１または複数の乾電池（例えば、ニッケルカドミウム（ＮｉＣｄ）、ニッケル亜鉛（ＮｉＺｎ）、ニッケル水素（ＮｉＭＨ）、リチウムイオン（Ｌｉ−ｉｏｎ）など）、太陽電池、燃料電池などを含むことができる。
【００５２】
プロセッサ１１１８は、ＷＴＲＵ１１００の現在のロケーションに関するロケーション情報（例えば、経緯度）を提供するように構成される、ＧＰＳチップセット１１３６に結合される。追加または代替として、ＧＰＳチップセット１１３６からの情報により、ＷＴＲＵ１１００は、端末機（例えば、基地局）からエアインタフェース１１１５を介してロケーション情報を受信し、および／または２または３以上の近隣の基地局から受信される信号のタイミングに基づいてＷＴＲＵの位置を判定できる。ＷＴＲＵ１１００は、実施形態と整合性を保った上で、適した任意のロケーション判定方法によってロケーション情報を入手できることが認識されよう。
【００５３】
プロセッサ１１１８を、付加的な特徴、機能性および／または有線または無線接続性を提供する、１または複数のソフトウェアモジュールおよび／またはハードウェアモジュールを含むことができる、他の周辺機器１１３８にさらに結合できる。例えば、周辺機器１１３８は、加速度計、方位センサ、動きセンサ、近接センサ、電子コンパス、衛星トランシーバ、デジタルカメラおよび／またはビデオレコーダ（例えば、写真および／またはビデオ用）、ユニバーサルシリアルバス（ＵＳＢ）ポート、振動デバイス、テレビトランシーバ、ハンズフリーヘッドセット、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール、周波数変調（ＦＭ）無線装置、およびデジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザなどの、ソフトウェアモジュールを含むことができる。
【００５４】
例として、ＷＴＲＵ１１００は、無線信号を送信するおよび／または受信するように構成され、そしてユーザ機器（ＵＥ）、移動局、固定または移動加入者装置、ページャ、セルラー電話、パーソナルデジタルアシスタント（ＰＤＡ）、スマートフォン、ラップトップ、ネットブック、タブレットコンピュータ、パーソナルコンピュータ、無線センサ、家電、またはその他の圧縮ビデオ通信を受信するおよび処理する能力がある端末機を含むことができる。
【００５５】
ＷＴＲＵ１１００および／または通信ネットワーク（例えば、通信ネットワーク１００４）は、広域帯ＣＤＭ（ＷＣＤＭＡ（登録商標））を使用してエアインタフェース１１１５を確立することができる、ユニバーサル移動体通信システム（ＵＭＴＳ）地上波無線アクセス（ＵＴＲＡ）などの無線技術を実装することができる。ＷＣＤＭＡは、高速パケットアクセス（ＨＳＰＡ）および／または発展型ＨＳＰＡ（ＨＳＰＡ＋）などの通信プロトコルを含むことができる。ＨＳＰＡは、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）および／または高速アップリンクパケットアクセス（ＨＳＵＰＡ）を含むことができる。ＷＴＲＵ１１００および／または通信ネットワーク（例えば、通信ネットワーク１００４）は、ロングタームエボリューション（ＬＴＥ）および／またはＬＴＥアドバンスト（ＬＴＥ−Ａ）を使用してエアインタフェース１１１５を確立することができる、発展型ＵＭＴＳ地上波無線アクセス（Ｅ−ＵＴＲＡ）など無線技術を実装することができる。
【００５６】
ＷＴＲＵ１１００および／または通信ネットワーク（例えば、通信ネットワーク１００４）は、ＩＥＥＥ８０２．１６（例えば、ＷｉＭＡＸ(Worldwide Interoperability for Microwave Access)、ＣＤＭＡ２０００、ＣＤＭＡ２０００  １Ｘ、ＣＤＭＡ２０００  ＥＶ−ＤＯ、ＩＳ−２０００(Interim Standard 2000)、ＩＳ−９５(Interim Standard 95)、ＩＳ−８５６(Interim Standard 856)、ＧＳＭ(Global System for Mobile communications（登録商標）)、ＥＤＧＥ(Enhanced Data rates for GSM Evolution)、ＧＥＲＡＮ(GSM EDGE)などの無線技術を実装することができる。
【００５７】
ＩＩ．時間ブロックベクトル予測
図１２は、例示的な二元スクリーンコンテンツ共有システム１２００を示す機能ブロック図である。図は、キャプチャラ１２０２、エンコーダ１２０４、およびトランスミッタ１２０６を含む、ホストサブシステムを示す。図１２はさらに、レシーバ１２０８（受信した入力ビットストリーム１２１０を出力する）、デコーダ１２１２、およびディスプレイ（レンダラ）１２１８を含むクライアントサブシステムを示す。デコーダ１２１２は、ディスプレイピクチャバッファ１２１４に出力し、次にディスプレイピクチャバッファ１２１４は、復号化されたピクチャ１２１６をディスプレイ１２１８に送信する。例えば、T. Vermeir, “Use cases and requirements for lossless and screen content coding”, JCTVC-M0172, Apr. 2013, Incheon, KR  およびJ. Sole, R, Joshi, M, Karczewicz,”AhG8: Requirements for wireless display applications”, JCTVC-M0315, Apr. 2013, Incheon, KRに記載の通り、スクリーンコンテンツ向け符号化（ＳＣＣ）の産業応用要件が存在する。
【００５８】
伝送帯域幅および記憶域を節約するために、ＭＰＥＧは、長年にわたりビデオ符号化規格に取り組んでいる。B. Bross, W-J. Han, G.J. Sullivan, J-R. Ohm, T. Wiegand, “High Efficiency Video Coding (HEVC) Text Specification Draft 10”, JCTVC L1003. Jan 2013に記載の通り、高効率ビデオ符号化（ＨＥＶＣ）は、新たに出現したビデオの圧縮規格である。ＨＥＶＣは現在、ＩＴＵ−Ｔのビデオ符号化専門家グループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣの動画専門家グループ（ＭＰＥＧ）によって共同開発されている。ＨＥＶＣは、同品質のＨ．２６４に比べて、帯域幅を５０％節約することができる。ＨＥＶＣはさらに、そのエンコーダおよびデコーダが図１および図２に従って概ね動作するという点において、ブロックベースのハイブリッドビデオ符号化規格である。
【００５９】
ＨＥＶＣは、より大きいビデオブロックの使用を可能にし、そして四分木分割(quadtree partition)を使用してブロック符号化情報をシグナルする。ピクチャまたはスライスは最初に、同じサイズ（例えば、６４×６４）の符号化ツリーブロック（ＣＴＢ）にパーティションされる。各ＣＴＢは、四分木を用いて符号化ユニット（ＣＵ）にパーティションされ、各ＣＵは、またも四分木を使用して予測ユニット（ＰＵ）と変換ユニット（ＴＵ）にさらにパーティションされる。各々が中間符号化されたＣＵでは、そのＰＵは、図１３に示すように、８つのパーティションモードのうちの１つになる。動き補償とも呼ばれる時間予測を適用してすべての中間符号化されたＰＵを再構築する。動きベクトルの精度（ＨＥＶＣでは１／４ピクセルまでにすることができる）に応じて、線形フィルタを適用して分数位置のピクセル値を取得する。ＨＥＶＣにおいて、補間フィルタは、輝度に７または８タップ、彩度に４タップを有する。ＨＥＶＣの非ブロック化フィルタは、コンテンツベースであり、異なる非ブロック化フィルタの動作は、ＴＵとＰＵの境界に適用され、符号化モード差分、動き差分、参照ピクチャ差分、ピクセル値差分などのいくつかの要因に応じて異なる。エントロピー復号化では、ＨＥＶＣは、ハイレベルパラメータを除くほとんどのブロックレベルのシンタックス要素に対してコンテキスト適応型２値算術符号化（ＣＡＢＡＣ）を採用する。ＣＡＢＡＣ符号化では２種類のビンが存在し、１つは、コンテキストベースの符号化された正規のビンであり、もう１つは、コンテキストを用いないバイパス符号化されたビンである。
【００６０】
現在のＨＥＶＣ設計は、さまざまなブロック符号化モードを包含するが、スクリーンコンテンツ符号化の空間的冗長性を完全には利用していない。これは、ＨＥＶＣが連続トーンのビデオコンテンツに重点を置き、モード決定および変換符号化ツールが、４：４：４ビデオのフォーマットでキャプチャされることが多い、離散トーンのスクリーンコンテンツ用に最適化されていないためである。２０１３年にＨＥＶＣ規格が完成した後、標準化団体のＶＣＥＧおよびＭＰＥＧは、スクリーンコンテンツ向け符号化（ＳＣＣ）に対するＨＥＶＣのさらなる拡張の作業を開始した。２０１４年１月にスクリーンコンテンツ符号化の提案募集(Call for Proposals)をＩＴＵ−Ｔ ＶＣＥＧとＩＳＯ／ＩＥＣ ＭＰＥＧが共同で発した。ITU-T Q6/16 and ISO/IEC JCT1/SC29/WG11, “Joint Call for Proposals for Coding of Screen Content”, MPEG2014/N14175, Jan. 2014, San Jose, USA  (“N14175 2014”) を参照されたい。ＣｆＰは、さまざまな効率的なＳＣＣソリューションを提供する異なる企業から７つの回答を受け取った。テキストおよびグラフィックなどのスクリーンコンテンツは、線分またはブロックに関して高度な反復パターンを有し、多くの同質の小領域（例えば、単色領域）を有する。通常、小ブロック内にはわずかな色しか存在しない。対照的に、生のビデオでは小ブロックでも多くの色が存在する。各位置の色値は通常、その位置の上または左のピクセルから反復される。生のビデオコンテンツに比べて異なるスクリーンコンテンツの特性を所与として、スクリーンコンテンツ符号化の符号化効率を改善する新規の符号化ツールが提案された。その例は、以下を含む。
●  ＩＤストリングコピー：T. Lin, S. Wang, P Zhang, and K, Zhou, “AHG8:P2M based dual-coder extension of HEVC”, Document no JCTVC-L0303, Jan. 2013.
●  パレット符号化：X. Guo, B. Li, J-Z. Xu, Y. Lu, S. Li, and F. Wu, “AHG8: Major-color-based screen content coding”, Document no JCTVC-O0182, Oct. 2013; L. Guo, M. Karczewicz, J. Sole, and R. Joshi, “Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1”, JCTVC-O0182, Oct. 2013.
●  イントラブロックコピー（ＩｎｔｒａＢＣ）：C. Pang, J. Sole, L. Guo, M. Karczewicz, and R. Joshi, “Non-RCE3: Intra Motion Compensation with 2-D MVs”, JCTVC-N0256, July. 2013; D. Flymn, M. Naccari, K. Sharman, C. Rosewarne, J. Sole, G. J. Sullivan, T. Suzuki, “HEVC Range Extension Draft 6”, JCTVC-P1005, Jan. 2014, San Jose.
【００６１】
スクリーンコンテンツ符号化に関連するツールのすべてが実験調査されている。
●  J. Sole, S. Liu, “HEVC Screen Content Coding Core Experiment 1(SCCE1): Intra Block Copying Extensions”, JCTVC-Q1121, Mar. 2014, Valencia.
●  C.-C. Chen, X. Xu, L. Zhang, “HEVC Screen Content Coding Core Experiment 2 (SCCE2): Line-based Intra Copy”, JCTVC-Q1122, Mar. 2014, Valencia.
●  Y-W. Huang, P. Onno, R. Joshi, R. Cohen, X. Xiu, Z. Ma, “HEVC Screen Content Coding Core Experiment 3(SCCE3): Palette mode”, JCTVC-Q1123, Mar. 2014, Valencia.
●  Y. Chen, J. Xu, “HEVC Screen Content Coding Core Experiment 4(SCCE4): String matching for sample coding”, JCTVC-Q1124, Mar. 2014, Valencia.
●  X. Xiu, J. Chen, “HEVC Screen Content Coding Core Experiment 5(SCCE5): Inter-component prediction and adaptive color transforms”, JCTVC-Q1125, Mar. 2014, Valencia.
【００６２】
ＩＤストリングコピーは、前に再構築されたピクセルバッファから可変長のストリングを予測する。位置およびストリング長は、シグナルされる。パレット符号化において、ピクセル値を直接符号化する代わりに、パレットテーブルをディクショナリとして使用してそれらの重要な色を記録する。そして対応するパレットインデックスマップを使用して符号化ブロック内の各ピクセルの色値を表す。さらに、同じ重要な色を有する連続ピクセルの長さを示す「実行」値（即ち、パレットインデックス）を使用して空間的冗長性を削減する。パレット符号化は通常、疎な色を包含する大きいブロック用に選択される。イントラブロックコピーは、現在のピクチャのすでに再構築されたピクセルを使用して、同じピクチャ内の現在の符号化ブロックを予測し、そしてブロックベクトル（ＢＶ）と呼ばれる変位情報が符号化される。
【００６３】
図１９は、イントラブロックコピーの例を示している。複雑度および帯域幅のアクセス要件を考慮して、ＨＥＶＣ ＳＣＣ参照ソフトウェア（ＳＣＭ−１．０）は、イントラブロックコピーモードの２つの構成を有する。R. Joshi, J. Xu, R. Cohen, S. Liu, Z. Ma, Y. Ye, “Screen content coding test model 1(SCM 1)”, JCTVC-Q1014, Mar. 2014, Valenciaを参照されたい。
【００６４】
第１の構成は、図１３に示すように、すべての再構築されたピクセルを予測に使用することができる、フルフレームのイントラブロックコピーである。ブロックベクトル探索の複雑度を低減するために、ハッシュベースのイントラブロックコピー探索が提案されている。B. Li, J. Xu, “Hash-based intraBC search”, JCTVC-Q0252, Mar. 2014, Valencia; C. Pang, T. Hsieh, M. Karczewicz, “Intra block copy with larger search region”, JCTVC-Q0139, Mar. 2014, Valenciaを参照されたい。
【００６５】
第２の構成は、図１４に示すように、局所領域のイントラブロックコピーであり、左側の再構築されたピクセルと現在の符号化ツリーユニット（ＣＴＵ）のみが参照として使用することが許可されている。
【００６６】
ＳＣＣと生のビデオ符号化の間で別の差分がある。生のビデオ符号化では、符号化歪みは通常、ピクチャ全体に分布される。しかしながら、スクリーンコンテンツでは、符号化歪みまたはエラーは通常、強いエッジの周りに集中する。このエラー集中は、ピクチャ全体のＰＳＮＲ（ピーク信号対雑音比）がかなり高い場合でも、アーチファクトをより可視にする可能性がある。従って、スクリーンコンテンツは、主観的品質の観点からエンコードすることがより困難である。
【００６７】
現在のＨＥＶＣ規格において、マージモードを有する中間ＰＵは、動きベクトル（ＭＶ）の符号化に使用されるビットを削減するために空間および時間隣接予測ユニットからの動き情報を再使用することができる。中間符号化された２Ｎ×２Ｎ ＣＵがマージモードを使用し、そのすべての変換ユニットの量子化されたすべての係数がゼロであれば、パーティションサイズの符号化、ＴＵのルート(root)において符号化されたブロックフラグをスキップすることによってさらにビットを節約するスキップモードとして符号化される。マージモードの可能な候補のセットは、複数の空間隣接候補、１つの時間隣接候補、および１または複数の作成された候補で構成される。ＨＥＶＣは、５つのマージ候補までを許可する。
【００６８】
図１５は、５つの空間候補の位置を示す。マージ候補のリストを構築するために、５つの空間候補は、初めに検査され、そしてＡ１、Ｂ１、Ｂ０、Ａ０およびＢ２の順序に従ってリストに付加される。１つの空間位置に配置されたブロックがイントラ符号化されるまたは現在のスライスの境界の外側にあれば、その動きは、使用不可能と見なされ、ブロックは、候補リストに付加されない。さらに、空間候補の冗長性を除去するために、候補が全く同じ動き情報を有する冗長エントリもリストから除外される。すべての有効な空間候補をマージ候補リストに挿入した後、時間候補は、時間動きベクトル予測（ＴＭＶＰ）技術によってコロケートされた参照ピクチャのコロケートされたブロックの動き情報から作成される。ＨＥＶＣは、ビットストリームにおいてその参照ピクチャリストおよびリストのその参照ピクチャインデックスを（スライスヘッダで）送信することによって、ＴＭＶＰに使用されるコロケートされた参照ピクチャの明示的なシグナリングを可能にする。マージ候補Ｎ（デフォルトではＮ＝５）の実数は、スライスヘッダでシグナルされる。マージ候補（空間および時間候補を含む）の数がＮより多ければ、最初のＮ−１空間候補および時間候補のみがリストに保持される。別の状況では、マージ候補の数がＮより少なければ、その数がＮに達するまでいくつかの組み合わされた候補およびゼロ動き候補が候補リストに付加される。B. Bross, W-J. Han, C. J. Sullivan, J-R. Ohm, T. Wiegand, “High Efficiency Video Coding (HEVC) Text Specification Draft 10”, JCTVC-L1003, Jan. 2013を参照されたい。
【００６９】
図１５を例と見なし、中間マージ候補リストを構築する検査順序は、以下のように要約される。
（マージステップ１）左隣のＰＵ Ａ１を検査する。Ａ１が中間ＰＵであれば、そのＭＶを候補リストに付加する。
（マージステップ２）上隣のＰＵ Ｂ１を検査する。Ｂ１が中間ＰＵでありそのＭＶがリスト内で一意であれば、そのＭＶを候補リストに付加する。
（マージステップ３）右上隣のＰＵ Ｂ０を検査する。Ｂ０が中間ＰＵでありそのＭＶがＢ１のＭＶと異なれば、Ｂ１が中間ＰＵであれば、そのＭＶを候補リストに付加する。
（マージステップ４）左下隣のＰＵ Ａ０を検査する。Ａ０が中間ＰＵでありそのＭＶがＡ１のＭＶと異なれば、Ａ１が中間ＰＵであれば、そのＭＶを候補リストに付加する。
（マージステップ５）候補の数が４より少なければ、左上隣のＰＵ Ｂ２を検査する。Ｂ２が中間ＰＵでありそのＭＶがＢ１のＭＶと異なれば、Ｂ１が中間ＰＵでありＡ１のＭＶと異なれば、Ａ１が中間ＰＵであれば、そのＭＶを候補リストに付加する。
（マージステップ６）以下に説明されるＴＭＶＰ方法を用いてコロケートされたピクチャのコロケートされたＰＵ Ｃを検査する。
（マージステップ７）中間マージ候補リストが満杯でなければ、および現在のスライスがＢスライスであれば、（マージステップ１）から（マージステップ６）までのステップの間に現在のマージリストに付加されたさまざまなマージ候補の組み合わせが検査されて、マージ候補リストに付加される。
（マージステップ８）中間マージ候補リストが満杯でなければ、参照ピクチャリストの第１の参照ピクチャから開始する異なる参照ピクチャの組み合わせを有するゼロ動きベクトルが、リストが満杯になるまで順にリストに付加される。
【００７０】
符号化されたスライスがＢスライスであれば、「マージステップ８」のプロセスは、両方のリスト（例えば、ｌｉｓｔ＿０とｌｉｓｔ＿１）で共有するすべての参照ピクチャインデックスをトラバースすることによってそれらの双予測候補をゼロ動きベクトルに付加する。実施形態において、ＭＶを４成分変数（ｌｉｓｔ＿ｉｄｘ，ｒｅｆ＿ｉｄｘ，ＭＶ＿ｘ，ＭＶ＿ｙ）として表すことができる。ｌｉｓｔ＿ｉｄｘの値は、リストインデックスであり、０（例えば、ｌｉｓｔ＿０）または１（例えば、ｌｉｓｔ＿１）のいずれかになり、ｒｅｆ＿ｉｄｘは、ｌｉｓｔ＿ｉｄｘで指定されたリストの参照ピクチャインデックスであり、ＭＶ＿ｘとＭＶ＿ｙは、水平方向と垂直方向の動きベクトルの２つの成分である。「マージステップ８」のプロセスはその後、以下の式を使用して両方のリストで共有されるインデックスの数を導出する：
【００７１】
【数４】
2017532885.tif 000006
【００７２】
ここにｎｕｍ＿ｒｅｆ＿ｉｄｘ１０とｎｕｍ＿ｒｅｆ＿ｉｄｘ１１はそれぞれ、ｌｉｓｔ＿０とｌｉｓｔ＿１の参照ピクチャの数である。その後双予測モードを有するマージ候補のＭＶペアは、マージ候補リストが満杯になるまで順に付加される：
【００７３】
【数５】
2017532885.tif 000007
【００７４】
ここにｒｅｆ＿ｉｄｘ（ｉ）は、以下のように定義される：
【００７５】
【数６】
2017532885.tif 000008
【００７６】
非マージモードでは、ＨＥＶＣは、現在のＰＵがそのＭＶプレディクタを空間および時間候補から選択することを許可する。これは、本明細書ではＡＭＶＰまたはアドバンスト動きベクトル予測と呼ばれる。ＡＭＶＰでは、最大で２つのみの空間動きプレディクタ候補がそれらの可用性に従って図１５の５つの空間候補の中から選択され得る。第１の空間候補は、左の位置Ａ１およびＡ０のセットから選択され、第２の空間候補は、上の位置Ｂ１、Ｂ０およびＢ２のセットから選択され、その間、探索が２つのセットで表示されたのと同じ順序で行われる。使用可能で一意の空間候補のみがプレディクタ候補リストに付加される。使用可能で一意の空間候補の数が２より少ない場合、ＴＭＶＰプロセスから作成された時間ＭＶプレディクタ候補がリストに付加される。最終的に、リストがなおも２未満の候補を包含していれば、ＭＶプレディクタ候補の数が２に等しくなるまでゼロＭＶプレディクタも反復的に付加される。
【００７７】
図１６は、ｍｖＬＸと示した、マージモードと非マージモードの両方の時間候補を作成するためにＨＥＶＣにおいて使用されるＴＭＶＰプロセスのフローチャートである。ステップ１６０２において、現在のＰＵｃｕｒｒＰＵの入力参照リストＬＸと参照インデックスｒｅｆＩｄｘＬＸ（Ｘは０または１である）が入力される。ステップ１６０４において、コロケートされたブロックｃｏｌＰＵは、コロケートされた参照ピクチャのｃｕｒｒＰＵの領域のすぐ外側の右下ブロックの可用性を検査することによって特定される。これは、「コロケートされたＰＵ」１５０２として図１５に示している。右下ブロックが使用不可能であれば、代わりに、「代替のコロケートされたＰＵ」１５０４として図１５に示した、コロケートされた参照ピクチャのｃｕｒｒＰＵの中央位置のブロックが使用される。その後、ステップ１６０６において、ｃｏｌＰＵの参照リストｌｉｓｔＣｏｌは、次の段落で説明するように、現在のピクチャの参照ピクチャのピクチャ順序カウント（ＰＯＣ）と、コロケートされた参照ピクチャを見つけるために使用される現在のピクチャの参照リストに基づいて判定される。ステップ１６０８において、参照リストｌｉｓｔＣｏｌはその後、ｃｏｌＰＵの対応するＭＶ ｍｖＣｏｌと参照インデックスｒｅｆＩｄｘＣｏｌを読み出すために使用される。ステップ１６１０−１６１２において、ｃｕｒｒＰＵの参照ピクチャの長期／短期特性（ｒｅｆＩｄｘＬＸで表示される）は、ｃｏｌＰＵの参照ピクチャの長期／短期特性（ｒｅｆＩｄｘＣｏｌで表示される）と比較される。２つの参照ピクチャのうちの１つが長期ピクチャで、他方の参照ピクチャが短期ピクチャであれば、時間候補ｍｖＬＸは、使用不可能と見なされる。別の状況では、２つの参照ピクチャの両方が長期ピクチャであれば、ステップ１６１６において、ｍｖＬＸは、ｍｖＣｏｌに等しくなるように直接設定される。別の状況では（２つの参照ピクチャの両方が短期ピクチャである）、ステップ１６１７−１６１８において、ｍｖＬＸは、ｍｖＣｏｌのスケールされたバージョンになるように設定される。
【００７８】
図１６において、ｃｕｒｒＰｏｃＤｉｆｆは、現在のピクチャとｃｕｒｒＰＵの参照ピクチャとの間のＰＯＣ差分を示すために使用され、およびｃｏｌＰｏｃＤｉｆｆは、コロケートされた参照ピクチャとＣｏｌＰＵの参照ピクチャとの間のＰＯＣ差分を示す。これらの２つのＰＯＣ差分値を図１５にも示している。ｃｕｒｒＰｏｃＤｉｆｆとｃｏｌＰｏｃＤｉｆｆの両方を所与として、予測されるｃｕｒｒＰＵのＭＶ ｍｖＬＸは、以下の式の通りｍｖＣｏｌから算出される。
【００７９】
【数７】
2017532885.tif 000009
【００８０】
さらに、ＨＥＶＣ規格のマージモードにおいて、時間候補の参照インデックスは、常に０に等しいように設定され、即ち、ｒｅｆＩｄｘＬＸが常に０に等しいことは、時間マージ候補が、常にリストＬＸの第１の参照ピクチャから来るということを意味する。
【００８１】
ｃｏｌＰＵの参照リストｌｉｓｔＣｏｌは、現在のピクチャｃｕｒｒＰｉｃの参照ピクチャのＰＯＣならびにコロケートされた参照ピクチャを包含するｃｕｒｒＰｉｃの参照リストｒｅｆＰｉｃＬｉｓｔＣｏｌに基づいて選択され、ｒｅｆＰｉｃＬｉｓｔＣｏｌは、シンタックス要素ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿１０＿ｆｌａｇを使用するスライスヘッダでシグナルされる。図１７は、ＨＥＶＣにおける選択のプロセスｌｉｓｔＣｏｌを示す。B. Bross, W-J. Han, G. J. Sullivan, J-R. Ohm, T. Wiegand, “High Efficiency Video Coding (HEVC) Text Specification Draft 10”, JCTVC-L1003, Jan. 2013を参照されたい。ステップ１７０４において、ｃｕｒｒＰｉｃの参照ピクチャリストのすべてのピクチャｐｉｃのＰＯＣがｃｕｒｒＰｉｃのＰＯＣより小さいまたは等しければ、ステップ１７１２において、ｌｉｓｔＣｏｌは、入力参照リストＬＸ（Ｘは０または１である）に等しいように設定される。別の状況では（ｃｕｒｒＰｉｃの少なくとも１つの参照ピクチャリストの少なくとも１つの参照ピクチャｐｉｃがｃｕｒｒＰｉｃのＰＯＣより大きいＰＯＣを有していれば）、ｌｉｓｔＣｏｌは、ステップ１７０６、１７０８、１７１０におけるｒｅｆＰｉｃＬｉｓｔＣｏｌの反対に等しいように設定される。
【００８２】
現在のＰＵの動きベクトルｃＭＶのリストｃＬｉｓｔ（ｃＭＶ）と参照ピクチャインデックスｃＩｄｘ（ｃＭＶ）を所与として、ＭＶ予測リストの構築プロセスは、以下のように要約される。
（１）左下隣のＰＵ Ａ０を検査する。Ａ０が中間ＰＵであり、およびリストｃＬｉｓｔ（ｃＭＶ）のＡ０のＭＶがｃＭＶと同じ参照ピクチャを参照するならば、そのＭＶを予測リストに付加し、そうでなければ、別のリストｏｐｐｏｓｉｔｅＬｉｓｔ（ｃＬｉｓｔ（ｃＭＶ））においてＡ０のＭＶを検査する。このＭＶがｃＭＶと同じ参照ピクチャを参照するならば、そのＭＶをリストに付加し、そうでなければＡ０は、失敗する。関数ｏｐｐｏｓｉｔｅＬｉｓｔ（ＬｉｓｔＸ）は、ＬｉｓｔＸの反対のリストを定義する：
【００８３】
【数８】
2017532885.tif 000010
【００８４】
（２）Ａ０が失敗すると、（１）と同じ方法でＡ１を検査する。
（３）ステップ（１）とステップ（２）の両方が失敗すると、Ａ０が中間ＰＵであり、およびリストｃＬｉｓｔ（ｃＭＶ）のそのＡ０の動きベクトルＭＶ＿Ａ０が短期ＭＶであり、かつｃＭＶも短期動きベクトルであれば、ＰＯＣ距離に従ってＭＶ＿Ａ０をスケールする：
【００８５】
【数９】
2017532885.tif 000011
【００８６】
スケールされた動きベクトルＭＶ＿Ｓｃａｌｅｄをリストに付加する。ＭＶ＿Ａ０とｃＭＶの両方が長期ＭＶであれば、スケーリングせずにＭＶ＿Ａ０をリストに付加し、そうでなければ、Ａ０の反対のリストｏｐｐｏｓｉｔｅＬｉｓｔ（ｃＬｉｓｔ（ｃＭＶ））の動きベクトルを同じ方法で検査する。
（４）ステップ（３）が失敗すると、ステップ（３）に記載の通りＡ１を検査し、そうでなければ、ステップ（５）に進む。
（５）これまでのところ、Ａ０またはＡ１から来るＭＶプレディクタは多くても１つである。Ａ０とＡ１の両方とも中間ＰＵでなければ、別のＭＶプレディクタを見つけるために（Ｂ０，Ｂ１）の順序で（１）（２）（３）（４）に記載したのと同じ方法でＢ０とＢ１を検査し、そうでなければ、（１）（２）に記載したのと同じ方法でＢ０とＢ１を検査する。
（６）もしあれば、反復したＭＶプレディクタをリストから除去する。
（７）リストが満杯でなければ、上記のＴＭＶＰによって作成されたｍｖＬＸを使用してリストを満杯にする。
（８）リストが満杯になるまでゼロ動きベクトルでリストを満杯にする。
【００８７】
ＳＣＭ暫定仕様において、ｉｎｔｒａＢＣは、付加的なＣＵ符号化モード（イントラブロックコピーモード）としてシグナルされ、そして復号化および非ブロック化のためのイントラモードとして処理される。R. Joshi, J. Xu, “HEVC Screen Content Coding Draft Text 1”, JCTVC-R1005, Jul. 2014, Sapporo, JP; R. Joshi, J. Xu, “HEVC Screen Content Coding Draft Text 2”, JCTVC-S1005, Oct. 2014, Strasbourg, FR (“Joshi 2014”)を参照されたい。ｉｎｔｒａＢＣマージモードもｉｎｔｒａＢＣスキップモードも存在しない。符号化効率を改善するために、イントラブロックコピーモードと中間モードを組み合わせることが提案されている。B. Li, J. Xu, “Non-SCCE1: Unification of intra BC and inter modes”, JCTVC-R0100, Jul. 2014, Sapporo, JP (hereinafter “Li2014”); X. Xu, S. Liu, S. Lei, “SCCE1 Test2.1: IntraBC coded as inter PU”, JCTVC-R0190, Jul. 2014, Sapporo, JP (hereinafter “Xu2014”) を参照されたい。
【００８８】
図１８は、階層符号化構造を使用する方法を示す。現在のピクチャは、Ｐｉｃ（ｔ）と示される。非ブロック化およびＳＡＯが適用される前の現在のピクチャのすでに復号化された部分は、Ｐｉｃ’（ｔ）と示される。標準の時間予測において、参照ピクチャｌｉｓｔ＿０は、時間参照ピクチャＰｉｃ（ｔ−１）およびＰｉｃ（ｔ−３）の順序から成り、参照ピクチャｌｉｓｔ＿１は、Ｐｉｃ（ｔ＋１）およびＰｉｃ（ｔ＋５）の順序から成る。Ｐｉｃ’（ｔ）は、１つの参照リスト（ｌｉｓｔ＿０）の最後に付加的に置かれ、長期ピクチャとしてマークされ、イントラブロックコピーモードの「疑似参照ピクチャ」として使用される。この疑似参照ピクチャＰｉｃ’（ｔ）は、ｉｎｔｒａＢＣコピー予測のみに使用され、動き補償には使用されない。ブロックベクトルと動きベクトルは、それぞれの参照ピクチャのｌｉｓｔ＿０動きフィールドに格納される。イントラブロックコピーモードは、予測ユニットレベル：ｉｎｔｒａＢＣ予測ユニットの参照インデックスを使用する中間モードと区別され、参照ピクチャは、最後の参照ピクチャ、即ち、ｌｉｓｔ＿０の最大ｒｅｆ＿ｉｄｘ値を有する参照ピクチャであり、この最後の参照ピクチャは、長期参照ピクチャとしてマークされる。この特別な参照ピクチャは、現在のピクチャのＰＯＣと同じピクチャ順序カウント（ＰＯＣ）を有し、対照的に、中間予測用のその他の正規の時間参照ピクチャのＰＯＣは、現在のピクチャのＰＯＣとは異なる。
【００８９】
（Ｌｉ  ２０１４）および（Ｘｕ  ２０１４）の方法において、ＩｎｔｒａＢＣモードと中間モードは、上記で説明したように、元々中間マージモードのＨＥＶＣで指定されたマージプロセスと同じである、同じマージプロセスを共有する。これらの方法を使用して、ＩｎｔｒａＢＣ ＰＵと中間ＰＵは、１つのＣＵ内で混合され、ＳＣＣの符号化効率を改善する。対照的に、現在のＳＣＣのテストモデルは、ＣＵレベルのＩｎｔｒａＢＣシグナリングを使用し、従ってＣＵがＩｎｔｒａＢＣと中間ＰＵの両方を同時に包含することを許可しない。
【００９０】
ＩｎｔｒａＢＣの別のフレームワーク設計は、（Ｌｉ  ２０１４）、（Ｎ１４１７５ ２０１４）、およびC. Pang, K. Rapaka, Y-K. Wang, V. Seregin, M. Karczewicz, “Non-CE2: Intra block copy with inter signaling”, JCTVC-S0113, Oct. 2014 (hereinafter “Pang Oct. 2014”) に記載されている。このフレームワークにおいて、ＩｎｔｒａＢＣモードは、中間モードシグナリングと統合される。特に、ループフィルタリング（非ブロック化およびＳＡＯ）が適用される前に現在のピクチャ（現在符号化されているピクチャ）の再構築された部分を格納するために疑似参照ピクチャが生成される。この疑似参照ピクチャはその後、現在のピクチャの参照ピクチャリストに挿入される。この疑似参照ピクチャがＰＵによって参照されると（即ち、そのＰＵの参照インデックスが疑似参照ピクチャの参照インデックスに等しい場合）、ｉｎｔｒａＢＣモードは、疑似参照ピクチャからブロックをコピーすることによって現在の予測ユニットの予測を形成することが可能になる。より多くのＣＵが現在のピクチャにおいて符号化されるので、ループフィルタリングする前のこれらのＣＵの再構築されたサンプル値は、疑似参照ピクチャの対応する領域に更新される。疑似参照ピクチャは、以下の差分を用いて、正規の任意の時間参照ピクチャとほとんど同じように処理される。
【００９１】
１、疑似参照ピクチャは、「長期」参照ピクチャとしてマークされるのに対し、多くの典型的な場合、時間参照ピクチャは、「短期」参照ピクチャである可能性が最も高い。
【００９２】
２、デフォルト参照ピクチャリストの構築において、疑似参照ピクチャは、ＰスライスであればＬ０に付加され、ＢスライスであればＬ０とＬ１の両方に付加される。デフォルトＬ０は、以下の順序に従って構築される：ＰＯＣ差分が増加する順序で現在のピクチャの時間的に前の（表示順の）参照ピクチャ、現在のピクチャの再構築された部分を表す疑似参照ピクチャ、ＰＯＣ差分が増加する順序で現在のピクチャの時間的に後の（表示順の）参照ピクチャ。デフォルトＬ１は、以下の順序に従って構築される：ＰＯＣ差分が増加する順序で現在のピクチャの時間的に後の（表示順の）参照ピクチャ、現在のピクチャの再構築された部分を表す疑似参照ピクチャ、ＰＯＣ差分が増加する順序で現在のピクチャの時間的に前の（表示順の）参照ピクチャ。
【００９３】
３、（Ｐａｎｇ Ｏｃｔ．２０１４）の設計において、疑似参照ピクチャは、時間動きベクトル予測（ＴＭＶＰ）用のコロケートされたピクチャとして使用されることを阻止する。
【００９４】
４、任意のランダムアクセスポイントにおいて、すべての時間参照ピクチャは、復号化ピクチャバッファ（ＤＰＢ）から消去される。しかし疑似参照ピクチャは、なおも存在する。
【００９５】
５、疑似参照ピクチャを参照するすべてのブロックベクトルは、それらがビットストリームの適合要件に従って（Ｐａｎｇ Ｏｃｔ．２０１４）において１／４ピクセル精度で格納されるが、整数ピクセル値のみを有することを強制される。
【００９６】
例示的なＩｎｔｒａＢＣと中間フレームワークとの統合において、デフォルトブロックベクトルを考慮することによって修正されたデフォルトゼロＭＶ導出が提案されている。まず、ｄＢＶＬｉｓｔと示した５つのデフォルトＢＶがあり、以下のように示す：
【００９７】
【数１０】
2017532885.tif 000012
【００９８】
ここにＣＵｗとＣＵｈは、ＣＵの幅と高さである。「マージステップ８」において、双予測モードを有するマージ候補のＭＶペアは、以下の方法で導出される：
【００９９】
【数１１】
2017532885.tif 000013
【０１００】
ここにｒｅｆ＿ｉｄｘ（ｉ）は、上記の「マージステップ８」に関して説明したように実装される。ｌｉｓｔ＿０のｒｅｆ＿ｉｄｘ（ｉ）に等しいインデックスを有する参照ピクチャが現在のピクチャであれば、ｍｖ０＿ｘとｍｖ０＿ｙは、デフォルトＢＶのうちの１つに設定される：
【０１０１】
【数１２】
2017532885.tif 000014
【０１０２】
ｄＢＶＩｄｘは、１増加する。そうでなければ、ｍｖ０＿ｘとｍｖ０＿ｙの両方は、ゼロに設定される。ｌｉｓｔ＿１のｒｅｆ＿ｉｄｘ（ｉ）に等しいインデックスを有する参照ピクチャが現在のピクチャであれば、ｍｖ１＿ｘとｍｖ１＿ｙは、デフォルトＢＶのうちの１つに設定される：
【０１０３】
【数１３】
2017532885.tif 000015
【０１０４】
ｄＢＶＩｄｘは、１増加する。そうでなければ、ｍｖ１＿ｘとｍｖ１＿ｙの両方は、ゼロに設定される。
【０１０５】
そのような実施形態において、ｉｎｔｒａＢＣ予測を示す特別なフラグ（ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ）は、ビットストリームにシグナルされず、代わりに、ｉｎｔｒａＢＣは、他の中間符号化されたＰＵと同じ方法で透過的にシグナルされる。さらに、（Ｐａｎｇ Ｏｃｔ．２０１４）の設計において、すべてのＩスライスは、それぞれが疑似参照ピクチャのみを包含する、１または２つの参照ピクチャリストを有するＰまたはＢスライスになる。
【０１０６】
（Ｌｉ  ２０１４）および（Ｐａｎｇ Ｏｃｔ．２０１４）のｉｎｔｒａＢＣ設計は、ＳＣＭ−２．０に比べて以下の理由によりスクリーンコンテンツの符号化効率を改善する。
【０１０７】
１、それらの設計によって中間マージプロセスが透過的な方法で適用されるようにできる。すべてのブロックベクトルが（疑似参照ピクチャであるそれらの参照ピクチャを用いて）動きベクトルのように処理されるで、上記で論じた中間マージプロセスを直接適用することができる。
【０１０８】
２、ブロックベクトルを整数ピクセルの精度で格納する（Ｌｉ  ２０１４）とは異なり、（Ｐａｎｇ Ｏｃｔ．２０１４）の設計は、ブロックベクトルを、正規の動きベクトルと同じ１／４ピクセル精度で格納する。これによって、非ブロック化する２つの隣接ブロックのうちの少なくとも１つがｉｎｔｒａＢＣ予測モードを使用する場合に、非ブロック化フィルタパラメータが正しく算出されることが可能になる。
【０１０９】
３、この新しいｉｎｔｒａＢＣフレームワークは、ｉｎｔｒａＢＣ予測が双予測方法を使用して別のｉｎｔｒａＢＣ予測または正規の動き補償された予測のいずれかと組み合わされることを可能にする。
【０１１０】
テキストおよびグラフィックなどの典型的なスクリーンコンテンツの空間変位は、フルピクセル精度である。B. Li, J. Xu, G. Sullivan, Y. Zhou, B. Lin, “Adaptive motion vector resolution for screen content”, JCTVC-S0085, Oct. 2014, Strasbourg, FRにおいて、１スライスの動きベクトルの分解能が整数または分数ピクセル（例えば、１／４ピクセル）精度であるかどうかを示す信号を付加することを提案している。これは、整数の動きを表すために使用される値が、１／４ピクセルの動きを表すために使用される値に比べて小さくなるので、動きベクトルの符号化効率を改善することができる。適応型動きベクトル分解法がＨＥＶＣ ＳＣＣ拡張の設計（Ｊｏｓｈｉ  ２０１４）に採用された。マルチパス符号化を使用して、現在のスライス／ピクチャに整数または１／４ピクセルのいずれかの動き分解能を使用するかを選択することができるが、複雑度は、かなり増加する。従って、エンコーダ側では、ＳＣＣ参照エンコーダ（Ｊｏｓｈｉ  ２０１４）は、ハッシュベースの整数動き探索を用いて動きベクトルの分解能を決定する。ピクチャの非重複８×８ブロックごとに、エンコーダは、ｌｉｓｔ＿０の第１の参照ピクチャのハッシュベースの探索を使用して一致するブロックを見つけることができるかどうかを検査する。エンコーダは、非重複ブロック（例えば、８×８）を４つのカテゴリ：完全に一致したブロック、ハッシュが一致したブロック、平滑ブロック、不一致ブロックに分類する。ブロックは、参照ピクチャの現在のブロックとそのコロケートされたブロックとの間のすべてのピクセル（３つの成分）が全く同じであれば、完全に一致したブロックとして分類される。別の状況では、エンコーダは、ハッシュベースの探索を通じて現在のブロックのハッシュ値と同じハッシュ値を有する参照ブロックがあるかどうかを検査する。ブロックは、ハッシュ値が一致したブロックが見つかれば、ハッシュが一致したブロックとして分類される。ブロックは、すべてのピクセルが水平方向または垂直方向のいずれかと同じ値を有すれば、平滑ブロックとして分類される。完全に一致したブロック、ハッシュが一致したブロック、平滑ブロックを全て含めた割合が第１の閾値（例えば、０．８）より大きく、かつすでに符号化されたいくつかのピクチャ（例えば、３２つの以前のピクチャ）の一致したブロックと平滑ブロックの割合の平均が第２の閾値（例えば、０．９５）より大きく、かつハッシュが一致したブロックの割合が第３の閾値より大きければ、整数動き分解能が選択され、そうでなければ１／４ピクセルの動き分解能が選択される。整数動き分解能を有することは、現在のピクチャの中に多数の完全に一致したまたはハッシュが一致したブロックがあることを意味する。これは、動き補償された予測がかなり良いことを示す。この情報は、以下の「ＢＶとＭＶを用いた双予測モードの双予測探索」という題の節で論じられる提案した双予測探索で使用される。
【０１１１】
（Ｌｉ  ２０１４）および（Ｘｕ  ２０１４）において提案されたｉｎｔｒａＢＣと中間モードとの統合方法にはいくつかの欠点がある。ＳＣＣの暫定仕様、R. Joshi, J. Xu, “HEVC Screen Content Coding Draft Text 1”, JCTVC-R1005, Jul. 2014, Sapporo, JPにおける既存のマージプロセスを使用して、コロケートされた参照ピクチャの時間コロケートされたブロックｃｏｌＰＵがｉｎｔｒａＢＣ符号化されると、そのブロックベクトルは、主に２つの理由によりマージモードの有効なマージ候補として使用されない可能性が最も高い。
【０１１２】
第一に、ブロックベクトルは、長期参照ピクチャとしてマークされる、特別な参照ピクチャを使用する。対照的に、ほとんどの時間動きベクトルは通常、短期参照ピクチャである正規の時間参照ピクチャを参照する。ブロックベクトル（長期）が正規の動きベクトル（短期）とは異なって分類されるので、既存のマージプロセスは、短期参照ピクチャからの動きを予測するために長期参照ピクチャからの動きを使用することを阻止する。
【０１１３】
第二に、既存の中間マージプロセスのみが、ＭＶ／ＢＶ候補がコロケートされたリスト（ｌｉｓｔ＿０またはｌｉｓｔ＿１）の第１の参照ピクチャの動きタイプと同じ動きタイプを有することを許可する。通常、ｌｉｓｔ＿０またはｌｉｓｔ＿１の第１の参照ピクチャが短期時間参照ピクチャである一方、ブロックベクトルは、長期動き情報として分類されるので、ＩｎｔｒａＢＣブロックベクトルは、大抵使用することができない。この共有マージプロセスの別の欠点は、一部のマージ候補がブロックベクトルである場合もあり、他のマージ候補が動きベクトルである場合もある、混合マージ候補のリストを時々作成することである。図２３Ａ−Ｂは、ＩｎｔｒａＢＣと中間候補とが混合される例を示す。空間隣接ブロックＣ０とＣ２は、ブロックベクトルを有するＩｎｔｒａＢＣ ＰＵである。ブロックＣ１とＣ３は、動きベクトルを有する中間ＰＵである。ＰＵ Ｃ４は、イントラまたはパレットブロックである。一般性を失うことなく、時間コロケートされたブロックＣ５は、中間ＰＵであると仮定する。既存のマージプロセスを使用して作成されるマージ候補リストは、Ｃ０（ＢＶ）、Ｃ１（ＭＶ）、Ｃ２（ＢＶ）、Ｃ３（ＭＶ）およびＣ５（ＭＶ）である。リストは、マージ候補の総数に対する制限のため、５つの候補までしか包含しない。この場合、現在のブロックが中間ブロックとして符号化されると、Ｃ０とＣ２からの２つの候補はブロックベクトルを表し、動きベクトルの意味のある予測を提供しないので、３つのみの中間候補（Ｃ１、Ｃ３およびＣ５）が中間マージに使用される可能性が高い。これは、５つのマージ候補のうち２つが実際には「無駄になる」ことを意味する。現在のＰＵがｉｎｔｒａＢＣ ＰＵであれば、Ｃ１、Ｃ３およびＣ５から現在のＰＵのブロックベクトル、動きベクトルを予測することが役立たない可能性が高いので、（マージ候補リストの一部のエントリを無駄にする）同じ問題も存在する。
【０１１４】
第三の問題は、非マージモードのブロックベクトル予測にある。（Ｌｉ  ２０１４）および（Ｘｕ  ２０１４）において提案された方法では、既存のＡＭＶＰ設計がＢＶ予測に使用される。現在のＰＵがＩｎｔｒａＢＣで符号化される場合、ＩｎｔｒａＢＣが１つの参照ピクチャを使用するだけで単予測を適用するので、そのブロックベクトルは常に、ｌｉｓｔ＿０のみから来る。従って、現在のＡＭＶＰ設計を使用して最大で１つのみのリスト（ｌｉｓｔ＿０）しかブロックベクトルプレディクタの導出に使用できない。比較すると、Ｂスライスの大多数の中間ＰＵは、２つのリスト（ｌｉｓｔ＿０とｌｉｓｔ＿１）から来る動きベクトルを用いて双予測される。従って、これらの正規の動きベクトルは、それらの動きベクトルプレディクタを導出するために２つのリスト（ｌｉｓｔ＿０とｌｉｓｔ＿１）を使用することができる。通常、各リスト（例えば、ＳＣＣ共通のテスト条件におけるランダムアクセスと低遅延の設定）に複数の参照ピクチャがある。ブロックベクトルプレディクタを導出する時に両方のリストからの参照ピクチャをより多く含めることによって、ＢＶ予測を改善することができる。
【０１１５】
（Ｌｉ  ２０１４）、（Ｐａｎｇ Ｏｃｔ．２０１４）によって提供されたＩｎｔｒａＢＣのフレームワークでは、中間マージプロセスが修正せずに適用される。しかしながら、中間マージを直接適用することは、符号化効率を低減する可能性がある以下の問題を有する。
【０１１６】
第一に、空間マージ候補を形成する場合、図２６のＡ０、Ａ１、Ｂ０、Ｂ１、Ｂ２とラベル付けされた隣接ブロックが使用される。しかしながら、これらの空間ネイバーのブロックベクトルの一部は、現在のＰＵの有効なブロックベクトル候補にならない場合がある。これは、疑似参照ピクチャが、符号化されて再構築されたＣＵの有効なサンプルのみを包含するためであり、隣接ブロックベクトルの一部は、まだ再構築されていない疑似参照ピクチャの一部を参照することを要求する場合もある。現在の中間マージ設計により、これらの無効なブロックベクトルがなおもマージ候補リストに挿入されることもあり、マージ候補リストに無駄な（無効な）エントリを入れることにつながる。
【０１１７】
第二に、ＨＥＶＣコーデックの動きベクトルは、それらが短期参照ピクチャまたは長期参照ピクチャを指し示すかどうかに応じて、短期ＭＶと長期ＭＶに分類される。ＨＥＶＣ設計の標準のＴＭＶＰプロセスにおいて、短期ＭＶを使用して長期ＭＶを予測することができないし、長期ＭＶを使用して短期ＭＶを予測することもできない。ＩｎｔｒａＢＣ予測に使用されるブロックベクトルでは、それらが長期とマークされた、疑似参照ピクチャを指し示すので、それらのブロックベクトルは、長期ＭＶと見なされる。しかし、既存のマージプロセスのＴＭＶＰプロセスを呼び出すと、Ｌ０またはＬ１のいずれの参照インデックスも常に、０に設定される（つまり、Ｌ０またはＬ１の第１のエントリ）。この第１のエントリが常に、典型的には短期参照ピクチャである、時間参照ピクチャに与えられるので、現在のマージプロセスは、コロケートされたＰＵからのブロックベクトルが有効な時間マージ候補と見なされることを阻止する（長期と短期との不一致のため）。従って、マージプロセス中に「現状維持(as is)」のＴＭＶＰプロセスを呼び出す場合、コロケートされたピクチャのコロケートされたブロックがＩｎｔｒａＢＣ予測されてＢＶを包含するならば、マージプロセスは、この時間プレディクタを無効と見なし、それを有効なマージ候補として付加しない。言い換えれば、ＴＢＶＰは、（Ｌｉ  ２０１４）、（Ｐａｎｇ Ｏｃｔ．２０１４）の設計では多くの典型的な構成設定に対して機能しない。
【０１１８】
本開示において、さまざまな実施形態が説明され、それらの一部は、上記に特定された１または複数の問題に対処し、そしてＩｎｔｒａＢＣと中間フレームワークとの統合により符号化効率を改善する。
【０１１９】
本開示の実施形態は、ＩｎｔｒａＢＣモードと中間モードを組み合わせ、さらにＩｎｔｒａＢＣマージと中間マージをＰＵレベルにおいて区別することができるように、マージモードと非マージモードの両方のＰＵレベルでフラグ（ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ）をシグナルする。
【０１２０】
本開示の実施形態を使用してそれらの２つの分離したプロセス：中間マージプロセスとＩｎｔｒａＢＣマージプロセスをそれぞれ最適化することができる。中間マージプロセスとＩｎｔｒａＢＣマージプロセスを互いに分離することによって、中間マージとＩｎｔｒａＢＣマージの両方のより多数の意味のある候補を維持することが可能である。いくつかの実施形態において、時間ＢＶ予測を使用してＢＶ符号化を改善する。いくつかの実施形態において、時間ＢＶを、ＩｎｔｒａＢＣマージ候補のうちの１つとして使用してＩｎｔｒａＢＣマージモードをさらに改善する。本開示のさまざまな実施形態は、（１）ＩｎｔｒａＢＣ ＢＶ予測の時間ブロックベクトル予測（ＴＢＶＰ）および／または（２）時間ブロックベクトル導出を用いたイントラブロックコピーマージモードを含む。
【０１２１】
時間ブロックベクトル予測（ＴＢＶＰ）
現在のＳＣＣ設計において、最大で２つのＢＶプレディクタがある。ＢＶプレディクタのリストは、空間プレディクタ、最後のプレディクタ、およびデフォルトプレディクタのリストから以下のように選択される。６つのＢＶ候補プレディクタを包含する順序付けられたリストは、以下のように形成される。リストは、２つの空間プレディクタ、２つの最後のプレディクタ、および２つのデフォルトプレディクタから成る。６つのＢＶのすべてが使用可能または有効とは限らないことに留意されたい。例えば、空間隣接ＰＵがＩｎｔｒａＢＣ符号化されてなければ、対応する空間プレディクタは、使用不可能または無効と見なされる。現在のＣＴＵの２未満のＰＵがＩｎｔｒａＢＣモードで符号化されたならば、１つまたは両方の最後のプレディクタは、使用不可能または無効になる。順序付けられたリストは、以下の通りである：（１）空間プレディクタＳＰａ。これは、図１９に示すように、左下隣のＰＵ Ａ１からの第１の空間プレディクタである。（２）空間プレディクタＳＰｂ。これは、図１９に示すように、右上隣のＰＵ Ｂ１からの第２の空間プレディクタである。（３）最後のプレディクタＬＰａ。これは、現在のＣＴＵの最後にＩｎｔｒａＢＣ符号化されたＰＵからのプレディクタである。（４）最後のプレディクタＬＰｂ。これは、現在のＣＴＵの先にＩｎｔｒａＢＣ符号化されたＰＵからの第２の最後のプレディクタである。使用可能かつ有効である場合、ＬＰｂは、ＬＰａとは異なる（これは、新しく符号化されたＢＶが既存の２つの最後のプレディクタとは異なることを検査することによって保証され、異なる場合のみ、最後のプレディクタとして付加される）。（５）デフォルトプレディクタＤＰａ。このプレディクタは、（−２*ｗｉｄｔｈＰＵ，０）に設定され、ここにｗｉｄｔｈＰＵは、現在のＰＵの幅である。（６）デフォルトプレディクタＤＰｂ。このプレディクタは、（−ｗｉｄｔｈＰＵ，０）に設定され、ここにｗｉｄｔｈＰＵは、現在のＰＵの幅である。ステップ１の順序付けられた候補リストは、最初の候補プレディクタから最後の候補プレディクタまで走査される。有効かつ一意のＢＶプレディクタは、最大で２つのＢＶプレディクタの最終リストに付加される。
【０１２２】
本明細書に開示される例示的な実施形態において、時間参照ピクチャからの付加的なＢＶプレディクタは、空間プレディクタＳＰａおよびＳＰｂの後ろであるが、最後のプレディクタＬＰａおよびＬＰｂの前の、上記のリストに付加される。図２０Ａと図２０Ｂは、ｃＢｌｏｃｋが検査されるブロックであり、ｒＢＶが帰還ブロックベクトルである、所与のブロックｃＢｌｏｃｋの時間ＢＶプレディクタ導出の使用を示す２つのフローチャートである。（０，０）のＢＶは、無効である。図２０Ａの実施形態は、１つのみのコロケートされた参照ピクチャを使用する一方、図２０Ｂは、最大で４つの参照ピクチャを使用する。図２０Ａの設計は、ＨＥＶＣのＴＭＶＰ導出の現在の要件に準拠し、ＨＥＶＣも１つのコロケートされた参照ピクチャのみを使用する。ＴＭＶＰのコロケートされたピクチャは、１つ目は参照ピクチャリストを示し、２つ目はコロケートされたピクチャの参照インデックスを示す（ステップ２００２）、２つのシンタックス要素を使用するスライスヘッダでシグナルされる。参照ピクチャのｃＢｌｏｃｋ（ｃｏｌｌｏｃａｔｅｄ＿ｐｉｃ＿ｌｉｓｔ，ｃｏｌｌｏｃａｔｅｄ＿ｐｉｃ＿ｉｄｘ）がＩｎｔｒａＢＣであれば（ステップ２００４）、帰還ブロックベクトルｒＢＶは、検査されたブロックｃＢｌｏｃｋのブロックベクトルであり（ステップ２００６）、そうでなければ、どの有効なブロックベクトルも返らない（ステップ２００８）。ＴＢＶＰでは、コロケートされたピクチャをＴＭＶＰのコロケートされたピクチャと同じにすることができる。この場合、ＴＢＶＰに使用されるコロケートされたピクチャを示す付加的なシグナリングは必要ない。ＴＢＶＰのコロケートされたピクチャはまた、ＴＭＶＰのコロケートされたピクチャとは異なるようにすることもできる。これによって、ＢＶ予測効率を考慮することによってＢＶ予測のコロケートされたピクチャを選択することができるので、より高いフレキシビリティが可能になる。この場合、ＴＢＶＰとＴＭＶＰのコロケートされたピクチャは、ＴＢＶＰに固有のスライスヘッダのシンタックス要素を付加することによって別個にシグナルされる。
【０１２３】
図２０Ｂの実施形態は、改善された性能を提供することができる。図２０Ｂの設計において、各リストの最初の２つの参照ピクチャ（合計４つ）は、以下のように検査される。ステップ２０２０において、スライスヘッダでシグナルされるコロケートされたピクチャ（そのリストをｃｏｌＰｉｃＬｉｓｔとして、そのインデックスをｃｏｌＰｉｃＩｄｘとして示す）が検査される。ステップ２０２２において、リストｏｐｐｏｓｉｔｅＬｉｓｔ（ｃｏｌＰｉｃＬｉｓｔ）の第１の参照ピクチャが検査される。ステップ２０２４において、コロケートされたピクチャがリストｃｏｌＰｉｃＬｉｓｔの第１の参照ピクチャであれば、リストｃｏｌＰｉｃＬｉｓｔの第２の参照ピクチャが検査され、そうでなければ、リストｃｏｌＰｉｃＬｉｓｔの第１の参照ピクチャが検査される。ステップ２０２６において、リストｏｐｐｏｓｉｔｅＬｉｓｔ（ｃｏｌＰｉｃＬｉｓｔ）の第２の参照ピクチャが検査される。
【０１２４】
図２１は、ＢＶ予測の時間ＢＶプレディクタを作成する例示的な方法を示す。参照ピクチャの２つのブロック位置は、以下のように検査される。ステップ２１０２において、コロケートされたブロック（参照ピクチャの対応するブロックの右下）が検査される。もう一方のコロケートされたブロック（参照ピクチャの対応するＰＵの中央ブロック）は、ステップ２１０４、２１０６を遂行することによって検査され、その後中央ブロックのステップ２１０２を反復する。一意のＢＶのみがＢＶプレディクタのリストに付加される。既存のＡＭＶＰ設計において、ＭＶプレディクタを導出するためにコロケートされたピクチャの２つのリスト（ｌｉｓｔ＿０とｌｉｓｔ＿１）に格納された動きベクトルの２つのセットが検査され、コロケートされたブロック（またはもう一方のコロケートされたブロック）の動きベクトルは、式（１）を使用してスケールされ、その後ＭＶプレディクタとして使用される。（Ｌｉ  ２０１４）、（Ｘｕ  ２０１４）に見られるように、この既存のＡＭＶＰ方法がＢＶ予測に直接使用されると、ＢＶが常に単予測であり、従ってコロケートされたピクチャの１つのみのリスト（ｌｉｓｔ＿０）がＢＶプレディクタ導出に使用される理由で、時間ＢＶプレディクタが見つからない機会が高くなる。図２０Ｂのより高度な設計は、ＴＢＶＰ導出のために複数の参照ピクチャを検査することによってこの問題に対処し、ＴＢＶＰに１つのみの参照ピクチャを使用することに比べ、図２０Ｂの設計は、より良い符号化効率を達成する。
【０１２５】
単一レイヤＨＥＶＣおよび現在のＳＣＣ拡張設計において、符号化された動きフィールドは、動きベクトルが４×４ブロックごとに異なるという点において非常に細かい粒度を有することができる。記憶域を節約するために、ＴＭＶＰに使用されるすべての参照ピクチャの動きフィールドが圧縮される。動き圧縮の後、より粗い粒度の動き情報が保存される。１６×１６ブロックごとに、（単予測または双予測などの予測モード、各リストの１または両方の参照インデックス、参照ごとの１または２つのＭＶを含む）動き情報の１つのみのセットが格納される。提案したＴＢＶＰでは、（ＢＶがｌｉｓｔ＿０など、１つのみのリストを使用して、常に単予測であることを除く）すべてのブロックベクトルを動きフィールドの一部として動きベクトルと一緒に格納することができる。そのような配置によってＴＢＶＰに使用されるブロックベクトルが正規の動きベクトルと一緒に自然に圧縮されることが可能になる。この配置は、動きベクトルの圧縮の配置と同じ圧縮方法を適用するので、ＭＶ圧縮中にＢＶ圧縮を透過的な方法で実施することができる。ＢＶ圧縮の他の方法がある。例えば、動き圧縮中に、１６×１６ブロック内のＢＶまたはＭＶを区別することができる。そして１６×１６ブロックのＢＶまたはＭＶが格納されるかどうかを以下のように判定することができる。第一に、ＢＶまたはＭＶが現在の１６×１６ブロックで優位であるかどうかが判定される。ＢＶの数がＭＶの数より多ければ、ＢＶが優位である。そうでなければ、ＭＶが優位である。ＢＶが優位であれば、その１６×１６ブロック内のすべてのＢＶの中位または平均を、その１６×１６ブロック全体を圧縮するＢＶとして使用することができる。別の状況では、ＭＶが優位であれば、既存の動き圧縮方法が適用される。
【０１２６】
ＴＢＶＰシステムの例示的な実施形態におけるＢＶプレディクタのリストは、空間プレディクタ、時間プレディクタ、最後のプレディクタ、およびデフォルトプレディクタのリストから以下のように選択される。最初に、７つのＢＶ候補プレディクタを包含する順序付けられたリストは、以下のように形成される。リストは、２つの空間プレディクタ、１つの時間プレディクタ、２つの最後のプレディクタ、および２つのデフォルトプレディクタから成る。（１）空間プレディクタＳＰａ。これは、図１９に示すように、左下隣のＰＵ Ａ１からの第１の空間プレディクタである。（２）空間プレディクタＳＰｂ。これは、図１９に示すように、右上隣のＰＵ Ｂ１からの第２の空間プレディクタである。（３）時間プレディクタＴＳａ。これは、ＴＢＶＰから導出された時間プレディクタである。（４）最後のプレディクタＬＰａ。これは、現在のＣＴＵの最後にＩｎｔｒａＢＣ符号化されたＰＵからのプレディクタである。（５）最後のプレディクタＬＰｂ。これは、現在のＣＴＵの先にＩｎｔｒａＢＣ符号化されたＰＵからの第２の最後のプレディクタである。使用可能かつ有効である場合、ＬＰｂは、ＬＰａとは異なる（これは、新しく符号化されたＢＶが既存の２つの最後のプレディクタとは異なることを検査することによって保証され、異なる場合のみ、最後のプレディクタとして付加される）。（６）デフォルトプレディクタＤＰａ。このプレディクタは、（−２*ｗｉｄｔｈＰＵ，０）に設定され、ここにｗｉｄｔｈＰＵは、現在のＰＵの幅である。（７）デフォルトプレディクタＤＰｂ。このプレディクタは、（−ｗｉｄｔｈＰＵ，０）に設定され、ここにｗｉｄｔｈＰＵは、現在のＰＵの幅である。７つのＢＶ候補プレディクタの順序付けられたリストは、最初の候補プレディクタから最後の候補プレディクタまで走査される。有効かつ一意のＢＶプレディクタは、最大で２つのＢＶプレディクタの最終リストに付加される。
【０１２７】
ＴＢＶＰを用いたイントラブロックコピーマージモード
ＩｎｔｒａＢＣおよび中間モードがＰＵレベルのｉｎｔｒａ＿ｂｃ＿ｆｌａｇによって区別される実施形態において、中間マージとＩｎｔｒａＢＣマージを別個に最適化することが可能である。中間マージプロセスでは、ＩｎｔｒａＢＣ、イントラ、またはパレットモードを使用して符号化されたすべての空間隣接ブロックおよび時間コロケートされたブロックが除外され、時間動きベクトルを有する中間モードを使用して符号化されたブロックのみが候補と見なされる。これは、中間マージの有益な候補の数を増加する。（Ｌｉ  ２０１４）、（Ｘｕ  ２０１４）で提案された方法において、時間コロケートされたブロックがＩｎｔｒａＢＣを使用して符号化されると、そのブロックベクトルは通常、ブロックベクトルが長期動きとして分類され、そしてｃｏｌＰｉｃＬｉｓｔの第１の参照ピクチャが通常、正規の短期参照ピクチャである理由により除外される。この方法は通常、時間コロケートされたブロックからのブロックベクトルが含まれることを阻止するが、この方法は、第１の参照ピクチャも偶然長期参照ピクチャになる場合に失敗する可能性がある。従って、本開示において、この問題に対処するために少なくとも３つの代替方法を提案する。
【０１２８】
第１の代替方法は、長期プロパティを検査する代わりにｉｎｔｒａ＿ｂｃ＿ｆｌａｇの値を検査することである。しかしながら、この第１の代替方法は、（すでに格納された動き情報に加えて）格納されるすべての参照ピクチャのｉｎｔｒａ＿ｂｃ＿ｆｌａｇの値を必要とする。付加的な格納要件を削減する１つの方法は、ＨＥＶＣに使用される動き圧縮と同じ方法でｉｎｔｒａ＿ｂｃ＿ｆｌａｇの値を圧縮することである。つまり、すべてのＰＵのｉｎｔｒａ＿ｂｃ＿ｆｌａｇを格納する代わりに、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇを１６×１６ブロックなど、より大きいブロックユニットに格納することができる。
【０１２９】
第２の代替方法において、参照インデックスが検査される。ＩｎｔｒａＢＣ ＰＵの参照インデックスは、（それがｌｉｓｔ＿０の最後に置かれた疑似参照ピクチャである理由により）ｌｉｓｔ＿０のサイズに等しいのに対し、ｌｉｓｔ＿０の中間ＰＵの参照インデックスは、ｌｉｓｔ＿０のサイズより小さい。
【０１３０】
第３の代替方法において、ＢＶによって参照される参照ピクチャのＰＯＣ値が検査される。ＢＶでは、参照ピクチャのＰＯＣは、コロケートされたピクチャ、つまり、ＢＶが所属するピクチャのＰＯＣに等しい。ＢＶフィールドがＭＶフィールドと同じ方法で圧縮されると、つまり、すべての参照ピクチャのＢＶが１６×１６ブロックユニットに格納されると、第２および第３の代替方法は、付加的な格納要件を被らない。提案した３つの代替方法のいずれかを使用して、ＢＶが中間マージ候補リストから除外されることを確実にすることが可能である。
【０１３１】
ＩｎｔｒａＢＣマージでは、それらのＩｎｔｒａＢＣブロックのみがＩｎｔｒａＢＣマージモードの候補と見なされる。時間コロケートされたブロックでは、ＢＶが単予測を使用する理由により、ｌｉｓｔ＿０などの１つのリストの動きフィールドのみが長期または短期かどうか検査される。図２４Ａ−図２４Ｂは、いくつかの実施形態に従って、提案したＩｎｔｒａＢＣマージプロセスを示すフローチャートを提供する。ステップ２４１０および２４１２は、時間コロケートされたブロックを考慮するように動作する。この実施形態において、３種類のＩｎｔｒａＢＣマージ候補があり、それらは、以下の順序で作成される。（１）空間隣接ブロックからのＢＶ（ステップ２４０２−２４０８）。（２）「時間ブロックベクトル予測（ＴＢＶＰ）」と題する節で論じたように、時間参照ピクチャからのＢＶ（ステップ２４１０−２４１２）。（３）それらの空間および時間ＢＶ候補を用いたブロックベクトル導出プロセスから導出されたＢＶ（ステップ２４１４−２４２０）。図２３Ａ−図２３Ｂは、ＩｎｔｒａＢＣマージ候補の作成で使用される、空間ブロック（Ｃ０−Ｃ４）、およびＴＢＶＰが１つのみの参照ピクチャを使用する場合の１つの時間ブロック（Ｃ５）（図２３Ａ）、またはＴＢＶＰが４つの参照ピクチャを使用する場合の４つの時間ブロック（Ｃ５−Ｃ８）（図２３Ｂ）を示す。動き補償に使用される参照ピクチャとは異なり、イントラブロックコピー予測の参照ピクチャは、図１８に示すように、部分的に再構築されたピクチャである。従って、例示的な実施形態において、ＢＶマージ候補が有効か否かを決定する時に新しい条件が付加され、具体的には、ＢＶ候補が現在のスライスの外側の任意の参照ピクセルまたはまだ復号化されていない任意の参照ピクセルを使用すれば、このＢＶ候補は、現在のＰＵに対して無効と見なされる。要約すれば、ＩｎｔｒａＢＣマージ候補リストは、以下のように（図２４Ａ−図２４Ｂで示すように）作成される。
【０１３２】
ステップ２４０２−ステップ２４０４において、隣接ブロックを検査する。具体的には、左隣のブロックＣ０を検査する。Ｃ０がＩｎｔｒａＢＣモードであり、そのＢＶが現在のＰＵに対して有効であれば、Ｃ０をリストに付加する。上隣のブロックＣ１を検査する。Ｃ１がＩｎｔｒａＢＣモードであり、そのＢＶが現在のＰＵに対して有効でありリストの既存の候補と比較して一意であれば、Ｃ１をリストに付加する。右上隣のブロックＣ２を検査する。Ｃ２がＩｎｔｒａＢＣモードであり、そのＢＶが有効かつ一意であれば、Ｃ２をリストに付加する。左下隣のブロックＣ３を検査する。Ｃ３がＩｎｔｒａＢＣモードであり、そのＢＶが有効かつ一意であれば、Ｃ３をリストに付加する。
【０１３３】
ステップ２４０６においてリストに少なくとも２つの空エントリがあると判定されると、ステップ２４０８において左上隣のブロックＣ４を検査する。Ｃ４がＩｎｔｒａＢＣモードであり、そのＢＶが有効かつ一意であれば、Ｃ４をリストに付加する。ステップ２４１０においてリストが満杯でなく、現在のスライスが中間スライスであると判定されると、ステップ２４１２において、上記のＴＢＶＰ方法を用いてＢＶプレディクタを検査する。プロセスの例を図２５に示す。ステップ２４１４においてリストが満杯でないと判定されると、リストは、以前のステップからの空間および時間ＢＶ候補を使用したブロックベクトル導出方法を使用するステップ２４１６−ステップ１４２０によって満杯になる。
【０１３４】
ステップ２４１６のフローチャートを図２５に示す。ステップ２５０２−ステップ２５０４において、（図２３Ａの単純な設計が使用される場合）コロケートされた参照ピクチャのコロケートされたブロックが検査されるか、または（図２３Ｂのより高度な設計が使用される場合）４つの参照ピクチャ（各リストに２つ）が順序付けられているかが検査される。プロセスが１つの有効なＢＶ候補を取得し、この候補がリストのすべての既存のマージ候補とは異なる（ステップ２５０４）場合、候補は、リストに付加され（ステップ２５１０）、そしてプロセスが停止する。そうでなければ、プロセスは、ステップ２５０６、２５０８、および２５０４を使用する同じ方法で代替のコロケートされたブロック（時間参照ピクチャの対応するＰＵの中央のブロック位置）を継続して検査する。
【０１３５】
ＩｎｔｒａＢＣスキップモード
スキップモードによってＩｎｔｒａＢＣ ＣＵを中間モードとして符号化することができる。ＩｎｔｒａＢＣスキップモードを使用して符号化されるＣＵでは、ＣＵのパーティションサイズは、２Ｎ×２Ｎであり、量子化されたすべての係数は、ゼロである。従って、ＩｎｔｒａＢＣスキップのＣＵレベルの表示の後、（変換ユニットのルートのパーティションサイズおよびそれらの符号化されたブロックフラグなどの）他の情報は、ＣＵの符号化に必要ない。これは、シグナリングに関して非常に効率的である。提案したＩｎｔｒａＢＣスキップモードがイントラスライスの符号化効率を改善するシミュレーションを示す。しかしながら、既存の中間スキップモードと区別するために中間スライス（Ｐ＿ＳＬＩＣＥまたはＢ＿ＳＬＩＣＥ）、付加的なｉｎｔｒａ＿ｂｅ＿ｓｋｉｐ＿ｆｌａｇが付加される。この付加的なフラグは、既存の中間スキップモードのオーバーヘッドをもたらす。中間スライスにおいて、既存のスキップモードは、特に量子化パラメータが大きい場合、多数のＣＵに頻繁に使用されるモードである理由で、中間スキップモードシグナリングのオーバーヘッドを増加させることは、中間スキップモードの効率に悪影響を及ぼす可能性があるので望ましくない。従って、いくつかの実施形態において、ＩｎｔｒａＢＣスキップモードは、イントラスライスのみで使用可能であり、ＩｎｔｒａＢＣスキップモードは、中間スライスでは許可されない。
【０１３６】
符号化のシンタックスおよびセマンティクス
本開示で提案されるＩｎｔｒａＢＣシグナリング方式の例示的なシンタックス変更を、R. Joshi, J. Xu, “HEVC Screen Content Coding Draft Text 1”, JCTVC-R1005, Jul. 2014, Sapporo, JPにおいて提案されたＳＣＣ暫定仕様の変更と関連して説明することができる。本開示で提案されるＩｎｔｒａＢＣシグナリング方式のシンタックス変更は、別表Ａに掲載している。本開示の実施形態で用いられる変更は、削除のための二重取り消し線、追加のための下線を使用して説明される。（Ｌｉ  ２０１４）および（Ｘｕ  ２０１４）の方法と比較して、シンタックス要素ｉｎｔｒａ＿ｂｃ＿ｆｌａｇは、ＰＵレベルのシンタックス要素ｍｅｒｇｅ＿ｆｌａｇの前に置かれることに留意されたい。これによって、すでに論じたように、ＩｎｔｒａＢＣマージプロセスと中間マージプロセスとの分離を可能にすることができる。
【０１３７】
例示的な実施形態において、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘ０］［ｙ０］が１に等しいことは、現在の予測ユニットがイントラブロックコピーモードで符号化されることを指定する。ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘ０］［ｙ０］が０に等しいことは、現在の予測ユニットが中間モードで符号化されることを指定する。介在しない場合、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇの値は、以下のように推論される。現在のスライスがイントラスライスであり、および現在の符号化ユニットがスキップモードで符号化されると、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇの値は、１に等しいと推論される。そうでなければ、ｉｎｔｒａ＿ｂｃ＿ｆｌａｇ［ｘ０］［ｙ０］は、０に等しいと推論される。配列インデックスｘ０とｙ０は、ピクチャの左上の輝度サンプルに対して考慮された符号化ブロックの左上の輝度サンプルのロケーション（ｘ０、ｙ０）を指定する。
【０１３８】
ＩｎｔｒａＢＣと中間フレームワークとを統合するマージプロセス
すでに論じたように、既存のＨＥＶＣの中間マージプロセスを使用して問題に対処するために、既存のマージプロセスに対する以下の変更をいくつかの実施形態において用いる。
【０１３９】
第一に、空間ネイバーがブロックベクトルを包含していれば、ブロックベクトルが空間マージ候補リストに付加される前に、ブロックベクトル有効化ステップが適用される。ブロックベクトル有効化ステップは、現在のＰＵを予測するためにブロックベクトルが適用されるかどうか、符号化順序のために疑似参照ピクチャのまだ再構築されていない（従って、まだ使用可能でない）参照サンプルを必要とするかどうかを検査する。さらに、ブロックベクトル有効化ステップは、ブロックベクトルが現在のスライス境界の外側の参照ピクセルを必要とするかも検査する。２つの場合のいずれかが是であれば、ブロックベクトルは、無効であると判定され、マージ候補リストに付加されない。
【０１４０】
第二の問題は、コロケートされたピクチャのコロケートされたブロックがブロックベクトルを包含していれば、そのブロックベクトルは典型的には、すでに論じたように「長期」と「短期」との不一致のため、有効な時間マージ候補と見なされない、現在の設計の「停滞している(broken)」ＴＢＶＰプロセスに関する。この問題に対処するために、本開示の実施形態において、（マージステップ１）から（マージステップ８）において説明した付加的なステップが中間マージプロセスに付加される。具体的には、付加的なステップは、０の固定値（それぞれの参照ピクチャリストの第１のエントリ）を有する固定された参照インデックスを使用する代わりに、疑似参照ピクチャのＬ０またはＬ１の参照インデックスを使用してＴＭＶＰプロセスを呼び出す。この付加的なステップは、長期参照ピクチャ（つまり、疑似参照ピクチャ）をＴＭＶＰプロセスに提供するので、コロケートされたＰＵが長期ＭＶと見なされているブロックベクトルを包含すると、不一致は起こらず、そしてコロケートされたＰＵからのブロックベクトルはこれより、有効な時間マージ候補と見なされる。この付加的なステップを（マージステップ６）の前または後に即座に置くことができるか、またはマージステップのその他の位置に置くことができる。この付加的なステップがマージステップに置かれる場所は、現在符号化されているピクチャのスライスタイプに応じて異なることもある。本開示の別の実施形態において、疑似参照ピクチャの参照インデックスを使用してＴＭＶＰプロセスを呼び出すこの新しいステップは、固定値０の参照インデックスを使用する既存のＴＭＶＰステップと置き換えることができ、つまり、現在の（マージステップ６）に置き換えることができる。
【０１４１】
導出されたブロックベクトル
現在開示されているシステムおよび方法の実施形態は、イントラブロックコピーの符号化効率を改善するためにブロックベクトル導出を使用する。ブロックベクトル導出は、２０１４年６月１９日に出願された米国特許仮出願第６２／０１４，６６４号明細書および２０１５年６月１８日に出願された米国特許出願第１４／７４３，６５７号明細書でさらに詳細に説明されている。これらの出願内容のすべては、参照により本明細書に組み込まれる。
【０１４２】
本開示で論じられる変形形態は特に（ｉ）イントラブロックコピーマージモードのブロックベクトル導出と（ｉｉ）２つのブロックベクトルモードを用いるイントラブロックコピーのブロックベクトル導出である。
【０１４３】
参照ブロックの符号化タイプに応じて、導出されるブロックベクトルまたは動きベクトルを異なる方法で使用することができる。１つの方法は、導出されたＢＶをＩｎｔｒａＢＣマージモードのマージ候補として使用することである。もう１つの方法は、導出されたＢＶ／ＭＶを標準のＩｎｔｒａＢＣ予測に使用することである。
【０１４４】
図２７は、ブロックベクトル導出の例を示す図である。ブロックベクトルを所与として、所与のＢＶによって指し示される参照ピクチャがＩｎｔｒａＢＣ符号化されたブロックであれば、第２のブロックベクトルが導出される。導出されたブロックベクトルは、式（５）で算出される。図２７の２７００において、この種のブロックベクトル導出を概ね示す。
【０１４５】
【数１４】
2017532885.tif 000016
【０１４６】
図２８は、例示的な動きベクトル導出を示す図である。所与のＢＶによって指し示されるブロックが中間符号化されたブロックであれば、ＭＶが導出される。図２８の２８００において、ＭＶ導出の例を概ね示す。図２８のブロックＢ１が単予測モードであれば、ブロックＢ０の整数ピクセルの導出された動きＭＶｄは、以下の通りである。
【０１４７】
【数１５】
2017532885.tif 000017
【０１４８】
そして参照ピクチャは、Ｂ１の参照ピクチャと同じである。ＨＥＶＣにおいて、標準の動きベクトルは、１／４ピクセル精度であり、ブロックベクトルは、整数精度である。導出された動きベクトルの整数ピクセル動きは、ここでは例として使用される。ブロックＢ１が双予測モードであれば、動きベクトル導出を遂行する少なくとも２つの方法がある。１つは、２つの動きベクトルと参照インデックスを上記の単予測モードと同じ方法で導出することである。もう１つは、より小さい量子化パラメータ（高品質）を用いて参照ピクチャから動きベクトルを選択することである。両方の参照ピクチャが同じ量子化パラメータを有すると、動きベクトルは、ピクチャ順序カウント（ＰＯＣ）の距離でより近い参照ピクチャから選択される。
【０１４９】
マージ候補リストの導出されたブロックベクトルの組み込み
導出されたブロックを中間マージプロセスのマージ候補リストの中に含めるために、少なくとも２つの方法を用いることができる。第１の方法において、付加的なステップは、（マージステップ１）から（マージステップ８）までの中間マージプロセスに付加される。空間候補および時間候補が導出された後、つまり、（マージステップ６）の後、マージ候補リストのそれぞれ候補に対し、候補ベクトルがブロックベクトルまたは動きベクトルかどうかが決定される。この決定は、この候補ベクトルによって参照された参照ピクチャが疑似参照ピクチャであるかどうかを確認する検査によって行われる。候補ベクトルがブロックベクトルであれば、ブロックベクトル導出プロセスを呼び出して導出されたブロックベクトルを取得する。その後、導出されたブロックベクトルは、一意かつ有効であれば、別のマージ候補としてマージ候補リストに付加される。
【０１５０】
第２の実施形態において、既存のＴＭＶＰプロセスを使用することによって、導出されたブロックベクトルを付加することができる。既存のＴＭＶＰプロセスにおいて、図１５に示すように、コロケートされたピクチャのコロケートされたＰＵは、符号化される現在のピクチャの現在のＰＵの同じ位置に空間的に配置され、そしてコロケートされたピクチャは、スライスヘッダのシンタックス要素によって特定される。導出されたブロックベクトルを取得するために、コロケートされたピクチャを（（Ｐａｎｇ Ｏｃｔ．２０１４）の設計において現在禁止されている）疑似参照ピクチャに設定することができ、コロケートされたＰＵを既存の候補ベクトルによって指し示されるＰＵに設定することができ、そして参照インデックスを疑似参照ピクチャのインデックスに設定することができる。既存の候補ベクトルを（ＢＶＣｘ，ＢＶＣｙ）（これは、空間候補または時間候補のうちの１になり得る）と示し、そして現在のＰＵのブロック位置を（ＰＵｘ，ＰＵｙ）と示すと、コロケートされたＰＵは、（ＰＵｘ＋ＢＶＣｘ，ＰＵｙ＋ＢＶＣｙ）において設定される。その後、これらの設定を用いてＴＭＶＰプロセスを呼び出すことによって、ＴＭＶＰプロセスは、（もしあれば）コロケートされたＰＵのブロックベクトルを返す。この帰還ブロックベクトルを（ＢＶｃｏｌＰＵｘ，ＢＶｃｏｌＰＵｙ）と示す。導出されたブロックベクトルは、
（ＢＶＤｘ，ＢＶＤｙ）＝（ＢＶＣｘ＋ＢＶｃｏｌＰＵｘ，ＢＶＣｙ＋ＢＶｃｏｌＰＵｙ）
と算出される。この導出されたブロックベクトルは、一意かつ有効であれば、新しいマージ候補としてリストに付加される。導出されたブロックベクトルを、それぞれの既存の候補ベクトルを使用して算出することができ、そしてすべての一意かつ有効な導出されたブロックベクトルをマージ候補リストが満杯にならない限り、マージ候補リストに付加することができる。
【０１５１】
付加的なマージ候補
符号化効率をさらに改善するために、マージ候補リストが満杯でなければ、より多くのブロックベクトルのマージ候補が付加される。X. Xu, T.-D. Chuang, S. Liu, S. Lei, “Non-CE2: Intra BC merge mode with default candidates”, JCTVC-S0123, Oct. 2014において、ＣＵブロックサイズに基づいて算出されたデフォルトブロックベクトルは、マージ候補リストに付加される。この開示において、同様のデフォルトブロックベクトルが付加される。これらのデフォルトブロックベクトルを、ＣＵブロックサイズよりはむしろ、ＰＵブロックサイズに基づいて計算することができる。さらに、これらのデフォルトブロックベクトルは、ＰＵブロックサイズの関数だけでなく、ＣＵのＰＵロケーションの関数としても計算される。例えば、現在の符号化ユニットの左上の位置に対する現在のＰＵのブロック位置を（ＰＵｘ，ＰＵｙ）と示す。現在のＰＵの幅と高さを（ＰＵｗ，ＰＵｈ）と示す。デフォルトブロックベクトルを以下のように順序付けて算出することができる：（−ＰＵｘ，−ＰＵｗ，０）、（−ＰＵｘ，−２*ＰＵｗ，０）、（−ＰＵｙ，−ＰＵｈ，０）、（−ＰＵｙ，−２*ＰＵｈ，０）、（−ＰＵｘ，−ＰＵｗ，−ＰＵｙ，−ＰＵｈ）。これらのデフォルトブロックベクトルを（マージステップ８）のゼロ動きベクトルの前または後に即座に付加することができるか、またはゼロ動きベクトルと一緒にインターリーブすることができる。さらに、現在のピクチャのスライスタイプに応じて、これらのデフォルトブロックベクトルをマージ候補リストの異なる位置に置くことができる。
【０１５２】
一実施形態において、（新しいマージステップ）とマークされた以下のステップを使用してより完全で効率的なマージ候補リストを導出することができる。「中間ＰＵ」のみが以下に述べられているが、「中間ＰＵ」は、（Ｌｉ  ２０１４）、（Ｐａｎｇ Ｏｃｔ．２０１４）において統合されたフレームワークに従った「ＩｎｔｒａＢＣ ＰＵ」を含むことに留意されたい。
（新しいマージステップ１）左隣のＰＵ Ａ１を検査する。Ａ１が中間ＰＵであれば、およびそのＭＶ／ＢＶが有効であれば、そのＭＶ／ＢＶを候補リストに付加する。
（新しいマージステップ２）上隣のＰＵ Ｂ１を検査する。Ｂ１が中間ＰＵでありそのＭＶ／ＢＶが一意かつ有効であれば、そのＭＶ／ＢＶを候補リストに付加する。
（新しいマージステップ３）右上隣のＰＵ Ｂ０を検査する。Ｂ０が中間ＰＵでありそのＭＶ／ＢＶが一意かつ有効であれば、そのＭＶ／ＢＶを候補リストに付加する。
（新しいマージステップ４）左下隣のＰＵ Ａ０を検査する。Ａ０が中間ＰＵでありそのＭＶ／ＢＶが一意かつ有効であれば、そのＭＶ／ＢＶを候補リストに付加する。
（新しいマージステップ５）候補の数が４より少なければ、左上隣のＰＵ Ｂ２を検査する。Ｂ２が中間ＰＵでありそのＭＶ／ＢＶが一意かつ有効であれば、そのＭＶ／ＢＶを候補リストに付加する。
（新しいマージステップ６）０に設定された参照インデックス、スライスヘッダで指定されたようにコロケートされたピクチャ、および図１５に示したようなコロケートされたＰＵを有するＴＭＶＰプロセスを呼び出して、時間ＭＶプレディクタを取得する。時間ＭＶプレディクタが一意であれば、それを候補リストに付加する。
（新しいマージステップ７）疑似参照ピクチャの参照インデックスに設定された参照インデックスを有するＴＭＶＰプロセス、スライスヘッダで指定されたようにコロケートされたピクチャ、および図１５に示したようなコロケートされたＰＵを呼び出して、時間ＢＶプレディクタを取得する。時間ＢＶプレディクタが一意かつ有効であれば、および候補リストが満杯でなければ、それを候補リストに付加する。
（新しいマージステップ８）マージ候補リストが満杯でなければ、（新しいマージステップ１）から（新しいマージステップ７）までに取得されたブロックベクトルである、それぞれの候補ベクトルに対し、上記の２つの方法のいずれかを使用してブロックベクトル導出プロセスを適用する。導出されたベクトルが有効かつ一意であれば、それを候補リストに付加する。
（新しいマージステップ９）マージ候補リストが満杯でなければ、および現在のスライスがＢスライスであれば、（新しいマージステップ１）から（新しいマージステップ８）までのステップ中に現在のマージリストに付加されたさまざまなマージ候補の組み合わせが検査されてマージ候補リストに付加される。
（新しいマージステップ１０）マージ候補リストが満杯でなければ、デフォルトブロックベクトルおよび異なる参照ピクチャの組み合わせを有するゼロ動きベクトルが、リストが満杯になるまで、インターリーブされた方法で候補リストに付加される。
【０１５３】
いくつかの実施形態において、Ｂスライスのステップ「新しいマージステップ１０」を以下の方法で実装することができる。第一に、以前に定義された５つのデフォルトブロックベクトルの有効化が検査される。ＢＶが再構築されていないサンプル、またはスライス境界の外側のサンプル、または現在のＣＵのサンプルに対する任意の参照を行うと、ＢＶは、無効なＢＶとして処理される。ＢＶが有効であれば、リストｖａｌｉｄＤＢＶＬｉｓｔに付加され、ｖａｌｉｄＤＢＶＬｉｓｔのサイズは、ｖａｌｉｄＤＢＶＬｉｓｔＳｉｚｅと示される。第二に、双予測モードを有するマージ候補の以下のＭＶペアは、マージ候補リストが満杯になるまでそれらの共有インデックスの順序で付加される：
【０１５４】
【数１６】
2017532885.tif 000018
【０１５５】
ｌｉｓｔ＿０のｉ番目の参照ピクチャが現在のピクチャであれば、ｍｖ０＿ｘとｍｖ０＿ｙは、デフォルトＢＶのうちの１つとして設定される：
【０１５６】
【数１７】
2017532885.tif 000019
【０１５７】
ｄＢＶｉｄｘは、「新しいマージステップ１０」の開始時にゼロに設定される。さもなければ、ｍｖ０＿ｘとｍｖ０＿ｙの両方は、ゼロに設定される。ｌｉｓｔ＿１のｉ番目の参照ピクチャが現在のピクチャであれば、ｍｖ１＿ｘとｍｖ１＿ｙは、デフォルトＢＶのうちの１つとして設定される：
【０１５８】
【数１８】
2017532885.tif 000020
【０１５９】
そうでなければ、ｍｖ１＿ｘとｍｖ１＿ｙの両方は、ゼロに設定される。
【０１６０】
マージ候補リストがまだ満杯でなければ、より大きいサイズを有するリストの残りの参照ピクチャの中に現在のピクチャがあるかどうかの決定が行われる。現在のピクチャが見つかると、以下のデフォルトＢＶは、マージ候補リストが満杯になるまで単予測モードのマージ候補として順に付加される：
【０１６１】
【数１９】
2017532885.tif 000021
【０１６２】
現在のピクチャが見つからなければ、以下のＭＶは、マージ候補リストが満杯になるまで反復的に付加される：
【０１６３】
【数２０】
2017532885.tif 000022
【０１６４】
ここにｍｖ０＿ｘ、ｍｖ０＿ｙ、ｍｖ１＿ｘおよびｍｖ１＿ｙは、上記の方法で導出される。
【０１６５】
本明細書で説明するいくつかの実施形態は、（Ｊｏｓｈｉ  ２０１４）の暫定仕様“Ｄｅｒｉｖａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｚｅｒｏ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｍｅｒｇｉｎｇ  ｃａｎｄｉｄａｔｅｓ”）のセクション８．５．３．２．５の改訂を使用して実装することができる。暫定仕様の提案した改訂は、本開示の別表Ｂにおいて特定の改訂を太字で示し、削除を二重取り消し線で示して記載している。
【０１６６】
ＩＢＣと中間フレームワークとを統合した現在の設計において、現在のピクチャは、標準の長期参照ピクチャとして処理される。現在のピクチャがＬｉｓｔ＿０またはＬｉｓｔ＿１に置かれるかどうか、または現在のピクチャが（ＢＶとＭＶの双予測およびＢＶとＢＶの双予測を含む）双予測に使用され場合があるかどうかについての付加的な制限は、課されない。このフレキシビリティは、上記のマージプロセスが参照ピクチャリストおよび現在のピクチャを表す参照インデックスを探索しなければならないこともあり、マージプロセスを複雑にする理由で望ましくない。さらに、現在の設計に見られるように、現在のピクチャがｌｉｓｔ＿０とｌｉｓｔ＿１の両方に出現することが許可されると、ＢＶとＢＶの組み合わせを使用する双予測が許可される。これは、動き補償プロセスの複雑度を増加させるだけでなく、性能利点を減らす。従って、参照ピクチャリストの現在のピクチャの配置にある制約を課すことが望ましい。さまざまな実施形態において、以下の制約およびそれらの組み合わせのうちの１または複数を課すことができる。第１の制約において、現在のピクチャを１つのみの参照ピクチャリスト（例えば、Ｌｉｓｔ＿０）に置くことは許可されるが、両方の参照ピクチャリストに置くことは許可されない。この制約は、ＢＶとＢＶの双予測は許可しない。第２の制約において、現在のピクチャを参照ピクチャリストの最後に置くことのみが許可される。このように、現在のピクチャの配置が知られているので、上記のマージプロセスを簡易化することができる。
【０１６７】
参照ピクチャリストを構築するための復号化プロセス
現在の設計において、参照ピクチャリストを構築するプロセスは、各ＰまたはＢスライスの復号化プロセスの開始時に呼び出される。参照ピクチャは、８．５．３．３．２項で指定されたように参照インデックスを介して対処される。参照インデックスは、参照ピクチャリストに入るインデックスである。Ｐスライスを復号化する場合、単一の参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０が存在する。Ｂスライスを復号化する場合、ＲｅｆＰｉｃＬｉｓｔ０に加えて、第２の独立した参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ１が存在する。
【０１６８】
各スライスの復号化プロセスの開始時に、参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０および、ＢスライスではＲｅｆＰｉｃＬｉｓｔ１が以下のように導出される。変数ＮｕｍＲｐｓＣｕｒｒＴｅｍｐＬｉｓｔ０は、Ｍａｘ（ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿１０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１，ＮｕｍＰｉｃＴｏｔａｌＣｕｒｒ）に等しいように設定され、そしてリストＲｅｆＰｉｃＬｉｓｔＴｅｍｐ０は、表１に示すように構築される。
【０１６９】
【表１】
2017532885.tif 000023
【０１７０】
リストＲｅｆＰｉｃＬｉｓｔ０は、表２に示すように構築される。
【０１７１】
【表２】
2017532885.tif 000024
【０１７２】
スライスがＢスライスである場合、変数ＮｕｍＲｐｓＣｕｒｒＴｅｍｐＬｉｓｔ１は、Ｍａｘ（ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿１１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１，ＮｕｍＰｉｃＴｏｔａｌＣｕｒｒ）に等しいように設定され、そしてリストＲｅｆＰｉｃＬｉｓｔＴｅｍｐ１は、表３に示すように構築される。
【０１７３】
【表３】
2017532885.tif 000025
【０１７４】
スライスがＢスライスである場合、リストＲｅｆＰｉｃＬｉｓｔ１は、表４に示すように構築される。
【０１７５】
2017532885.tif 000026
【０１７６】
右側の列のダガー（†）でマークされた現在の設計の行が示すように、現在のピクチャは、最終リストが構築される前に参照ピクチャリストの修正プロセス（ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿１０／１１の値に応じて異なる）に従うことができる１または複数の時間参照ピクチャリストに置かれる。現在のピクチャを常に参照ピクチャリストの最後に置くことを可能にするために、最終の参照ピクチャリスト（複数）の最後に直接付加して時間参照ピクチャリスト（複数）に挿入するように、現在の設計が修正される。
【０１７７】
さらに、現在の設計において、フラグｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇがシーケンスパラメータセットレベルでシグナルされる。これは、フラグが１に設定されると、現在のピクチャは、ビデオシーケンスのピクチャのすべての時間参照ピクチャリスト（複数）に挿入されることを意味する。これは、個々のピクチャが参照ピクチャとして現在のピクチャを使用するかどうかを選択するのに十分なフレキシビリティを提供することができない。従って、本開示の一実施形態において、現在のスライスを符号化するために現在のピクチャを使用するかどうかを示すスライスレベルのシグナリング（例えば、スライスレベルのフラグ）が付加される。その後、このスライスレベルのフラグは、ＳＰＳレベルのフラグ（ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）の代わりに、ダガー（†）でマークされた行の条件に使用される。ピクチャが複数のスライスで符号化されると、提案したスライスレベルのフラグの値は、同じピクチャに対応するすべてのスライスに対して同じになるように強制される。
【０１７８】
ＩｎｔｒａＢＣと中間フレームワークとの統合に対する複雑度の制限
すでに論じたように、ＩｎｔｒａＢＣと中間フレームワークとの統合において、ブロックベクトルに基づく少なくとも１つの予測を使用して双予測モードを適用することが許可される。つまり、動きベクトルのみに基づく従来の双予測に加えて、統合されたフレームワークもまた、ブロックベクトルに基づく１つの予測を使用する双予測および動きベクトルに基づく別の予測、ならびに２つのブロックベクトルを使用する双予測を許可する。この拡張された双予測モードは、エンコーダの複雑度とデコーダの複雑度を増加する。しかし、符号化効率の改善は限りがある。従って、２つの動きベクトルを使用して双予測を従来の双予測に制限するが、（１または２つの）ブロックベクトルを使用する双予測は許可しないことが有益である。そのような制限を課す第１の方法において、ＭＶシグナリングをＰＵレベルにおいて変更することができる。例えば、ＰＵにシグナルされる予測方向が双予測を示す場合、疑似参照ピクチャは、参照ピクチャリストから除外されて、符号化される参照インデックスは、それに応じて修正される。この双予測制限を課す第２の方法において、疑似参照フレームを参照するブロックベクトルが双予測に使用できないように、任意の双予測モードを制限するビットストリーム適合要件が課される。上記のマージプロセスの場合、提案した制限された双予測により、（新しいマージステップ９）は、ブロックベクトル候補の組み合わせを全く考慮しない。
【０１７９】
疑似参照ピクチャを他の時間参照ピクチャとさらに統合するために実装することができる付加的な特徴は、パディングプロセスである。通常の時間参照ピクチャでは、動きベクトルがピクチャ境界の外側のサンプルを使用すると、ピクチャがパディングされる。しかしながら、（Ｌｉ  ２０１４）、（Ｐａｎｇ Ｏｃｔ．２０１４）の設計において、ブロックベクトルは、疑似参照ピクチャの境界内にあるように制限され、そのピクチャは、決してパディングされない。疑似参照ピクチャを他の時間参照ピクチャと同じ方法でパディングすることによりさらなる統合を与えることができる。
【０１８０】
ＢＶおよびＭＶを用いた双予測モードの双予測探索
いくつかの実施形態において、ブロックベクトルと動きベクトルが組み合わされてＩｎｔｒａＢＣと中間フレームワークとの統合による予測ユニットの双予測モードを形成することが許可される。この特徴によってこの統合されたフレームワークの符号化効率のさらなる改善が可能になる。以下の論考において、双予測モードをＢＶ−ＭＶ双予測と呼ぶ。エンコードプロセス中にこの固有のＢＶ−ＭＶ双予測モードを利用する異なる方法がある。
【０１８１】
１つの方法は、中間マージ候補導出プロセスによってそれらのＢＶ−ＭＶ双予測候補を検査することである。空間または時間隣接予測ユニットがＢＶ−ＭＶ双予測モードならば、そのユニットは、現在の予測ユニットの１つのマージ候補として使用される。「マージステップ７」に関連して上記で論じたように、マージ候補リストが満杯でなく、かつ現在のスライスがＢスライス（双予測を許可する）ならば、１つの既存のマージ候補の参照ピクチャリストｌｉｓｔ＿０からの動きベクトルともう１つの既存のマージ候補の参照ピクチャリストｌｉｓｔ＿１からの動きベクトルとが組み合わされて、新しい双予測マージ候補を形成する。統合フレームワークにおいて、この新しく作成された双予測マージ候補をＢＶ−ＭＶ双予測にすることができる。１つの予測ユニットに対し、ＢＶ−ＭＶ双予測候補が最良のマージ候補として選択されてそのマージモードが最良の符号化モードとして選択されると、このＢＶ−ＭＶ双予測候補と関連付けられたマージフラグとマージインデックスのみがシグナルされる。ＢＶとＭＶは、明示的にシグナルされず、デコーダは、エンコーダで遂行されるプロセスを並行して行う、マージ候補導出プロセスを経てそれらを推論する。
【０１８２】
別の実施形態において、双予測探索は、エンコーダにおける１つの予測ユニットのＢＶ−ＭＶ双予測モードに適用され、このモードがそのＰＵの最良の符号化モードとして選択されると、ＢＶとＭＶはそれぞれシグナルされる。
【０１８３】
ＳＣＣ参照ソフトウェアの動き推定プロセスで２つのＭＶを用いる従来の双予測探索は、反復プロセスである。第一に、ｌｉｓｔ＿０とｌｉｓｔ＿１の両方の単予測探索が遂行される。その後、ｌｉｓｔ＿０とｌｉｓｔ＿１のこれらの２つの単予測ＭＶに基づいて双予測が遂行される。その方法は、１つのＭＶ（例えば、ｌｉｓｔ＿０のＭＶ）を固定して、別のＭＶ（例えば、ｌｉｓｔ＿１のＭＶ）を、精製されるＭＶ（例えば、ｌｉｓｔ＿１のＭＶ）の周りの小さい探索ウィンドウ内で精製する。方法はその後、同じ方法で反対のリストのＭＶ（例えば、ｌｉｓｔ＿０のＭＶ）を精製する。双予測探索は、探索の数が事前定義された閾値を満たすか、または双予測の歪みが事前定義された閾値より小さいと停止する。
【０１８４】
本明細書で開示された提案したＢＶ−ＭＶ双予測探索では、ＩｎｔｒａＢＣモードの最良のＢＶと通常の中間モードの最良のＭＶが格納される。その後、格納されたＢＶとＭＶは、ＢＶ−ＭＶ双予測探索に使用される。ＢＶ−ＭＶ双予測探索のフローチャートを図２９Ａ−図２９Ｂに示す。
【０１８５】
ＭＶ−ＭＶ双予測探索の１つの違いは、ＢＶ探索アルゴリズムをＭＶ探索アルゴリズムとは異なる形で設計することができるので、ＭＶ精製とは異なることができるブロックベクトル精製のためにＢＶ探索が遂行されることである。図２９Ａ−図２９Ｂの例において、一般性を失わずに、ＢＶはｌｉｓｔ＿０に由来し、ＭＶはｌｉｓｔ＿１に由来すると仮定する。初期の探索リストは、ＢＶとＭＶの個々のレート歪みコストを比較し、そしてより大きいコストを有するリストを選択することによって選択される。例えば、ＢＶのコストがより大きければ、ＢＶをさらに精製してより良い予測を提供できるように、ｌｉｓｔ＿０は、初期の探索リストとして選択される。ＢＶの精製とＭＶの精製は、反復的に遂行される。
【０１８６】
図２９Ａ−図２９Ｂの方法において、ｓｅａｒｃｈ＿ｌｉｓｔとｓｅａｒｃｈ＿ｔｉｍｅｓは、ステップ２９０２において、初期化される。初期の探索リスト選択プロセス２９０４がその後遂行される。Ｌ１＿ＭＶＤ＿Ｚｅｒｏ＿Ｆｌａｇが偽であれば（ステップ２９０６）、ステップ２９０８において、ＢＶのレート歪みコストが判定されて、ステップ２９１０において、ＭＶのレート歪みコストが判定される。これらのコストは、比較されて（ステップ２９１２）、そしてＭＶがより高いコストを有すれば、探索リストは、ｌｉｓｔ＿１に切り替わる。ステップ２９１６において、ターゲットブロック更新方法（以下でより詳細に説明する）が遂行され、そしてステップ２９１８−ステップ２９２２において、ＢＶまたはＭＶの精製が必要に応じて遂行される。ステップ２９２４において、カウンタｓｅａｒｃｈ＿ｔｉｍｅｓがインクリメントされ、そしてプロセスは、Ｍａｘ＿Ｔｉｍｅに達するまで（ステップ２９２８）更新されたｓｅａｒｃｈ＿ｌｉｓｔが反復される（ステップ２９２６）。
【０１８７】
ＢＶまたはＭＶの精製の各ラウンドの前に遂行されるターゲットブロック更新プロセスを図３０のフローチャートに示す。精製の目標となるターゲットブロックは、元のブロックから固定方向の予測ブロック（ＢＶまたはＭＶ）を引くことによって算出される。ステップ３００２において、ＢＶまたはＭＶが精製されるかどうかは、ｓｅａｒｃｈ＿ｌｉｓｔに基づいて判定される。ＢＶが精製されるのであれば（ステップ３００４、３００８）、ターゲットブロックは、元のブロックから探索の最後のラウンドのＭＶで取得された予測ブロックを減算したものに等しいように設定される。逆に、ＭＶが精製されるのであれば（ステップ３００６、３００８）、ターゲットブロックは、元のブロックから探索の最後のラウンドのＢＶで取得された予測ブロックを減算したものに等しいように設定される。その後、ＢＶまたはＭＶの探索精製の次のラウンドは、ＢＶ／ＭＶ探索を遂行してターゲットブロックの一致を試みることを含む。ＢＶ精製の探索ウィンドウを図３１Ａに示し、ＭＶ精製の探索ウィンドウを図３１Ｂに示す。ＢＶ精製の探索ウィンドウは、ＭＶ精製の探索ウィンドウとは異なることができる。
【０１８８】
提案したＢＶ−ＭＶ双予測探索の一実施形態において、この明示的な双予測探索は、動きベクトルの分解能がそのスライスの分数である場合にのみ遂行される。上記で論じたように、整数動きベクトル分解能は、動き補償された予測がかなり良い(quite good)と示すので、ＢＶ−ＭＶ双予測探索がこれ以上予測を改善することは困難である。動きベクトル分解能が整数である時にＢＶ−ＭＶ双予測探索を不能にすることによる、別の利点は、ＢＶ−ＭＶ双予測が常に遂行される場合と比較してエンコードの複雑度を削減できることである。エンコードの複雑度をさらに制御するためにパーティションサイズに基づいてＢＶ−ＭＶ双予測探索を選択的に遂行することができる。例えば、動きベクトルの分解能が整数でなく、パーティションサイズが２Ｎ×２Ｎである場合にのみＢＶ−ＭＶ双予測探索を遂行することができる。
【０１８９】
特徴および要素は、特定の組み合わせにおいて上述されているが、各特徴または要素を単独でまたは他の特徴および要素との任意の組み合わせにおいて使用できることが当業者には認識されよう。さらに、本明細書で説明した方法は、コンピュータまたはプロセッサによって実行するためのコンピュータ可読媒体に組み込まれるコンピュータプログラム、ソフトウェア、またはファームウェアに実装されてもよい。コンピュータ可読媒体の例は、（有線および／または無線接続を介して送信される）電子信号およびコンピュータ可読ストレージ媒体を含む。コンピュータ可読ストレージ媒体の例は、限定されないが、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、レジスタ、キャッシュメモリ、半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、およびＣＤ−ＲＯＭディスク、およびデジタル多用途ディスク（ＤＶＤ）などの光媒体を含む。ソフトウェアと連動するプロセッサを使用して、ＷＴＲＵ、ＵＥ、端末機、基地局、ＲＮＣ、または任意のホストコンピュータで使用される無線周波数トランシーバを実装することができる。
【０１９０】
【表５−１】
2017532885.tif 000027
【表５−２】
2017532885.tif 000028
【表５−３】
2017532885.tif 000029
【表５−４】
2017532885.tif 000030
【表５−５】
2017532885.tif 000031
【表６−１】
2017532885.tif 000032
【表６−２】
2017532885.tif 000033
【表６−３】
2017532885.tif 000034
【表６−４】
2017532885.tif 000035
【図１】
2017532885.tif 000036
【図２】
2017532885.tif 000037
【図３】
2017532885.tif 000038
【図４】
2017532885.tif 000039
【図５】
2017532885.tif 000040
【図６】
2017532885.tif 000041
【図７】
2017532885.tif 000042
【図８】
2017532885.tif 000043
【図９】
2017532885.tif 000044
【図１０】
2017532885.tif 000045
【図１１】
2017532885.tif 000046
【図１２】
2017532885.tif 000047
【図１３】
2017532885.tif 000048
【図１４】
2017532885.tif 000049
【図１５】
2017532885.tif 000050
【図１６】
2017532885.tif 000051
【図１７】
2017532885.tif 000052
【図１８】
2017532885.tif 000053
【図１９】
2017532885.tif 000054
【図２０Ａ】
2017532885.tif 000055
【図２０Ｂ】
2017532885.tif 000056
【図２１】
2017532885.tif 000057
【図２２】
2017532885.tif 000058
【図２３Ａ】
2017532885.tif 000059
【図２３Ｂ】
2017532885.tif 000060
【図２４Ａ】
2017532885.tif 000061
【図２４Ｂ】
2017532885.tif 000062
【図２５】
2017532885.tif 000063
【図２６】
2017532885.tif 000064
【図２７】
2017532885.tif 000065
【図２８】
2017532885.tif 000066
【図２９Ａ】
2017532885.tif 000067
【図２９Ｂ】
2017532885.tif 000068
【図３０】
2017532885.tif 000069
【図３１Ａ】
2017532885.tif 000070
【図３１Ｂ】
2017532885.tif 000071
【手続補正書】
【提出日】平成28年7月26日(2016.7.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のビデオブロックの予測のために候補ブロックベクトルを特定するステップであって、前記第１のビデオブロックは、現在のピクチャであり、前記候補ブロックベクトルは、時間参照ピクチャの第２のビデオブロックの予測に使用される第１のブロックベクトルである、特定するステップと、
前記候補ブロックベクトルを前記第１のビデオブロックのプレディクタとして使用するイントラブロックコピー符号化を用いて前記第１のビデオブロックを符号化するステップを備えることを特徴とするビデオ符号化方法。
【請求項２】
前記第１のビデオブロックを符号化するステップは、前記現在のピクチャを複数のピクセルブロックとして符号化するビットストリームを作成することを含み、前記ビットストリームは、前記第１のブロックベクトルを特定するインデックスを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のビデオブロックを符号化するステップは、前記現在のピクチャを複数のピクセルブロックとして符号化するビットストリームを受信することを含み、前記ビットストリームは、前記第１のブロックベクトルを特定するインデックスを含むことを特徴とする請求項１に記載の方法。
【請求項４】
マージ候補リストを作成するステップであって、前記マージ候補リストは、前記第１のブロックベクトルを含み、前記第１のビデオブロックを符号化するステップは、前記マージ候補リストの前記第１のブロックベクトルを特定するインデックスを提供することを含む、作成するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記マージ候補リストはさらに、少なくとも１つのデフォルトブロックベクトルを含むことを特徴とする請求項４に記載の方法。
【請求項６】
マージ候補リストを作成するステップであって、前記マージ候補リストは、動きベクトルのマージ候補のセットとブロックベクトルのマージ候補のセットを含み、
前記第１のビデオブロックを符号化することは、
前記第１のビデオブロックに、前記プレディクタが前記ブロックベクトルのマージ候補のセットの中にあることを特定するフラグを提供することと、
前記第１のビデオブロックに、前記ブロックベクトルのマージ候補のセット内の前記第１のブロックベクトルを特定するインデックスを提供することを含む、作成するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記第１のビデオブロックを符号化するステップは、
前記プレディクタがブロックベクトルであることを特定するフラグを受信することと、
マージ候補リストを作成することであって、前記マージ候補リストはブロックベクトルのマージ候補のセットを含む、作成することと、
前記ブロックベクトルのマージ候補のセット内の前記第１のブロックベクトルを特定するインデックスを受信することを備えることを特徴とする請求項１に記載の方法。
【請求項８】
予測ユニット用に動きベクトルのマージ候補のリストとブロックベクトルのマージ候補のリストを形成するステップと、
前記マージ候補のうちの１つをプレディクタとして選択するステップと、
前記予測ユニットに、前記プレディクタが前記動きベクトルのマージ候補のリストの中または前記ブロックベクトルのマージ候補のリストの中にあるかどうかを特定するフラグを提供するステップと、
前記予測ユニットに、前記マージ候補の特定されたリスト内から前記プレディクタを特定するインデックスを提供するステップを備えることを特徴とするビデオ符号化方法。
【請求項９】
前記ブロックベクトルのマージ候補のうち少なくとも１つは、時間ブロックベクトル予測を使用して作成されることを特徴とする請求項８に記載の方法。
【請求項１０】
予測ユニットのマージ候補のリストを形成するステップであって、各マージ候補は、予測ベクトルであり、前記予測ベクトルのうち少なくとも１つは、時間参照ピクチャからの第１のブロックベクトルである、形成するステップと、
前記マージ候補のうちの１つをプレディクタとして選択するステップと、
前記予測ユニットに、前記マージ候補の特定されたセット内から前記プレディクタを特定するインデックスを提供するステップを備えることを特徴とするビデオ符号化方法。
【請求項１１】
前記予測ベクトルが有効かつ一意であると判定した後にのみ、予測ベクトルを前記マージ候補のリストに付加するステップをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記マージ候補のリストは、少なくとも１つの導出されたブロックベクトルをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記選択されたプレディクタは、前記第１のブロックベクトルであることを特徴とする請求項１０に記載の方法。
【請求項１４】
前記第１のブロックベクトルは、コロケートされた予測ユニットと関連付けられたブロックベクトルであることを特徴とする請求項１０に記載の方法。
【請求項１５】
前記コロケートされた予測ユニットは、スライスヘッダで指定されたコロケートされた参照ピクチャの中にあることを特徴とする請求項１４に記載の方法。
【請求項１６】
予測ユニットのマージ候補のセットを特定するステップであって、前記マージ候補のセットの前記特定は、少なくとも１つの候補をデフォルトブロックベクトルに付加することを含む、特定するステップと、
前記候補のうちの１つをプレディクタとして選択するステップと、
前記予測ユニットに、前記マージ候補の特定されたセット内から前記マージ候補を特定するインデックスを提供するステップを備えることを特徴とするビデオ符号化方法。
【請求項１７】
前記デフォルトブロックベクトルは、デフォルトブロックベクトルのリストから選択されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記マージ候補のセットは、少なくとも１つのゼロ動きベクトルをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記少なくとも１つのデフォルトブロックベクトルと前記少なくとも１つのゼロ動きベクトルは、インターリーブされた方法で前記マージ候補のセットに配置されることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記デフォルトブロックベクトルは、（−ＰＵｘ−ＰＵｗ，０）、（−ＰＵｘ−２＊ＰＵｗ，０）、（−ＰＵｙ−ＰＵｈ，０）、（−ＰＵｙ−２＊ＰＵｈ，０）および（−ＰＵｘ−ＰＵｗ，−ＰＵｙ−ＰＵｈ）から成るデフォルトブロックベクトルのリストから選択され、ＰＵｗとＰＵｈはそれぞれ、前記予測ユニットの幅と高さであり、ＰＵｘとＰＵｙは、前記符号化ユニットの左上の位置に対する前記ＰＵのブロック位置であることを特徴とする請求項１８に記載の方法。
【国際調査報告】
2017532885.tif 000072
2017532885.tif 000073
2017532885.tif 000074
2017532885.tif 000075
2017532885.tif 000076