(57)【要約】      （修正有）【課題】ピクチャにスライスベースあるいはタイルベース並列処理を用いたビデオ復号の方法を提供する。【解決手段】ビデオ復号の方法は、現在のスライスあるいは現在のタイルで、現在のブロックに選択される場合に、ビデオビットストリームから、現在のブロックの符号化ブロックを決定する工程及び選択された有効なリファレンス領域から参照ブロックを選択する工程であって、選択された有効なリファレンス領域は、現在のスライスあるいは現在のタイル中の現在のブロックより前の１つ以上の予め再構成されたブロックを有する工程と、参照ブロックの一つ以上のサンプルが有効でない場合、参照ブロックの１つ以上の利用できないサンプルを代替する工程と、参照ブロックを予測因子として用い、IntraBCモードにしたがって符号化ブロックから現在のブロックを再構築する工程とを行う。【選択図】図１５
2019083541.tif 000002
【特許請求の範囲】
【請求項１】
ピクチャにスライスベースあるいはタイルベース並列処理を用いたビデオ復号の方法において、
現在のピクチャから分割されるとともに、同時に符号化される複数のスライスあるいはタイルに関連するビデオビットストリームを受信する工程を含み、
IntraBCモード(イントラブロックコピーモード)が、現在のスライスあるいは現在のタイルで、現在のブロックに選択される場合に、
前記ビデオビットストリームから、前記現在のブロックの符号化ブロックを決定する工程、及び、
選択された有効なリファレンス領域から参照ブロックを選択する工程であって、前記選択された有効なリファレンス領域は、前記現在のスライスあるいは前記現在のタイル中の前記現在のブロックより前の１つ以上の予め再構成されたブロックを有する工程と、
前記参照ブロックの一つ以上のサンプルが有効でない場合、前記参照ブロックの１つ以上の利用できないサンプルを代替する工程と、
前記参照ブロックを予測因子として用い、前記IntraBCモードにしたがって前記符号化ブロックから前記現在のブロックを再構築する工程とを行う
ことを特徴とする方法。
【請求項２】
前記参照ブロックの一つ以上のサンプルが有効でない場合、隣接する有効なサンプルからの１つ以上のパディングサンプルが、前記参照ブロックの１つ以上の利用できないサンプルを代替するために用いられることを特徴とする請求項１に記載の方法。
【請求項３】
前記参照ブロックの１つ以上のサンプルが有効でない場合、有効でない前記参照ブロックの１つ以上のサンプルあるいは全体の参照ブロックが、所定の値により代替されることを特徴とする請求項１に記載の方法。
【請求項４】
前記所定の値は１２８に対応することを特徴とする請求項３に記載の方法。
【請求項５】
復号プロセスが前記現在のピクチャに開始される前に、現在のピクチャに再構成されたサンプルが、前記所定の値に初期化され、
前記参照ブロックの１つ以上のサンプルが有効でない場合、前記参照ブロックの前記１つ以上のサンプルは、前記所定の値を有することを特徴とする請求項３に記載の方法。
【請求項６】
前記所定の値は１２８に対応することを特徴とする請求項５に記載の方法。
【請求項７】
前記所定の値は、高レベルの前記ビデオビットストリームでシグナリングされる主要な色のリストから選択されることを特徴とする請求項３に記載の方法。
【請求項８】
前記高レベルのビデオビットストリームは、スライスレベル、ピクチャレベルあるいはシーケンスレベルに対応することを特徴とする請求項７に記載の方法。
【請求項９】
主要の色の前記リストは、数値Ｎ、続いて、Ｎ個の主要な色値を用いてシグナリングされ、数値Ｎは、主要な色値に対応することを特徴とする請求項７に記載の方法。
【請求項１０】
前記現在のブロックがInter-スライスにあり、および、前記参照ブロックの一つ以上のサンプルが有効でない場合、有効でない前記参照ブロックの前記１つ以上のサンプル又は参照ブロック全体は、前記現在のブロックと配列される参照フレーム中における、１つ以上の一時的サンプルあるいは時間的参照ブロックの全体ブロックにより代替されることを特徴とする請求項１に記載の方法。
【請求項１１】
前記現在のブロックがInter-スライスにあり、且つ、前記参照ブロックの一つ以上のサンプルが有効でない場合、有効でない前記参照ブロックの前記一つ以上のサンプル又は参照ブロック全体は、前記参照ブロックと配列される参照フレーム中における、１つ以上の一時的サンプルあるいは時間的参照ブロックの全体ブロックにより代替されることを特徴とする請求項１に記載の方法。
【請求項１２】
ピクチャにスライスベースあるいはタイルベース並列処理を用いたビデオ復号の装置において、
１つ以上の回路を有し、
前記回路は、
現在のピクチャから分割されるとともに、同時に符号化される複数のスライスあるいはタイルに関連するビデオビットストリームを受信し、
IntraBCモード(イントラブロックコピーモード)が、現在のスライスあるいは現在のタイルで、現在のブロックに選択される場合に、
前記ビデオビットストリームから、前記現在のブロックの符号化ブロックを決定し、かつ、
選択された有効なリファレンス領域から参照ブロックを選択し、前記選択された有効なリファレンス領域は、前記現在のスライスあるいは前記現在のタイル中の前記現在のブロックより前の１つ以上の予め再構成されたブロックを有し、
前記参照ブロックの一つ以上のサンプルが有効でない場合、前記参照ブロックの１つ以上の利用できないサンプルを代替し、
前記参照ブロックを予測因子として用い、前記IntraBCモードにしたがって前記符号化ブロックから前記現在のブロックを再構築する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１４年７月７日に出願された米国特許仮出願番号６２/０２１２９１および２０１４年７月１６日に出願された米国特許仮出願番号６２/０２５１２２および２０１４年１２月１９日に出願された米国特許仮出願番号６２/０９４１４０から、優先権を主張する。本発明は、さらに、２０１４年９月４日に出願された米国特許仮出願番号６２/０４５６２０から、優先権を主張する。よって、その内容は引用によって本願に援用される。
【０００２】
本発明は、スクリーンコンテンツ向け符号化あるいはビデオ符号化のイントラブロックコピー(IntraBC)モードを用いたビデオ符号化に関するものであって、特に、本発明は、イントラブロックコピー(IntraBC)符号化モードが選択されるとき、スライス/タイルベース並列処理あるいは波状並列処理をサポートする技術に関するものである。
【背景技術】
【０００３】
高効率ビデオコーディング(ＨＥＶＣ)標準の範囲拡張(RExt)あるいはスクリーンコンテンツ向け符号化の最近の動向において、これらのツールの目的は、高いビット深さ(たとえば、１０、１２、１４および１６)の効果的な圧縮ソリューションを提供することで、YUV420カラーフォーマット以外のカラーフォーマット(たとえば、YU422,YUV444およびRGB444)がすでに開発されて、これらのコンテンツの符号化効率を改善している。イントラブロックにおいて、従来のアプローチによるイントラ予測は、隣接するブロックから再構成された画素に基づいた予測を用いて実行される。イントラ予測は、垂直モード、水平モードおよび各種角度予測モードを含む１組のIntraモードからIntraモードを選択する。ＨＥＶＣ範囲拡張およびスクリーンコンテンツ向け符号化において、イントラブロックコピー(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 Motion Compensation 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 ＭＣ、補間フィルターの除去、現在のＣＴＵおよび左のＣＴＵに制限される検索領域が、新しいバージョンのドラフト標準に採用されている。 
【０００９】
映像符号化国際標準のHEVC標準化の共同チーム (JCT-VC)による近年のさらなる発展において、JCTVC-Q0031 (Chen et al., Description of screen content coding technology proposal by Qualcomm, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 17th Meeting: Valencia, ES, 27 March - 4 April 2014, Document: JCTVC- Q0031) and JCTVC-Q0035 (Li et al., Description of screen content coding technology proposal by Microsoft, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 17th Meeting: Valencia, ES, 27 March - 4 April 2014, Document: JCTVC- Q0035)中で、既に、フルフレーム IntraBC が開示されている。フルフレーム IntraBC は、検索領域制限を排除して、IntraBCの符号化効率をさらに改善する。つまり、全ての符号化ブロックは、現在のＣＵと全ての前符号化ＣＵ間のデータ依存をもたらす現在のＣＵにより参照される。フルフレーム IntraBC は元のIntraBCより効率がよいが、ピクチャの復号、特に、ＨＥＶＣにおけるタイルプロセスあるいは波状並列処理 (ＷＰＰ)を有効にするとき、このデータ依存は、並列処理ができないようにする。 
【００１０】
ＷＰＰによる並列性が図２に説明され、ピクチャ中のビデオブロックが、ロウごとに処理される。２個のロウを並列に処理することができるようにするために、各ロウは、その上のロウよりも遅くにブロックを開始する。その結果、“curr. CTU 0”, “curr. CTU 1”, “curr. CTU 2” と “curr. CTU 3”として示されるブロックは、各種ＣＴＵロウ中で現在処理されるブロックである。これらの現在処理されるブロックは、同時に処理される。同じロウ中の各現在のブロックの左側ブロックは、既に処理されている。ＨＥＶＣにおいて、このような並列化戦略は、“波状並列処理” (ＷＰＰ：wavefron parallel process)と称される。これらの現在処理されるブロックは、本開示において、 “波面”と称される。フルフレーム IntraBC中のＷＰＰをサポートするため、現在の IntraBC符号化ブロック (たとえば、現在のＣＴＵ)は、まだ処理されていない領域における任意のリファレンスを参照することができない。
【００１１】
これにより、フルフレーム IntraBC モードにおけるデータ依存を排除あるいは減少させて、タイルとＷＰＰの並列処理を可能にする方法を発展させることが望まれる。 
【００１２】
SCM-2.0(Joshi et al., Screen content coding test model 2 (SCM 2), Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC29/WG11, 18th Meeting: Sapporo, JP, 30 June - 9 July 2014, Document: JCTVC-R1014)中、JCTVC-R0309(Pang, et al., Non-SCCE1: Combination of JCTVC-R0185 and JCTVC-R0203, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC29/WG11, 18th Meeting: Sapporo, JP, 30 June - 9 July 2014, Document: JCTVC-R0309)にしたがって、ブロックベクトル (ＢＶ)符号化が修正されて、隣接するＢＶおよび符号化ＢＶをＢＶ予測因子 (ＢＶＰ:block vector predictor)として用いる。ＢＶ予測因子は、ＨＥＶＣにおける適応動きベクトル予測 (ＡＭＶＰ)スキームに類似する方式で得られる。予測因子候補リストは、図３に示される優先順序にしたがって、空間的に隣接するブロック a1 と b1 で、ＢＶの有効性をまず確認することにより構成される。空間的隣接ブロックがどちらもブロックベクトルを含まない場合、最後の２個の符号化ＢＶが用いられて、ブロックベクトル候補リストを満たすので、リストは、２個の異なるエントリーを含む。最後の２個の符号化ＢＶは、(-2*CU_width, 0)および (-CU_width, 0)で初期化される。前もって符号化されたＢＶを保存するラインバッファの必要性をなくすため、空間的に隣接するブロック a1 と b1および現在のＣＴＵ外の最後のＢＶ中の任意の１つは、有効でないと認識される。最後の２個の符号化ＢＶは、各ＣＴＵに対し、(0, 0)にリセットされて、データ依存を回避する。
【００１３】
また、ＨＥＶＣにおいて、統合候補が、Inter 符号化スライス中の現在の符号化ブロックの空間的/一時的隣接ブロックから生成される。merge_flag が用いられて、現在のブロックがその候補の１つに統合されるかどうか伝達する。そうである場合、別のインデックスが用いられて、どの候補がw Merge モードに用いられるか伝達する。たとえば、図３に示される候補ブロック a1 が、用いられる候補としてシグナリングされる場合、現在のブロックは、ブロック a1.中のそれらと同じ動きベクトルおよびリファレンス画像を共有する。
【００１４】
Merge 候補のいくつかが有効でない (たとえば、存在しないあるいはInter モードでない)場合、追加候補が挿入される。追加候補挿入後、Merge 候補リストがまだ十分でない場合、０に等しいrefIdx (つまり、リファレンス画像インデックス)ゼロ動きベクトルが用いられて、全ての空の候補を満たす。
【００１５】
以下の２種の追加候補が挿入される。
1.  結合型双予測 Merge 候補 (候補タイプ１)、および、
2.  零ベクトル Merge/AMVP 候補 (候補タイプ２) 
【００１６】
タイプ１の追加候補の後、タイプ-２の追加候補が挿入される。候補タイプ１において、結合型双予測 Merge 候補は、本来の Merge 候補を結合することにより生成される。特に、mvL0 と refIdxL0、あるいは、mvL1 と refIdxL1を有する２個の本来の候補が用いられて、双予測 Merge 候補を生成する。mvL0 は、リスト０中の動きベクトルを表し、refIdxL0 は、リスト０において、リファレンス画像インデックスを表す。同様に、mvL1 は、リスト１中の動きベクトルを表し、refIdxL1 は、リスト１中のリファレンス画像インデックスを示す。
【００１７】
候補タイプ２において、零ベクトルMerge/AMVP 候補は、零ベクトルと参照できるリファレンスインデックスを結合することにより生成される。零ベクトル候補が重複しない場合、Merge/AMVP 候補セットに加えられる。
【００１８】
フルフレーム IntraBC モードは、パフォーマンスを大幅に改善し、現在処理されるブロックの参照ブロックは有効ではないので、スライス/タイルベース並列処理あるいは波状並列処理の問題が存在している。これにより、有効でないリファレンスデータに関連する問題を克服する方法が必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【００１９】
本発明によるビデオ符号化システムにおけるピクチャのIntraBC モード (イントラブロックコピーモード)符号化を用いたビデオ符号化の方法を提供する。
【課題を解決するための手段】
【００２０】
IntraBC モード (イントラブロックコピーモード)が、現在の処理領域において、現在の作業ブロックに選択される場合、有効なはしご形状のリファレンス領域からの参照ブロックは、現在の処理領域中の現在の作業ブロックより前（before）の１つ以上の予め処理済みブロック（previously processed block）、および、１つ以上の前処理領域中の対応する前作業ブロックより前の１つ以上の予め処理済みブロックを有する。第１前ＣＴＵロウ（first previous CTU row）より遠く、現在のＣＴＵロウからさらに遠い１つのＣＴＵロウである第２前ＣＴＵロウ（second previous CTU row）より前の作業ブロックの位置は、通常、第１前ＣＴＵロウより前の作業ブロックと同じ垂直位置あるいは垂直右側の位置である。現在のＣＴＵロウ上の前ＣＴＵロウより前の作業ブロックの位置は、通常、現在の作業ブロックと同じ垂直位置または垂直右側の位置である。これにより、有効なリファレンス領域は、はしご形状の領域を形成する。現在の作業ブロックは、参照ブロックを予測因子として、IntraBC モードにしたがって、符号化あるいは復号される。各ブロックは符号化ユニット (ＣＵ)に対応し、各処理領域はＣＴＵロウに対応する。
【００２１】
現在の作業ブロックに関連する参照ブロックの位置は、エンコーダ側で、ブロックベクトル (ＢＶ)を用いてシグナリングされて、デコーダは、ＢＶを用いて、参照ブロックを配置することができる。有効なはしご形状のリファレンス領域は、最後の予め処理済みブロックから開始され、現在の処理領域中の現在の作業ブロックより前の全ての予め処理済みブロックを有する。有効なはしご形状のリファレンス領域は、さらに、最後の予め処理済みブロックから開始され、１つ以上の前処理領域中の１つ以上の各自の前作業ブロックより前の全ての予め処理済みブロックを有する。
【００２２】
各種有効なはしご形状のリファレンス領域は、本発明の各種実施形態において開示される。たとえば、現在の作業ブロック (x_cur, y_cur)の有効なはしご形状のリファレンス領域は、(x_ref, y_ref)の予め処理済みブロックを有し、(x_ref, y_ref)は、以下の条件の１つを満たす:
・x_ref < x_cur および y_ref ≦ y_cur; および
・x_cur ≦ x_ref ≦ (x_cur + N x (y_cur - y_ref))および y_ref < y_cur, 
Ｎは１に等しい。
【００２３】
現在のピクチャが、複数のＣＴＵロウに分割されて、波状並列処理 (ＷＰＰ)を複数のＣＴＵロウに適用し、現在の作業ブロックは現在の作業ブロックに対応し、各前作業ブロック（each previous working block）は各前波面ブロックに対応する。デコーダ側で、複数のＣＴＵロウに関連するビデオビットストリームは、複数のＷＰＰサブ-ビットストリームに対応し、各ＷＰＰサブ-ビットストリームは、各ＣＴＵロウに関連する。
【００２４】
一ピクチャのスライスベースあるいはタイルベース並列処理を用いたビデオ符号化方法も開示される。IntraBC モード (イントラブロックコピーモード)が、現在のスライスあるいは現在のタイルにおいて、現在のブロックに選択される場合、選択された有効なリファレンス領域からの参照ブロックは、現在のスライスあるいは現在のタイルの現在のブロックが選択される前の１つ以上の予め処理済みブロックを含む。現在のブロックは、参照ブロックを予測因子として、IntraBC モードにしたがって、符号化あるいは復号される。現在のブロックに関連する参照ブロックの位置は、エンコーダ側で、ブロックベクトル (ＢＶ)を用いてシグナリングされるので、デコーダは、ＢＶに基づいて、参照ブロックの位置を決定することができる。 
【００２５】
ＢＶにより示される参照ブロックの任意の位置が、現在のスライスあるいは現在のタイル外側に位置する場合、ＢＶはクリップＢＶにクリップされるので、クリップＢＶにより示される修正された参照ブロックは、現在のスライスあるいは現在のタイル中で全体的に配置される。タイルベース並列処理において、ＢＶクリッピングがまず垂直に適用され、その後、水平に適用される。また、ＢＶクリッピングがまず水平に適用され、その後、垂直に適用される。スライスベース並列処理において、垂直のＢＶクリッピングが適用される。
【００２６】
本発明の実施形態は、参照ブロックの１つ以上のサンプルが有効でないときの状況を処理する。本実施形態において、隣接する有効なサンプルからの１つ以上の冗長サンプルが用いられて、参照ブロックの１つ以上の利用できないサンプルを代替する。別の実施形態において、利用できないサンプルまたは参照ブロック全体は、所定の値、たとえば、１２８により代替される。さらに別の実施形態において、復号プロセスが現在のピクチャに開始される前、現在のピクチャに再構成されたサンプルが所定の値に初期化され、参照ブロックの１つ以上のサンプルが有効でない場合、参照ブロックの１つ以上のサンプルは所定の値を有する。所定の値は、高レベルのビデオビットストリームでシグナリングされる主要な色のリスト、例えば、スライスレベル、ピクチャレベルあるいはシーケンスレベルから選択される。主要な色のリストは、数値Ｎ、続いて、Ｎ個の主要な色値を用いてシグナリングされ、数値Ｎは、主要な色値に対応する。
参照ブロックの１つ以上のサンプルが有効でなく、且つ、現在のブロックが Inter-スライスであるとき、利用できないサンプルあるいは参照ブロック全体は、現在のブロックと配列される時間的参照ブロックから、一時的リファレンスサンプルにより代替される。あるいは、利用できないサンプルあるいは参照ブロック全体は、参照ブロックと配列される時間的参照ブロックから、一時的リファレンスサンプルにより代替される。
【図面の簡単な説明】
【００２７】
【図１】イントラブロックコピー(IntraBC) モードによるIntra 動き補償の例を示す図で、水平変位ベクトルが用いられる。
【図２】ＨＥＶＣ (高効率ビデオコーディング)によるＷＰＰ (波状並列処理)の並列性を示す図で、一ピクチャ中のビデオブロックが１ロウずつ処理される。
【図３】優先順序にしたがって、空間的に隣接するブロック a1 および b1で、まず、ＢＶ有効性を確認することにより構成される予測因子候補リストの例を示す図である。
【図４】ＨＥＶＣ (高効率ビデオコーディング)のＷＰＰ (波状並列処理)にしたがって、LCU-T, LCU-L, LCU-TRおよびLCU-TLを含む現在のＣＵおよび隣接するＣＵ間にだけ存在するデータ依存を示す図である。
【図５Ａ】有効なリファレンス領域を示す図で、現在のＬＣＵが文字 “C”により示され、現在のＬＣＵの有効なリファレンス領域が、線状領域により示される。
【図５Ｂ】有効なリファレンス領域を示す図で、現在のＬＣＵが文字 “C”により示され、現在のＬＣＵの有効なリファレンス領域が、線状領域により示される。
【図５Ｃ】有効なリファレンス領域を示す図で、現在のＬＣＵが文字 “C”により示され、現在のＬＣＵの有効なリファレンス領域が、線状領域により示される。
【図６Ａ】各種制約下で、点領域に制約される現在のIntraBCブロックの検索と補償範囲を示す図である。
【図６Ｂ】各種制約下で、点領域に制約される現在のIntraBCブロックの検索と補償範囲を示す図である。
【図６Ｃ】各種制約下で、点領域に制約される現在のIntraBCブロックの検索と補償範囲を示す図である。
【図６Ｄ】各種制約下で、点領域に制約される現在のIntraBCブロックの検索と補償範囲を示す図である。
【図６Ｅ】各種制約下で、点領域に制約される現在のIntraBCブロックの検索と補償範囲を示す図である。
【図６Ｆ】各種制約下で、点領域に制約される現在のIntraBCブロックの検索と補償範囲を示す図である。
【図７】点領域に制約される現在の IntraBC ブロックの検索と補償範囲の別の例を示す図である。
【図８Ａ】ブロックベクトル (ＢＶ)予測因子が無効の参照ブロックに示される例を示す図である。
【図８Ｂ】ブロックベクトル (ＢＶ)予測因子が無効の参照ブロックに示される例を示す図である。
【図９】IntraBC モード符号化のタイルベース並列処理の例を示す図で、ピクチャが複数のタイルに分割され、各タイルは複数の符号化ツリーユニット(CTUs)から構成される。
【図１０】IntraBC モード符号化を用いたタイルベース並列処理における無効の参照ブロックに関連するブロックベクトル (ＢＶ)の例を示す図である。
【図１１】IntraBC モード符号化を用いたタイルベース並列処理のブロックベクトル (ＢＶ)クリッピングの例を示す図で、クリッピングプロセスがまず、垂直コンポーネントに、その後、水平コンポーネントに適用される。
【図１２】IntraBC モード符号化を用いたタイルベース並列処理のブロックベクトル (ＢＶ)クリッピングを示す図で、クリッピングプロセスが、まず、水平コンポーネントに、その後、垂直コンポーネントに適用される。
【図１３】IntraBC モード符号化を用いたスライスベース並列処理のブロックベクトル (ＢＶ)クリッピングを示す図で、クリッピングプロセスが垂直コンポーネントに適用される。
【図１４】本発明の実施形態による制限された検索範囲領域を組み込んだビデオエンコーダのIntraBC 符号化のフローチャートである。
【図１５】本発明の実施形態による制限された検索範囲領域を組み込んだビデオデコーダのIntraBC 符号化のフローチャートである。
【図１６】本発明の実施形態による制限された検索範囲領域を組み込んだスライス/タイルベース並列処理によるビデオエンコーダのIntraBC 符号化のフローチャートである。
【図１７】本発明の実施形態による制限された検索範囲領域を組み込んだスライス/タイルベース並列処理によるビデオデコーダのIntraBC 符号化のフローチャートである
【発明を実施するための形態】
【００２８】
上述のように、フルフレーム IntraBC (イントラブロックコピー)モードは、大幅にパフォーマンスを改善することができる。しかし、フルフレーム IntraBCモードは、並列処理、たとえば、波状並列処理 (ＷＰＰ)あるいはスライス/タイルベース並列処理をサポートすることができない。フルフレーム IntraBC モードの拡張した検索範囲のため、改善されたパフォーマンスを活用し、各種並列処理をサポートするため、本発明は、検索範囲を予め処理済みブロックに制限するあるいは予め処理済みブロックの任意のサンプルが有効でない場合、置換データを用いる方法を開示する。
【００２９】
ＷＰＰ-ベースプロセスのIntraBC
前述したように、波状並列処理 (ＷＰＰ)は、ＨＥＶＣの並列処理を達成する方法である。ＷＰＰにおいて、最後のＬＣＵロウ中で、第１の２個ＬＣＵの構文解析プロセス終了後、各ＬＣＵロウのビットストリームは、独立して構文解析される。図４に示されるように、再構成ステージ期間中、データ依存は、LCU-T, LCU-L, LCU-TRおよび LCU-TLを含む現在のＣＵおよび隣接するＣＵ間にだけ存在する。最後のＬＣＵロウ中の右側上方ＬＣＵ(つまり、図４中の LCU-TR)が復号された後、現在のＬＣＵは、前ＬＣＵロウの再構成プロセスの完成を待つ必要なしに復号することができる。これにより、異なるＬＣＵロウは、必要なレイテンシーで同時に復号される。一方、従来のフルフレーム IntraBC は、現在のＣＵおよび前の符号化ＣＵ間で、ＷＰＰ中で、並行プロセスを妨げるデータ依存をもたらす。
【００３０】
ＷＰＰにおける並行プロセスを達成するため、フルフレーム IntraBCプロセスの有効なリファレンス領域制約のこれらの例が開示される。以下の記述において、有効なリファレンス領域は、さらに、有効なはしご形状のリファレンス領域あるいは検索と補償範囲と参照される。有効なリファレンス領域制約の第１例によると、ＷＰＰが有効であるとき、同じＬＣＵロウ中のその領域だけが、IntraBC プロセスに関連する。第１例は、図５Ａ中に示され、現在のＬＣＵは、文字 “C”により示され、現在のＬＣＵの有効なリファレンス領域は、線状領域により示される。有効なリファレンス領域制約の第２例によると、図５Ｂに示されるように、左上部分のＬＣＵおよびLCU-TRに属する１つのＬＣＵカラムだけが、IntraBC プロセスで参照される。図５Ｃに示されるように、有効なリファレンス領域制約の第３例によると、有効なリファレンス領域は、現在のＬＣＵロウおよびリファレンスＬＣＵロウ間の距離にしたがって増加する。 
【００３１】
IntraBCプロセスの検索と補償範囲における制約を明確にする体系的なアプローチが以下のように開示される。現在のIntraBC ブロックの例の検索と補償範囲は、現在のＣＴＵ３(つまり、図６Ａ中の“Curr. CTU3”)において、図６Ａに示される点領域に制限される。現在のIntraBC ブロックは、以下の記述で、現在のIntraBC符号化ブロック、現在のビデオブロックあるいは現在の作業ブロックとも称される。現在のビデオブロックの位置あるいは現在のビデオブロックを含むＣＴＵの位置は、 (x_cur, y_cur)として示される。参照ブロックと称されるビデオブロック (あるいは、ＨＥＶＣコンテキスト中のＣＴＵ)の位置は、 (x_ref, y_ref)として示される。この実施形態による現在の IntraBC符号化ブロックの検索と補償範囲は、以下の２つの条件のいずれか１つに制限される:
a．  x_ref < x_cur および y_ref ≦ y_cur, および
b．  x_cur ≦ x_ref < (x_cur + N x (y_cur - y_ref)) および y_ref < y_cur.  
【００３２】
Nは、１以上の任意の正の整数である。図６Ａに示される例において、Ｎは３に等しい。条件 a は、点領域６１０に示される参照ブロックに対応する。条件 b は、垂直距離, vd (つまり、vd = (y_cur - y_ref))に基づいて、リファレンス領域に対応する。vd=1の条件 b は、点領域６２０に示される参照ブロックに対応する。vd=2の条件 b は、点領域６３０に示される参照ブロックに対応する。vd=3の条件 b は、点領域６４０に示される参照ブロックに対応する。制約は、エンコーダおよびデコーダ両方に適用される。ＢＶに関連する情報がシグナリングされて、参照ブロックの位置を示すので、さらに、ブロックベクトル(ＢＶs)の範囲を制約する。 
【００３３】
図６Ｂは、Ｎ=２の条件a と bに対応する例を示す図である。図６Ｃは、別の例が、Ｎ=１の条件a および b に対応することを示す図である。
【００３４】
別の実施形態において、類似条件であるリファレンス領域制約は以下に示される。
a．  x_ref < x_cur および y_ref ≦ y_cur, および
b．  x_cur ≦ x_ref ≦ (x_cur + N x (y_cur - y_ref)) および y_ref < y_cur.  
【００３５】
Nは、１以上の任意の正の整数である。図６Ｄは、Ｎ=１の条件c と d.による “curr. CTU 3”の検索と補償範囲の例を示す図である。 
【００３６】
別の実施形態において、現在の IntraBC符号化ブロックの検索と補償範囲は、以下の２つの条件のいずれか１つを満たす領域に制限され、
a．  x_ref < x_cur および y_ref ≦y_cur, および
b．  x_cur ≦ x_ref < (x_cur + N) および y_ref < y_cur。   
【００３７】
Nは、１以上の任意の正の整数である。図６Ｅは、“curr. CTU 3”の検索と補償範囲 (点領域により示される)を示し、Nは３に等しい。条件 e は、点領域６５０に示されるように参照ブロックに対応する。条件 f は、点領域６６０に示されるように、参照ブロックに対応する。制約は、エンコーダおよびデコーダ両方に適用される。ＢＶに関連する情報はシグナリングされて、参照ブロックの位置を示すので、さらに、ブロックベクトル(ＢＶs)の幅を制約する。
【００３８】
図６Ｆは、N=1の条件e と f に対応する例を説明する図である。
【００３９】
さらに別の実施形態において、上述の定義された範囲より小さい任意のリファレンス領域が用いられる。たとえば、現在の IntraBC符号化ブロックの検索と補償範囲は、以下の条件の１つに制限される: 
(x_cur - N) < x_ref < x_cur および (y_cur - M) <y_ref ≦ y_cur, および
x_cur ≦ x_ref < (x_cur + N) および (y_cur - M) < y_ref < y_cur,   
ＮとＭは、任意の１以上の負数である。図７は、 N=3 と M=3の条件g と h による例を示す図である。
【００４０】
図６Ａ〜図６Ｅおよび図７に示されるように、有効なリファレンス領域は、はしご形状の領域に制限される。つまり、現在の作業ブロックより前の１つ以上の予め処理済みブロックは、IntraBC 予測の参照ブロックとして用いられる。任意の２個の隣接する前ＣＴＵロウにおいて、上方ＣＴＵロウ中の最後の予め処理済みブロックは、通常、下方ＣＴＵロウ中の最後の予め処理済みブロックの同じ垂直位置あるいは同じ垂直位置の後ろにある。現在のＣＴＵロウ上のＣＴＵロウの最後の予め処理済みブロックは、通常、現在の作業ブロックの同じ垂直位置あるいは同じ垂直位置の後ろにある。図６Ａ〜図６Ｅおよび図７において、ＣＴＵロウの処理順序は、上から下である。これにより、前ＣＴＵロウは、現在のＣＴＵロウの上である。さらに、各ＣＴＵロウの処理順序は左から右である。これにより、最後の予め処理済みブロックの同じ垂直位置の後ろというのは、最後の予め処理済みブロックの同じ垂直位置の右側であるという意味である。処理順序が変わる場合、有効なリファレンス領域も変化する。
【００４１】
さらに、IntraBC 予測のはしご形状のリファレンス領域は、さらに、非-ＷＰＰ設定に適用される。これにより、ピクチャは、並列処理の複数の領域に分割される必要性がない。はしご形状のリファレンス領域に対する参照ブロックの制限は、フルフレーム検索と比較して、検索複雑性を減少させる。しかし、さらに、フルフレーム検索に類似する改善されたパフォーマンスを提供することができる。 
【００４２】
ブロックベクトル制約
ブロックベクトルが無効のリファレンスデータ領域を指し示す問題を回避するため、ＢＶクリッピングの方法が開示される。この発明において、クリッピング操作が、IntraBC ブロックベクトル (ＢＶ)予測因子および/またはIntraBC Merge 候補のＢＶに適用される。既存の設計において、IntraBC 符号化ブロックのブロックベクトルはいくつか制約がある。ＢＶは、現在のピクチャ中のすでに再構成された領域（）だけを示す。現在のスクリーンコンテンツ向け符号化 (SCC)において、同じ符号化ユニット中の再構成された領域は、IntraBC 補償に用いることができない。前もって符号化されたブロックベクトルが予測因子 (通常のIntraBC モードあるいはIntraBC Merge/Skip モードで)として用いられるとき、現在のブロックにとって有効なベクトルではない。図８Ａと図８Ｂは、無効の予測因子が発生する状況の例を示す図である。破線矢印 (８１０と８３０)は、隣接するIntraBC 符号化ブロックのＢＶを示し、実線矢印 (８２０と８４０)は、現在のIntraBC ブロックの隣接するＢＶに基づくＢＶ予測因子を示す。破線の長方形や正方形は、対応する IntraBC ブロックの参照ブロックに対応する。図８Ａと図８Ｂにおいて、ブロックベクトル予測因子は、現在のブロックの空間的相隣によるものである。
【００４３】
これにより、いくつかの制約をブロックベクトル予測因子に課す必要があり、よって、現在の IntraBC ブロックの有効なブロックベクトルになる。さらに特に、ブロックベクトル予測因子のＸ軸コンポーネントおよび/あるいはＹ軸コンポーネントは、いくつかの要求を満たさなくてはならない。表１において、２個のパラメータHoffsetおよびVoffset が定義されて、このような要求を記述する。
【表１】
2019083541.tif 000003
【００４４】
現在のブロックのＢＶ予測因子が BV = (BV_x, BV_y)、且つ、ＢＶのクリップバージョンがBV’ = (BV_x’, BV_y’)であると仮定する。以下の例は、クリッピング操作の各種ケースを開示する。
【００４５】
ケース１: クリッピングの前、ブロックベクトルＢＶの両コンポーネンツが０以下である場合、BV_x > - Hoffset および BV_y > - Voffset 両方がtrueであるとき、クリッピング操作が要求される。
【００４６】
本実施形態によると、クリッピングがケース１に必要である場合、BV_x’ = -Hoffset (および、BV_y’ = BV_y)は、クリッピング操作として用いられる。別の実施形態において、BV_y’ = -Voffset (and BV_x’ = BV_x)は、この場合、クリッピング操作として用いられる。さらに別の実施形態において、BV_y + Voffset, BV_x’ = -Hoffset (および BV_y’ = BV_y)より小さい(あるいは等しい)BV_x + Hoffset がクリッピング操作として用いられるとき; そうでなければ、この場合、BV_y’ = -Voffset (および、 BV_x’ = BV_x) は、クリッピング操作として用いられる。
【００４７】
ケース２: BV_x が、クリッピング前に、０より大きい場合、 BV_y > - Voffsetがtrueであるとき、クリッピング操作が要求される。
【００４８】
本実施形態にしたがって、この場合、クリッピングがケース２に必要なとき、BV_y’ = -Voffset (および、BV_x’ = BV_x) は、クリッピング操作として用いられる。別の実施形態において、この場合、BV_y’ = -Voffset (and BV_x’ = 0)は、クリッピング操作として用いられる。
【００４９】
ケース３: BV_y がクリッピング前、０より大きい場合、BV_x > - Hoffset がtrueであるとき、クリッピング操作が要求される。
【００５０】
クリッピングがケース３に必要なとき、BV_x’ = -Hoffset (および、BV_y’ = BV_y)は、この場合、本実施形態にしたがって、クリッピング操作として用いられる。別の実施形態において、BV_x’ = -Hoffset (and BV_y’ = 0)は、この場合、提案されるクリッピング操作として用いられる。
【００５１】
スライス/タイルベース並列処理のブロックベクトル制約 
スライス/タイルベースプロセスにおいて、１つのピクチャは、複数のスライスあるいはタイルに分割される。並列処理を達成するため、各スライスあるいはタイルは、独立して復号される。しかし、フルフレーム IntraBC モードは、現在のＣＵおよび予め符号化されたＣＵ間にデータ依存をもたらし、データ依存は、スライスあるいはタイル境界を横切るとともに、並列処理を禁止するという意味を含む。これにより、本発明は、フルフレーム IntraBC モードにおける有効なリファレンス領域上に制約を課す。特に、フルフレーム IntraBC モードの有効なリファレンス領域は、現在のＣＵが属するスライスあるいはタイルの領域に制限される。この制約を用いることにより、フルフレーム IBC モードにより取り込まれる異なるスライスあるいはタイル間のデータ依存が排除される。よって、同じスライスあるいはタイル中に、現在のＣＵおよび前もって符号化されたＣＵ間だけにデータ依存が存在する。制約は、エンコーダ側およびデコーダ側に適用される。エンコーダ側において、現在の IntraBC ブロックの検索と補償範囲は、現在のスライスあるいはタイルに制限される。デコーダ側において、現在のIntraBCブロックの補償範囲が、現在のスライスあるいはタイル内でない場合、ビットストリームは、適合ビットストリームではない。 
【００５２】
たとえば、図９に示されるように、１つのピクチャがＣＴＵに分割され、且つ、ピクチャ中のＣＴＵが、タイルに分割される。数値を有する各正方形は、スキャニング順序で、ＣＴＵに対応する。太線はタイル境界に対応する。この実施形態によると、依存状態は、タイル境界で破壊される。これにより、エンコーダおよびデコーダは制約が課される必要があるので、現在の IntraBC符号化ブロックのリファレンスデータが、現在のタイルによりもたらされる。たとえば、現在の IntraBC 符号化ＣＴＵ４６の参照ブロックは、同じタイル中の前もって符号化されたＣＴＵ４１、４２、４３、４４および４５に対応する。ＢＶあるいはクリッピングに与えられる制約がＢＶに適用されるとき、ＢＶ範囲が減少および/あるいはある冗長性が導入され、ＢＶ符号化はこれを考慮に入れて、符号化効率を改善する。 
【００５３】
マルチ-スライスあるいは複数の-タイル IntraBC 符号化において、現在の IntraBC符号化ブロックの補償ブロック (つまり、参照ブロック)は、完全に、現在のスライスあるいはタイル内にあるのではない。図１０は、別のタイル中で、参照ブロックＡ (１０２０)を示す現在のIntraBC (IBC)符号化ブロックのＢＶ(１０１０)の例を示す図で、これは、平行なタイルベース IntraBC プロセスを禁止する。タイル境界は太線で示される。
【００５４】
本実施形態において、ＢＶは、現在のIntraBC ブロックの有効なＢＶにクリップされる。２個の異なるクリッピングプロセスが用いられる。第１クリッピングプロセスにしたがって、垂直ＢＶがまずクリップされるので、参照ブロック (１０２０)の上部に対応する位置は、Tile_y_min より小さくなり、参照ブロックの下部に対応する位置は Tile_y_max より大きくならない(この実施形態において、Tile_y_min は Tile_y_maxより小さい)。その後、水平ＢＶがクリップされるので、参照ブロック (１０２０)の左側は Tile_x_min より小さくならず、参照ブロック (１０２０) の右側は Tile_x_maxより大きくならない (この実施形態において、Tile_x_minは、Tile_x_maxより小さい)。図１１は、図１０中の参照ブロックの例のクリッピングプロセスを説明する図である。垂直クリッピングの後、参照ブロックＡ (１０２０)は、位置Ｂ(１１０５)まで下がる。水平クリッピング後、現在のタイル中の新しい位置Ｃ (１１２０)が識別される。対応するクリップＢＶ (１１１０)も図１１中で示される。 
【００５５】
第２クリッピングプロセスは、まず、水平クリッピング、その後、垂直クリッピングを実行する。水平ＢＶがクリップされるので、参照ブロックの左側に対応する位置は Tile_x_min より小さくならず、参照ブロックの右側に対応する位置はTile_x_maxより大きくならない。その後、垂直ＢＶがクリップされて、参照ブロックの上部は Tile_y_min より小さくならず、参照ブロックの下部は、Tile_y_maxより大きくならない。図１２は、図１０の参照ブロックのクリッピングプロセスを説明する図である。水平クリッピング後、参照ブロックＡ (１０２０)は、位置Ｄ (１２０５)の左に移動する。垂直クリッピングの後、現在のタイル中の新しい位置Ｅ(１１２０)が識別される。対応するクリップＢＶ (１２１０)も図１２で示される。
【００５６】
クリッピングプロセスは、さらに、スライスベース並列処理に適用される。図１３は、スライスベース並列処理におけるクリッピングプロセスの例を示す図である。現在のピクチャは複数のスライスに分割される。現在の IntraBC符号化ブロックのＢＶ(１３１０)が、現在のスライス外の参照ブロックＡ (１３２０)に向けられる場合、ＢＶはクリップされる必要があるので、クリップＢＶは有効の参照ブロックを示す。垂直クリッピングの後、参照ブロックＡ (１３２０)はブロック位置Ｂ (１３３０)に移動する。そのブロックは現在のスライス中にあるので、ブロックＢは最終クリップ参照ブロックである。
【００５７】
非有効領域のIntraBC 補償 
ＢＶクリッピングが適用されたとしても、デコーダは、依然として、複数のスライス/タイルIntraBC プロセスにおいて、非有効領域を示す復号後のＢＶを有する。復号ＢＶが非有効領域を示すとき、IntraBC ブロックをどのように補償するかに関するデコーダ操作は定義されない。無効のＢＶによるデコーダでの潜在的問題を回避するため、本発明の実施形態は、各種プロセスを開示して、無効のＢＶの潜在的問題を解決する。 
【００５８】
1. 非有効領域の処理:パディング
IntraBC 参照ブロックが非有効領域と重複する場合、非有効領域中のサンプルは、隣接する有効な画素を用いることにより埋められる。その後、パディングサンプルがIntraBC 補償に用いられる。
【００５９】
2. 非-有効領域の処理: 所定の値を用いる
IntraBC 参照ブロックが非有効領域と重複する場合、非有効領域中のサンプルは、所定の値、たとえば、１２８に設定される。別の実施によると、符号化/復号前に、現在の再構成されたピクチャの画素値が所定の値 (たとえば、１２８)に設定される。一ブロックが符号化されるとともに再構成された後、再構成されたテクスチャがこのピクチャを満たす。IntraBC 参照ブロックが非有効領域と重複する場合、プリセット画素値が用いられる。
【００６０】
3. 非有効領域の処理:有効でない領域中の全画素に所定の値を用いる 
IntraBC 参照ブロックが非有効領域と重複する場合、有効でない領域中のサンプルは、所定の値、たとえば、１２８に設定される。 
【００６１】
4. 非有効領域の処理: Inter 参照ブロックを予測因子とする
現在のブロックが Inter-スライスにあり、且つ、IntraBC 参照ブロックが非有効領域と重複する場合、参照ブロックの非有効領域あるいは参照ブロック全体は、参照フレームのひとつ中の現在のブロックの配列されたブロックを参照することができる。たとえば、refIdx を有するピクチャが LIST_0中で０に等しい場合、現在のブロックと同じ位置を有するブロックが、IntraBC 予測因子として用いられる。 
【００６２】
別の実施形態によると、現在のブロックがInter-スライスにあり、且つ、IntraBC 参照ブロックが非有効領域と重複する場合、参照ブロックの非有効領域あるいは参照ブロック全体は、参照フレームの１つ中のIntraBC 参照ブロックの配列されたブロックを参照する。たとえば、refIdxを有するピクチャが LIST_0で０に等しい場合、 IntraBC 参照ブロックと同じ位置を有するブロックは、IntraBC 予測因子として用いられる。 
【００６３】
5.非有効領域の処理: １組の所定の値の１つを用いる
別の実施形態によると、複数の主要な色は、ブロックレベルより高いレベルでシグナリングされる。たとえば、スライスヘッダーにおいて、パラメータＮは、シグナリングされる主要な色の数を示し、Ｎは正の整数である。パラメータＮがシグナリング後、Ｎ個の主要な色に対応するＮ個の画素値がシグナリングされる。IntraBC 参照ブロックが非有効領域と重複する場合、非有効領域中のテクスチャは、スライスヘッダーでシグナリングされる所定の主要な色値のひとつに設定される。さらに、重複領域中に用いられる色の選択は、スライスヘッダー中の主要な色のリストのインデックスによりシグナリングされる。複数の主要な色は、さらに、ピクチャレベルあるいはシーケンスレベルでシグナリングされる。
【００６４】
さらに別の実施によると、IntraBC 参照ブロックが非有効領域と重複する場合、全体ブロックは、スライスヘッダーでシグナリングされる主要な色の１つを使用する。
【００６５】
本発明の実施形態を組み込んだシステムのパフォーマンスとSCM 2.0に基づいたアンカーシステムと比較する。比較は、各種テストイメージの全-Intraモード、ランダムアクセスモードおよび低遅延Ｂピクチャモードを有する３種の異なる符号化設定下で実行される。本発明による実施形態は、SCM 2.0 アンカーシステムがフルフレーム IntraBC リファレンス領域を割り当てるとき、有効なリファレンス領域に制約を課す。第１比較において、この実施形態は、図６Ｂの有効なリファレンス領域制約に基づく。パフォーマンスは、この領域で既知のパフォーマンス測定であるBD-rateを単位として測定される。図６Ｂに基づく実施形態のパフォーマンスは、アンカーシステムよりわずかに悪い。BD-レートは、アンカーシステムより2.2% 悪い。図６Ｅに基づく実施形態のパフォーマンスは、アンカーシステムよりわずかに悪い。BD-レートは、アンカーシステムより2.9%悪い。
【００６６】
図１４は、本発明の本実施形態による制限された検索範囲領域を組み込んだビデオエンコーダのIntraBC符号化のフローチャートである。現在のピクチャの現在のＣＴＵロウ中の現在の符号化ツリーユニット (ＣＴＵ)中の現在の作業ブロックが、工程１４１０で受信される。現在の作業ブロックは、メモリ(たとえば、コンピュータメモリ、バッファ (ＲＡＭまたはＤＲＡＭ)あるいは、その他の媒体)あるいは、プロセッサから検索される。工程１４２０において、参照ブロックは、有効なはしご形状のリファレンス領域から選択され、有効なはしご形状のリファレンス領域は、現在のＣＴＵロウ中の現在の作業ブロックより前の１つ以上の予め処理済みブロック、および、１つ以上の前ＣＴＵロウ中の１つ以上の予め処理済みブロックを有する。第１前ＣＴＵロウより、現在のＣＴＵロウからさらに遠い１つのＣＴＵロウである第２前ＣＴＵロウの最後の予め処理済みブロックの位置は、通常、第１前ＣＴＵロウの最後の予め処理済みブロックの同じ垂直位置あるいは同じ垂直位置の後ろである。現在のＣＴＵロウ上の前ＣＴＵロウの最後の予め処理済みブロックの位置は、通常、現在の作業ブロックの同じ垂直位置あるいは同じ垂直位置の後ろである。工程１４３０において、その後、現在の作業ブロックは、参照ブロックを予測因子として、IntraBC モードにしたがって符号化される。工程１４４０において、現在の作業ブロックの圧縮データを生成する。
【００６７】
図１５は、本発明の実施形態による制限された検索範囲領域を組み込んだビデオデコーダのIntraBC符号化のフローチャートである。現在のピクチャの複数のＣＴＵロウに関連するビデオビットストリームが工程１５１０で受信され、各ＣＴＵロウは、複数のブロックを有する。ビデオビットストリームは、メモリ(たとえば、コンピュータメモリ、バッファ (ＲＡＭまたはＤＲＡＭ)あるいはほかの媒体)あるいは、プロセッサから検索される。工程１５２０において、現在の作業ブロックの符号化ブロックが、現在のＣＴＵロウを含むビデオビットストリームから決定される。工程１５３０において、参照ブロックは、有効なはしご形状のリファレンス領域から選択され、有効なはしご形状のリファレンス領域は、現在のＣＴＵロウ中の現在の作業ブロックより前の１つ以上の前もって再構成されたブロック、および、１つ以上の前ＣＴＵロウ中の１つ以上の前もって構成されたブロックを有する。第１前ＣＴＵロウ（first previous CTU row）より、現在のＣＴＵロウからさらに遠い１つのＣＴＵロウである第２前ＣＴＵロウ（second previous CTU row）の最後の予め処理済みブロックの位置は、通常、第１前ＣＴＵロウの最後の予め処理済みブロックの同じ垂直位置あるいは同じ垂直位置の後ろである。現在のＣＴＵロウ上の前のＣＴＵロウの最後の予め処理済みブロックの位置は、通常、現在の作業ブロックの同じ垂直位置あるいは同じ垂直位置の後ろである。工程１５４０において、現在の作業ブロックは、IntraBC モードにしたがって、参照ブロックを予測因子として、符号化されたブロックから再構成される。
【００６８】
図１６は、本発明の本実施形態による制限された検索範囲領域を組み込んだスライス/タイルベース並列処理によるビデオエンコーダのIntraBC 符号化のフローチャートである。工程１６１０において、現在のピクチャが、複数のスライスあるいはタイルに分割されて、並列符号化プロセスを複数のスライスあるいはタイルに適用する。符号化プロセスは、現在のブロックがIntraBC モードで符号化される場合を説明する。工程１６２０において、参照ブロックは、有効なリファレンス領域から選択され、有効なリファレンス領域は、現在のスライスあるいは現在のタイルの現在のブロックより前の１つ以上の予め処理済みブロックを含む。工程１６３０において、現在のブロックは、参照ブロックを予測因子として、IntraBC モードにしたがって、符号化される。工程１６４０において、現在のスライスあるいは現在のタイルに対応する圧縮データは、エントロピー符号化を、現在のブロックの予測結果に適用することにより生成される。
【００６９】
図１７は、本発明の本実施形態による制限された検索範囲領域を組み込んだスライス/タイルベース並列処理によるビデオデコーダのIntraBC 符号化のフローチャートである。現在のピクチャから分割され、且つ、同時に符号化される複数のスライスあるいはタイルに関連するビデオビットストリームが、工程１７１０において受信される。復号プロセスが、現在のブロックがIntraBC モードで符号化される場合を説明する。工程１７２０において、現在のブロックの符号化ブロックが、ビデオビットストリームから決定される。工程１７３０において、参照ブロックは、有効なリファレンス領域から選択され、有効なリファレンス領域は、現在のスライスあるいは現在のタイルの現在のブロックより前の１つ以上の前もって再構成されたブロック（previously reconstructed blocks）を含む。工程１７４０において、現在のブロックは、参照ブロックを予測因子として、IntraBC モードにしたがって、符号化ブロックから再構成される。
【００７０】
上記で示されるフローチャートは、本発明によるIntraBC 符号化の例を説明するためのものである。当業者は、本発明の精神と領域を脱しない範囲内で、各ステップを修正、再アレンジ、分割、結合して、本発明を実行することができる。本開示において、特定の構文と語義が用いられて、例を説明し、本発明の実施形態を実行する。当業者は、本発明の精神と領域を脱しない範囲内で、構文と語義を、等価の構文と語義と置き換えることにより、本発明を実施する。
【００７１】
上の記述が提示されて、当業者に、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を行うことができる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明が行えることが理解できる。
【００７２】
上述の本発明の具体例は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行される。たとえば、本発明の具体例は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ（ＤＳＰ）で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の精神を逸脱しない。
【００７３】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図１】
2019083541.tif 000004
【図２】
2019083541.tif 000005
【図３】
2019083541.tif 000006
【図４】
2019083541.tif 000007
【図５Ａ】
2019083541.tif 000008
【図５Ｂ】
2019083541.tif 000009
【図５Ｃ】
2019083541.tif 000010
【図６Ａ】
2019083541.tif 000011
【図６Ｂ】
2019083541.tif 000012
【図６Ｃ】
2019083541.tif 000013
【図６Ｄ】
2019083541.tif 000014
【図６Ｅ】
2019083541.tif 000015
【図６Ｆ】
2019083541.tif 000016
【図７】
2019083541.tif 000017
【図８Ａ】
2019083541.tif 000018
【図８Ｂ】
2019083541.tif 000019
【図９】
2019083541.tif 000020
【図１０】
2019083541.tif 000021
【図１１】
2019083541.tif 000022
【図１２】
2019083541.tif 000023
【図１３】
2019083541.tif 000024
【図１４】
2019083541.tif 000025
【図１５】
2019083541.tif 000026
【図１６】
2019083541.tif 000027
【図１７】
2019083541.tif 000028