(57)【要約】 【課題】Intra Block Copyモード復号化ピクチャバッファの方法を提供する。【解決手段】Inter予測モード及びIntra Block Copy(IntraBC)モードを含む符号化モードを用いたビデオエンコーダ／デコーダ用復号化ピクチャバッファ(DPB)の管理方法において、IntraBCモードが有効化されたか、現ピクチャの復号化前に任意のループフィルタが現ピクチャに用いられるかを決定するステップを含み、IntraBCモードが有効化され現ピクチャにループフィルタが用いられない場合、現ピクチャを復号化する前又は復号化中、長期参照ピクチャとして現ピクチャ用の現在復号化参照ピクチャをマーキングし、現在復号化参照ピクチャはDPBにある空のピクチャ記憶バッファに対応し、現ピクチャのIntraBC参照用に参照ピクチャリスト構築に現在復号化参照ピクチャを割り当て、１つの参照ピクチャバッファだけを考慮して現ピクチャの復号化前にDPBのバッファ占有量を計算する。【選択図】    図１
2019208266.tif 000002
【特許請求の範囲】
【請求項１】
Ｉｎｔｅｒ予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオエンコーダまたはビデオデコーダ用の復号化ピクチャバッファ（ＤＰＢ）を管理する方法であって、
現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する情報を考慮に入れて、短期および長期参照ピクチャを含む前記ＤＰＢ用の参照ピクチャの総数を計算するステップ、
前記ＤＰＢの参照ピクチャの総数まで割り当てるステップ、
前記ＤＰＢに保存された前記参照ピクチャを用いて現在のピクチャを符号化または復号化するステップを含む方法。
【請求項２】
前記参照ピクチャの総数は、前記現在のピクチャの前記ピクチャオーダーカウント（ＰＯＣ）の値より小さいピクチャオーダーカウント（ＰＯＣ）の値を有する短期参照ピクチャセット（ＲＰＳ）の第１の総数と、前記現在のピクチャの前記ＰＯＣの値より大きい前記ＰＯＣの値を有する短期参照ピクチャセット（ＲＰＳ）の第２の総数と、長期参照ピクチャセット（ＲＰＳ）の第３の総数と、前記現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する情報に関連するバージョンの値との和として計算され、前記現在復号化ピクチャの２つのバージョンが用いられる場合、前記バージョンの値は１であり、前記現在復号化ピクチャの１つのバージョンが用いられる場合、前記バージョンの値は０である請求項１に記載の方法。
【請求項３】
参照ピクチャの総数が、シーケンスパラメータセット（ＳＰＳ）において指定された前記ＤＰＢの最大所要サイズ−１より大きい場合、参照ピクチャの総数は、前記ＤＰＢの最大所要サイズ−１またはより小さいサイズに設定される請求項２の方法。
【請求項４】
前記現在のピクチャを復号化した後、短期参照ピクチャとして、前記現在復号化ピクチャをマーキングし、前記ＤＰＢの前記現在の復号化ピクチャを保持するステップを更に含む請求項３の方法。
【請求項５】
前記現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する前記情報は、前記現在のピクチャに用いられるループフィルタがなく、ＩｎｔｒａＢＣモードが有効化されることを示すフラグに基づいて決定される請求項３の方法。
【請求項６】
Ｉｎｔｅｒ予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオデコーダであって、
現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する情報を考慮に入れて、短期および長期参照ピクチャを含む前記ＤＰＢ用の参照ピクチャの総数を計算し、
前記ＤＰＢの参照ピクチャの総数まで割り当て、且つ
前記ＤＰＢに保存された前記参照ピクチャを用いて現在のピクチャを復号化するように配置された、復号化ピクチャバッファ（ＤＰＢ）および１つ以上の電子回路を含むビデオデコーダ。
【請求項７】
Ｉｎｔｅｒ予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオエンコーダまたはビデオデコーダ用の復号化ピクチャバッファ（ＤＰＢ）を管理する方法であって、
ＩｎｔｒａＢＣモードが有効化されるかどうか、前記現在のピクチャを復号化する前に、任意のループフィルタが現在のピクチャに用いられるかどうかを決定するステップを含み、且つ
前記ＩｎｔｒａＢＣモードが有効化され、前記現在のピクチャにループフィルタが用いられない場合、
前記現在のピクチャを復号化する前、または復号化している間、長期参照ピクチャとして、前記現在のピクチャ用の現在復号化参照ピクチャをマーキングし、前記現在復号化参照ピクチャは、前記ＤＰＢにある空のピクチャ記憶バッファに対応し、
現在のピクチャのＩｎｔｒａＢＣ参照用に参照ピクチャリスト構築に現在復号化参照ピクチャを割り当て、且つ
１つの参照ピクチャバッファだけを考慮に入れて前記現在のピクチャの復号化を始める前に前記ＤＰＢのバッファ占有量を計算する方法。
【請求項８】
前記ＩｎｔｒａＢＣモードが有効化され、前記現在のピクチャにループフィルタが用いられない場合、
前記現在のピクチャを復号化した後、短期参照ピクチャとして、前記ＤＰＢの現在復号化参照ピクチャをマーキングするステップ、および
今後の使用のために、前記現在復号化参照ピクチャを前記ＤＰＢに保存するステップを更に含む請求項７に記載の方法。
【請求項９】
Ｉｎｔｅｒ予測モードおよびIntra Block Copy(IntraBC)モードを含む符号化モードを用いたビデオデコーダであって、
ＩｎｔｒａＢＣモードが有効化されるかどうか、前記現在のピクチャを復号化する前に、任意のループフィルタが現在のピクチャに用いられるかどうかを決定するように配置された、復号化ピクチャバッファ（ＤＰＢ）および１つ以上の電子回路を含み、且つ
前記ＩｎｔｒａＢＣモードが有効化され、前記現在のピクチャにループフィルタが用いられない場合、
前記現在のピクチャを復号化する前、または復号化している間、長期参照ピクチャとして、前記現在のピクチャ用の現在復号化参照ピクチャをマーキングし、前記現在復号化参照ピクチャは、前記ＤＰＢにある空のピクチャ記憶バッファに対応し、
現在のピクチャのＩｎｔｒａＢＣ参照用に参照ピクチャリスト構築に現在復号化参照ピクチャを割り当て、且つ
１つの参照ピクチャバッファだけを考慮に入れて前記現在のピクチャの復号化を始める前に前記ＤＰＢのバッファ占有量を計算するビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１５年９月８日に出願された米国特許仮出願番号第６２／２１５，２８７号、２０１５年１０月２３日に出願された米国特許仮出願番号第６２／２４５，３７２号についての優先権を主張するものであり、これらの全ては引用によって本願に援用される。
【０００２】
本発明は、ビデオデータのパレット符号化に関するものであり、特に、符号化システムがインター（Ｉｎｔｅｒ）予測モードおよびイントラ・ブロック・コピー（Intra Block Copy）モードを含む符号化モードを用いるときの復号化ピクチャバッファの管理／運用に関するものである。
【背景技術】
【０００３】
高効率ビデオコーディング（ＨＥＶＣ）は、近年発展している新しい符号化基準である。高効率ビデオコーディング（ＨＥＶＣ）システムにおいて、Ｈ.２６４/ＡＶＣの固定サイズのマクロブロックは、符号化ユニット（ＣＵ）というフレキシブルなブロックにより代替される。ＣＵ中の画素は、同じ符号化パラメータを共有して、符号化効率を改善する。ＣＵは最大ＣＵ（ＬＣＵ）から始まり、ＨＥＶＣの符号化ツリーユニット（ＣＴＵ）とも称される。符号化ユニットの概念に加え、予測単位（ＰＵ）の概念もＨＥＶＣに導入される。一旦、ＣＵ階層ツリーの分割が行われると、各リーフＣＵは、予測タイプ、および、ＰＵ分割にしたがって、さらに、１つ以上の予測単位（ＰＵ）に分割される。ＨＥＶＣは、スライス構造も支援し、画像がスライスに分割され、各スライスは、自己の符号化パラメータまたは構成を用いることができる。
【０００４】
高効率ビデオコーディング（ＨＥＶＣ）標準の発展に伴い、ＨＥＶＣの拡張の発展も始まっている。ＨＥＶＣ拡張は、非-４：２：０カラーフォーマット、例えば、４：２：２および４：４：４で標的にする範囲拡張（ＲＥｘｔ）および１サンプルごとに、高ビット-深さビデオ、例えば、１２、１４および１６ビットを有する。ＲＥｘｔを用いたふさわしいアプリケーションの一つは、有線または無線接続によるスクリーンシェアリングである。スクリーンコンテンツの特定の特徴のため、符号化ツールが発展するとともに、符号化効率において十分な発展を証明している。
【０００５】
イントラ（Ｉｎｔｒａ）ブロックコピー予測
【０００６】
高効率ビデオコーディング（ＨＥＶＣ）標準のスクリーンコンテンツ向け符号化の最近の動向において、いくつかのツールは、これらのスクリーンコンテンツの符号化効率におけるそれらの改善により用いられている。Ｉｎｔｒａブロックにおいて、従来のアプローチによるＩｎｔｒａ予測は、隣接するブロックから再構成された画素に基づいた予測を用いて実行される。Ｉｎｔｒａ予測は、垂直モード、水平モード、および各種角度予測モードを含む１組のＩｎｔｒａモードからＩｎｔｒａモードを選択する。ＨＥＶＣスクリーンコンテンツ向け符号化において、Ｉｎｔｒａブロックコピー（ＩｎｔｒａＢＣ）という名の新しいＩｎｔｒａ符号化モードが用いられている。ＩｎｔｒａＢＣ技術は、Budagaviにより、ＡＨＧ８で提出された: 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(ika,JCTVC-M0350）を参照されたい。ＪＣＴＶＣ−Ｍ０３５０による例が図１に示され、現在の符号化ユニット（ＣＵ、１１０）が、Ｉｎｔｒａ動き補償（motion compensation；ＭＣ）を用いて符号化される。予測ブロック（１２０）は、現在のＣＵおよび変位ベクトル（１１２）により配置される。この例において、検索領域は、現在の符号化ツリーユニット（coding tree unit；ＣＴＵ）、左のＣＴＵおよび左側の左のＣＴＵに限定される。予測ブロックは、既に再構成された領域から得られる。その後、ブロックベクトル（block vector；ＢＶ）とも称される変位ベクトル、および現在のＣＵの余剰が符号化される。ＨＥＶＣは、ＣＴＵとＣＵブロック構造を基本単位とし、ビデオデータを符号化することが知られている。各ピクチャはＣＴＵに分割され、且つ、各ＣＴＵはＣＵに分割される。予測位相期間中、各ＣＵは、予測ユニット（prediction units；ＰＵｓ）という名の複数のブロックに分割されて、予測プロセスを実行する。予測余剰が各ＣＵに形成された後、各ＣＵに関連する余剰は、変換ユニット（transform units；ＴＵｓ）という名の複数のブロックに分割されて、変換を適用する。
【０００７】
ＪＣＴＶＣ−Ｍ０３５０において、Ｉｎｔｒａ ＭＣは、少なくとも以下の領域中でＩｎｔｅｒ予測に用いられる動き補償と異なる：
・ＭＶは、Ｉｎｔｒａ ＭＣ（即ち、水平または垂直）の１−Ｄに制限され、Ｉｎｔｅｒ予測は２−Ｄ動き推定を用いる。
・２値化は、Ｉｎｔｒａ ＭＣの固定長さであり、Ｉｎｔｅｒ予測は指数関数−Ｇｏｌｏｍｂを用いる。
・Ｉｎｔｒａ ＭＣは、新しいシンタックス要素を導入して、ＭＶが、水平または垂直かを伝達する。 
【０００８】
ＪＣＴＶＣ−Ｍ０３５０に基づいて、Ｐａｎｇ等により、Ｎｏｎ−ＲＣＥ３で、いくつかの修正が行われている： 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 (ika,JCTVC/ N0256）。まず、Ｉｎｔｒａ ＭＣが拡張されて、２−Ｄ  ＭＶｓをサポートするので、両コンポーネンツは、同時に非ゼロになる。これは、本来のアプローチよりも、Ｉｎｔｒａ ＭＣにさらなるフレキシブル性を提供し、ＭＶは、厳密に、水平または垂直に制約される。 
【０００９】
ＪＣＴＶＣ−Ｎ０２５６において、２つのＢＶ符号化方法が開示されている：
・方法１− ブロックベクトル予測。 左側または上方のＢＶがＢＶ予測因子として選択されて、得られた動きベクトル差 （ＢＶＤ）が符号化される。フラグが用いられて、ＢＶＤがゼロであるかどうか示す。ＢＶＤがゼロでない場合、第三順位の指数関数−Ｇｏｌｏｍｂ符号が用いられて、残りの絶対レベルのＢＶＤを符号化する。別のフラグが用いられて、サインを符号化する。
・方法２− 動きベクトル予測無し。 ＢＶが、ＨＥＶＣ中のＢＶＤに用いられる指数関数−Ｇｏｌｏｍｂ符号を用いて符号化される。 
【００１０】
ＪＣＴＶＣ−Ｎ０２５６で開示されたもう１つの違いは、２−Ｄ Ｉｎｔｒａ ＭＣが、さらに、経路を考慮したアプローチと組み合わされることである：
１. 補間フィルタが用いられない, 
２. ＢＶ検索領域が制限される。２つの場合が開示される：
ａ．検索領域は、現在のＣＴＵおよび左のＣＴＵである、または
ｂ．検索領域は、現在のＣＴＵおよび左のＣＴＵの最右の４カラムサンプルである。 
【００１１】
ＪＣＴＶＣ−Ｎ０２５６において提案される方法において、２−Ｄ Ｉｎｔｒａ ＭＣ、補間フィルタの除去、現在のＣＴＵおよび左のＣＴＵに制約される検索領域が、新しいバージョンのドラフトＨＥＶＣ  ＲＥｘｔ標準に採用されている。 
【００１２】
現存するＳＣＣドラフト標準（ＳＣＭ）のＩｎｔｒａＢＣ
【００１３】
ＪＣＴＶＣ−Ｔ０２２７（Ｐａｎｇ等により、Non-CE2:Non-CE2 Test1: Intra block copy and inter signalling unification,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, 20th Meeting: Geneva, CH, 10-18 Feb. 2015, Document: JCTVC-T0227）において、ＩｎｔｒａＢＣモードは、Ｉｎｔｅｒ符号化モードと一体化されている。言い換えれば、現在のピクチャは、参照ピクチャとして処理され、１つまたは２つの参照ピクチャリスト（即ち、リストＬ０およびリストＬ１）内に挿入される。ブロックベクトル予測および符号化は、Ｉｎｔｅｒ動きベクトル予測および符号化と同様に処理される。この統一は、コーデックの設計を簡単化させる。
【００１４】
適応動き精度
【００１５】
ＪＣＴＶＣ−Ｓ００８５ （Ｌｉなどにより、 Adaptive motion vector resolution for screen content, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 19Th Meeting: Strasbourg, Fr, 17-24 Oct. 2014, Document: JCTVC-S0085）において、フラグ“use_integer_mv_flag”は、各スライスに用いられ、スライスのＭＶの精度を示している。このフラグが１の場合、ＨＥＶＣ標準に規定されているように、このスライスの全ての復号化された動きベクトルは、１つの整数個ペル（integer-pel）精度を用いて表される。そうでなければ、動きベクトルは、クォーターペル精度を用いて表される。
【００１６】
現在のＳＣＣドラフト標準（ＳＣＭ）のメモリ帯域幅の考慮
【００１７】
ブロックを再構築するとき、参照ブロックは、予測に用いられなければならない。動きベクトルが分数位置を指す場合、参照ブロックを囲むより多くの画素も補間の目的のために必要となる。参照ブロックを取得し、その周囲画素が外部メモリから必要なとき、データ取り込みは、用いられるメモリパターンによってバルクに導入される。例えば、用いられるメモリパターンが４×４のサンプルブロックの場合、アクセスデータの最小ユニットは、１つの画素だけが必要な場合でも、４×４である。従って、直接関連した画素より、より多くのデータが取り込まれ、次の処理のためにオンチップメモリ／バッファに送信されなければならない。これらのデータは、全てメモリ帯域幅の占有量に含まれる。ＨＥＶＣでは、最悪の場合のメモリ帯域幅の占有量は、分数ペルのＭＶを有する両動きベクトルの８×８の双予測モードにある。ＩｎｔｒａＢＣモードが用いられているとき、現在のピクチャのフィルタリングされていないバージョンは、Ｉｎｔｅｒ予測モードの現在のピクチャのフィルタリングされたバージョンに加え、外部メモリにも保存されなければならない。これは、ＨＥＶＣにとって余分なコストとみなされる。
【００１８】
ＪＣＴＶＣ−Ｕ００７８（Rapaka, Et Al., Ce2: Test 5 On Intra Block Copy Constraints on prediction, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 And Iso/Iec Jtc 1/Sc 29/Wg 11, 21St Meeting: Warsaw, Pl, 19 June - 26 June 2015, Document: Jctvc-U0078）において、ＩｎｔｒａＢＣが用いられるとき、８×８の双予測モードの使用に何らかの制約が課される。例えば、８×８の双予測モードの使用は、ＩｎｔｒａＢＣのシーケンスパラメータセット（sequence Parameter Set; SPS）フラグがオンのとき、且つスライスヘッダフラグuse_integer_mv_flag（スライスのＭＶの精度を示している）がオフのとき、無効になる。
【００１９】
現在のＳＣＣドラフト標準（ＳＣＭ）の復号化ピクチャバッファ
【００２０】
ＨＥＶＣにおいて、全ての参照ピクチャは、復号化ピクチャバッファ（ＤＰＢ）と称されるバッファに保存される。これは、ピクチャを復号化するとき、時間毎に行われ、ループフィルタリングの操作後の現在復号化ピクチャは、ＤＰＢ（現在復号化ピクチャのフィルタリングされたバージョンと称される）内に格納される。ＩｎｔｒａＢＣには、その参照ピクチャは、ループフィルタの前の現在復号化ピクチャであり（現在復号化ピクチャのフィルタリングされていないバージョンと称される）、ＨＥＶＣバージョン１に対してＤＰＢに保存される予備のピクチャである。ＪＣＴＶＣ−Ｕ０１８１（Xu, et al., On storage of filtered and unfiltered current decoded pictures, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 21st Meeting: Warsaw, PL, 19 June - 26 June 2015, Document: JCTVC-U0181）において、現在復号化ピクチャのフィルタリングされたバージョンとフィルタリングされていないバージョンの両方は、ピクチャバッファの管理用にＤＰＢ内に格納される。便宜上、現在復号化ピクチャのフィルタリングされたバージョンまたはフィルタリングされていないバージョンは、「復号化」の文字を取り除いて、現在のピクチャのフィルタリングされたバージョンまたはフィルタリングされていないバージョンと呼ばれることもできる。現在のピクチャのフィルタリングされていないバージョンは、現在ピクチャの復号化の完了後、破棄され、このピクチャの記憶バッファは、開放される。
【００２１】
現在復号化ピクチャの２つのバージョンが同一である場合が考慮される。これは、現在のピクチャに用いられるループフィルタ（デブロッキングまたはＳＡＯ）がないときに生じる。ＪＣＴＶＣ−Ｕ１００５ （Joshi,et al.,High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 3, Joint Collabrative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 21st Meeting: Warsaw, PL, 19 June - 26 June 2015, Document: JCTVC-U1005）に記述された、現在のＨＥＶＣ ＳＣＣの作業ドラフトにおいて、TwoVersionsOfCurrDecPicFlagと称される変数が用いられ、現在のピクチャが参照ピクチャとして用いられるかどうかを識別する。用いられる場合、ピクチャでのループフィルタの使用により、２つの異なるバージョンの現在のピクチャがある可能性がある。
１）ループフィルタの実施後の現在復号化ピクチャは、ＤＰＢに保存される。現在ピクチャの復号化を完了したこのピクチャは、「短期参照に使用される」ものとしてマークされ、復号化が完了したとき、このピクチャは将来の使用のために、ＤＰＢに保存される。
２）２つのVersionsOfCurrDecPicFlagが１と等しいとき、ループフィルタの実施前の現在復号化ピクチャは、個別のバッファでＤＰＢに保存される。このピクチャは、「長期参照に使用される」ものとしてマークされ、ＩｎｔｒａＢＣ補償に用いられる。復号化が完了したとき、このピクチャは、ＤＰＢから除去される。
【００２２】
ＨＥＶＣの仕様に従って、Short-Term Reference Picture Sets が、現在のピクチャの時間的近似性のピクチャ、例えば同じ構造内のピクチャなどに参照を提供するように設計されている。一方、Long-Term Reference Picture Setsは、長時参照の目的のために選択されたピクチャに取り組むように用いられることができる。これらの長期参照ピクチャセットは、短期ピクチャセットから独立して構築されている。現在のピクチャが参照ピクチャであるとき、復号化ピクチャバッファの管理の変更に伴い、復号化ピクチャバッファの管理の機能が適切に機能することを確保するために、何らかの制約が課される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【００２３】
本発明は、イントラ・ブロック・コピーモードの復号化ピクチャバッファの方法およびシステムを提供する。
【課題を解決するための手段】
【００２４】
Ｉｎｔｅｒ予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオエンコーダおよびビデオデコーダ用の復号化ピクチャバッファ（ＤＰＢ）を管理する方法およびシステムが開示される。ＩｎｔｒａＢＣモードが有効化され、現在のピクチャにループフィルタが用いられない場合、ステップのセットが行われ、適切なＤＰＢ操作を確保する。ステップのセットは、現在のピクチャを復号化する前、または復号化している間、長期参照ピクチャとして、現在のピクチャ用の現在復号化参照ピクチャをマーキングし、現在復号化参照ピクチャは、現在のピクチャのＩｎｔｒａＢＣ参照用に参照ピクチャリスト構築に現在復号化参照ピクチャを割り当て、および１つの参照ピクチャバッファだけを考慮に入れて現在のピクチャの復号化を始める前にＤＰＢのバッファ占有量を計算する。現在復号化参照ピクチャは、ＤＰＢにある空のピクチャ記憶バッファに対応する。また、前記方法は、現在のピクチャを復号化した後、短期参照ピクチャとして、ＤＰＢの現在復号化参照ピクチャをマーキングするステップ、および今後の使用のために、現在復号化参照ピクチャをＤＰＢに保存するステップを含むことができる。
【００２５】
ＤＰＢを管理する他の方法およびシステムが開示され、ＤＰＢの最大サイズが１に対応する場合、前記方法は、変数またはシンタックス要素を目標値に設定し、ＤＰＢで１つのピクチャ記憶バッファだけを用いるように制限を課し、現在のピクチャを符号化または復号化する参照ピクチャを保存するステップを含む。例えば、変数またはシンタックス要素を目標値に設定するステップは、ＩｎｔｒａＢＣモードが現在のピクチャに用いられない場合、現在のピクチャのスライス用のスライスタイプをＩ−ｓｌｉｃｅに設定するステップに対応する。もう１つの例では、変数またはシンタックス要素を目標値に設定するステップは、変数TwoVersionsOfCurrDecPicFlagを現在復号化ピクチャの１つのバージョンだけが用いられている第１の値に設定するステップに対応する。変数TwoVersionsOfCurrDecPicFlagは、現在復号化ピクチャの２つのバージョンが用いられるかどうかを示す。またもう１つの例では、変数またはシンタックス要素を目標値に設定するステップは、ピクチャパラメータセット（ＰＰＳ）のＩｎｔｒａＢＣフラグを第２の値に設定するステップに対応し、ＩｎｔｒａＢＣモードが現在のピクチャに用いられないことを示す。
【００２６】
ＤＰＢを管理するまたもう１つの方法およびシステムが開示され、現在のピクチャまたはスライスを復号化する参照ピクチャの総数は、現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する情報を考慮に入れて計算される。現在のピクチャまたはスライスを復号化する参照ピクチャセット（ＲＰＳ）は、短期および長期参照ピクチャを含む。例えば、参照ピクチャの総数は、現在のピクチャのピクチャオーダーカウント（ＰＯＣ）の値より小さいピクチャオーダーカウント（ＰＯＣ）の値を有する短期参照ピクチャセット（ＲＰＳ）の第１の総数と、現在のピクチャのＰＯＣの値より大きいＰＯＣの値を有する短期参照ピクチャセット（ＲＰＳ）の第２の総数と、長期参照ピクチャセット（ＲＰＳ）の第３の総数と、現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する情報に関連するバージョンの値との和として計算され、現在復号化ピクチャの２つのバージョンが用いられる場合、バージョンの値は１であり、現在復号化ピクチャの１つのバージョンが用いられる場合、バージョンの値は０である。参照ピクチャの総数が、シーケンスパラメータセット（ＳＰＳ）において指定されたＤＰＢの最大所要サイズ−１より大きい場合、参照ピクチャの総数は、ＤＰＢの最大所要サイズ−１またはより小さいサイズに設定される。
【図面の簡単な説明】
【００２７】
【図１】図１は、イントラブロックコピー（ＩｎｔｒａＢＣ）モードの例を示しており、現在のブロックは、現在のピクチャの参照ブロックで予測されている。
【図２】図２は、本発明の実施形態に係る、復号化ピクチャバッファ（ＤＦＢ）を組み込んだ例示的な符号化システムのフローチャートを示している。
【図３】図３は、本発明の実施形態に係る、ＤＰＢの最大サイズが１と等しい復号化ピクチャバッファ（ＤＦＢ）の管理／運用を組み込んだ例示的な符号化システムのフローチャートを示している。
【図４】図４は、本発明の実施形態に係る、例示的な符号化システムのフローチャートを示しており、ＤＰＢの参照ピクチャの総数は、現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する情報を考慮に入れて計算される。
【発明を実施するための形態】
【００２８】
以下の説明は、本発明を実施するベストモードが開示されている。この説明は、本発明の一般原理を例示する目的のためのもので本発明を限定するものではない。本発明の範囲は、添付の請求の範囲を参考にして決定される。
【００２９】
上述のように、現存する復号化ピクチャバッファ（ＤＰＢ）の管理は、イントラブロックコピー（ＩｎｔｒａＢＣ）モードに基づいて、現在の再構成されたピクチャが参照ピクチャとして用いられることができるとき、正常に動作しない可能性がある。ＩｎｔｒａＢＣが用いられるとき、ＤＰＢの操作に関連する問題を克服するために、ＤＰＢを操作するさまざまな方法が開示される。
【００３０】
方法１：復号化ピクチャバッファの最大サイズの計算
【００３１】
シンタックス要素 sps_max_dec_pic_buffering_minus1 は、ビットストリームのシーケンスパラメータセット（ＳＰＳ）レベルで伝達され、各時間レイヤが許容される復号化ピクチャおよび記憶ピクチャの総数を制限する。このシンタックス要素は、（MaxDPBSize−１）より小さい、または等しくなければならず、MaxDPBSize  は、所定の画像解像度用に標準の最大許容ＤＰＢサイズを決定するのに用いられる。ＨＥＶＣでは、ＤＰＢにある１つのピクチャバッファは、現在復号化ピクチャのフィルタリングされたバージョンを保存するように確保されている。ＤＰＢの残りは、他の時間参照ピクチャまたは出力用に待機している復号化ピクチャを保存するように用いられる。これらのＤＰＢに保存されたピクチャの全ての合計は、時間参照ピクチャおよび出力用の待機ピクチャを含み、このレイヤ用にＳＰＳのシンタックス要素 sps_max_dec_pic_buffering_minus1 の値より小さいまたは等しくなければならず、ＪＣＴＶＣ−Ｕ１００５に基づいたピクチャ記憶バッファのユニットにおいて、符号化ビデオシーケンス（ＣＶＳ）用にＤＰＢの最大所要サイズを指定する。ＳＰＳのシンタックス要素 sps_max_dec_pic_buffering_minus1 の値は、０〜 MaxDpbSize−１を含む範囲とする。
【００３２】
現在のピクチャが参照ピクチャとして用いられるとき、現在のピクチャのフィルタリングされていないバージョンもＤＰＢ内に格納される必要がある。方法１の１つの実施形態に基づいて、ＤＰＢの能力に関して許容される参照ピクチャの数は、現在復号化ピクチャのフィルタリングされていないバージョンが現在復号化ピクチャのフィルタリングされたバージョンと同じであるかどうかを考慮に入れて計算される。例えば、両バージョンが同一のとき、現在のピクチャのフィルタリングされていないバージョン用にピクチャバッファを作成または確保する必要がない。これは、現在復号化ピクチャに用いられるループフィルタがないときに生じることができる。従って、この未使用ピクチャバッファは、他の時間参照ピクチャがＤＰＢに保存されることができ、現在のピクチャの予測に用いられるように割り当てられることができる。または、現在のピクチャが参照ピクチャとして用いられ、現在の符号化ピクチャの２つのバージョンが異なるとき、現在のピクチャの両バージョンは、ＤＰＢに保存される必要がある。ＤＰＢの残りは、時間参照ピクチャの保存に用いられ、他のピクチャは、出力用に待機している可能性がある。全ての場合において、参照ピクチャの数と現在のピクチャ（１つまたは２つのバージョン）の数の総計は、ＤＰＢでは復号化ピクチャの最大許容数より小さいまたは等しくなくてはならない。
【００３３】
１つの実施形態では、変数TwoVersionsOfCurrDecPicFlagが、現在のピクチャが参照ピクチャとして用いられるかどうか、現在のピクチャの２つのバージョンが異なるかどうかを識別するのに用いられる。この変数が１と等しいとき、２つの異なるバージョンの現在のピクチャがあるということを意味し、現在のピクチャは、参照ピクチャとして用いられる。この変数が０と等しいとき、現在のピクチャの１つのバージョンだけがあるということ、または現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして決して用いられないということを意味する。本発明の１つの実施形態に基づいた例示的なＤＰＢサイズ計算が以下に示される。ＪＣＴＶＣ−Ｕ１００５の７．４．７．１項に規定のセクション「General Slice Segment Header Semantics」は、以下のように修正され、下線を付したテキストは、追加されたテキストを示している。
Num_long_term_pics は、スライスヘッダで直接シグナリングする現在のピクチャの長期ＲＰＳのエントリの数を指定する。存在しない場合、num_long_term_pics の値は、０と等しいと推定される。
Nuh_layer_id が０と等しいとき、NumNegativePics[ CurrRpsIdx ]、 NumPositivePics[ CurrRpsIdx ]、 num_long_term_sps、 TwoVersionsOfCurrDecPicFlag、および num_long_term_pics の和は、sps_max_dec_pic_buffering_minus1［ sps_max_sub_layers_minus1 ］に満たないまたは等しい。
【００３４】
NumNegativePics[ CurrRpsIdx] は、現在のピクチャのピクチャオーダーカウント（ＰＯＣ）の値より小さいピクチャオーダーカウント（ＰＯＣ）の値を有する CurrRpsIdx 番目の候補の短期参照ピクチャセット（ＲＰＳ）中の現在のピクチャの長期ＲＰＳのエントリの数を指定する。NumPositivePics[ CurrRpsIdx ]は、現在のピクチャのピクチャオーダーカウント（ＰＯＣ）の値より大きいピクチャオーダーカウント（ＰＯＣ）の値を有する CurrRpsIdx 番目の候補の短期参照ピクチャセット（ＲＰＳ）中の現在のピクチャの長期ＲＰＳのエントリの数を指定する。Num_long_term_sps は、アクティブＳＰＳにおいて指定される候補の長期参照ピクチャに基づいて導出される、現在の長期ＲＰＳのエントリの数を指定する。sps_max_dec_pic_buffering_minus1 は、符号化ビデオシーケンス（ＣＶＳ）用に符号化ピクチャバッファの最大所要サイズを指定する。上述のように、本発明の実施形態に基づいたＤＰＢのサイズは、短期ＲＰＳ（即ち、NumNegativePics and NumPositivePics ）と、長期ＲＰＳ（即ち、num_long_term_sps および num_long_term_pics）と、変数 TwoVersionsOfCurrDecPicFlag との和として計算される。
【００３５】
方法２：最大許容ＤＰＢサイズが限定されるときのＩｎｔｒａＢＣの使用への制約
【００３６】
最大符号化ピクチャバッファサイズが１のとき（例えば、現在のピクチャを含む１つのサブレイヤの  sps_max_dec_pic_buffering_minus1 が０と等しい）、このレイヤに適応可能な符号化ピクチャバッファだけが、現在の符号化ピクチャ（即ちフィルタリングされたバージョン）を保存するのに用いられることを意味する。この場合において、ＩｎｔｒａＢＣが現在のピクチャに用いられない場合、このピクチャのスライス用のスライスタイプは、Ｉ−ｓｌｉｃｅでなければならない。本発明の方法２は、現在の符号化ビデオストリームの最大復号化ピクチャバッファサイズが１のとき（例えば、現在のピクチャを含むサブレイヤの sps_max_dec_pic_buffering_minus1 が０と等しい）、現在のピクチャを、現在のピクチャを復号化する参照ピクチャとして用いさせない。
【００３７】
１つの実施形態では、シンタックス要素 pps_curr_pic_ref_enabled_flag は、ピクチャパラメータセット（ＰＰＳ）フラグとして用いられ、ＩｎｔｒａＢＣがＰＰＳに関連する現在のピクチャに用いられるかどうかを示す。例示的な制約は、下記に示され、ＪＣＴＶＣ−Ｕ１００５の７．４．７．１項に規定のセクション「General Slice Segment Header Semantics」が修正されている。
スライスタイプセグメント．．．
Nal_unit_type が BLA_W_LP 〜 RSV_IRAP_VCLedai3 の範囲の値を有し、即ち、ピクチャがＩＲＡＰピクチャであることを含み、nuh_layer_id が０と等しく、pps_curr_pic_ref_enabled_flag が０と等しいとき、スライスタイプは、２と等しい。
Sps_max_dec_pic_buffering_minus1 ［ TemporalId ］が０と等しく、nuh_layer_id が０と等しいとき、スライスタイプは、２と等しい。
【００３８】
例示的な制約は、下記に示され、ＪＣＴＶＣ−Ｕ１００５の７．４．３．３．２項に規定のセクション「Picture Parameter Set Range Extension Semantics」は、修正され、下線を付したのテキストは、追加されたテキストを示している：
１と等しい pps_curr_pic_ref_enabled_flag は、ＰＰＳに関連するピクチャがピクチャ自体のスライスの参照ピクチャリストに含まれる得ることを指定する。０と等しい pps_curr_pic_ref_enabled_flag は、ＰＰＳに関連するピクチャがピクチャ自体のスライスの参照ピクチャリストに決して含まれないことを指定する。存在しないとき、 pps_curr_pic_ref_enabled_flag の値は、０と等しいと推定される。
Sps_curr_pic_ref_enabled_flag が０と等しいとき、pps_curr_pic_ref_enabled_flag の値が０と等しくなることが、ビットストリームコンフォーマンスの要件である。
sps_max_dec_pic_buffering_minus1[ TemporalId ] が０と等しく、 nuh_layer_id が０と等しいとき、pps_curr_pic_ref_enabled_flag は、０となることが、ビットストリームコンフォーマンスの要件である。
【００３９】
方法２のもう１つの代替は、最大復号化ピクチャバッファサイズが１のとき（例えば、現在のピクチャを含むサブレイヤのsps_max_dec_pic_buffering_minus1が０と等しい）、現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして用いてはならない。
【００４０】
この方法では、変数 TwoVersionsOfCurrDecPicFlag が、現在のピクチャが参照ピクチャとして用いられるかどうか、現在のピクチャの２つのバージョンが異なるかどうかを識別するのに用いられる。この変数が１と等しいとき、２つの異なるバージョンの現在のピクチャがあるということを意味し、現在のピクチャは、参照ピクチャとして用いられる。この変数が０と等しいとき、現在のピクチャの１つのバージョンだけがあるということ、または現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして決して用いられないということを意味する。１つの実施形態では、TwoVersionsOfCurrDecPicFlag が１と等しい場合、現在のピクチャを含むサブレイヤのシンタックス要素 sps_max_dec_pic_buffering_minus1 は、０より大きくなることが、ビットストリームコンフォーマンスの要件である。もう１つの実施形態では、現在のピクチャを含むサブレイヤの sps_max_dec_pic_buffering_minus1 が０と等しい場合、値 TwoVersionsOfCurrDecPicFlag は０となることが、ビットストリームコンフォーマンスの要件である。
【００４１】
方法２のまたもう１つの代替は、現在のピクチャに用いられるループフィルタがない場合、最大復号化ピクチャバッファサイズが１のとき（例えば、現在のピクチャを含むサブレイヤの sps_max_dec_pic_buffering_minus1 が０と等しい）、現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして用いることができる。この現在のピクチャは、現在のピクチャを復号化するのに用いられることができる唯一の参照ピクチャでなくてはならない。
【００４２】
方法３：  現在のピクチャに用いられるループフィルタがないとき、ピクチャバッファのＩｎｔｒａＢＣに参照ピクチャを保存する
【００４３】
ＩｎｔｒａＢＣが現在のピクチャに用いられるとき、ＩｎｔｒａＢＣの参照ピクチャは、現在のピクチャのフィルタリングされていないバージョンである。現在のピクチャに用いられるループフィルタがない場合、現在復号化ピクチャの２つのバージョンは、同じである。現在のピクチャの参照ピクチャである現在復号化ピクチャの予備の（フィルタリングされていない）バージョンを保存する、ＤＰＢに作成されるピクチャバッファはない。この場合において、本発明に基づいた方法３は、参照ピクチャバッファの割り当てを修正し、ＩｎｔｒａＢＣが正確なピクチャバッファを参照でき、現在復号化ピクチャを現在のピクチャ用の参照ピクチャとして保存することができる。
【００４４】
ＩｎｔｒａＢＣが用いられ、ループフィルタが用いられないとき、現在のピクチャの１つのバージョンだけがある。従って、方法３に基づいて、１つのピクチャバッファだけがＤＰＢに作成され、現在復号化ピクチャを保存する。このピクチャは、ＩｎｔｒａＢＣの参照ピクチャとして用いられる。１つの実施形態では、現在のピクチャのフィルタリングされたバージョンとして称されるこのピクチャは、ＩｎｔｒａＢＣ使用用の参照ピクチャとして用いられる。もう１つの実施形態では、ＩｎｔｒａＢＣが用いられ、ループフィルタが用いられない場合において、現在のピクチャの１つのバージョンだけがあるとき、現在のピクチャは、現在のピクチャを復号化するプロセスの開始時に、およびプロセスの間、「長期参照に使用される」ものとしてマークされる。現在のピクチャを復号化した後、このピクチャは、「短期参照に使用される」ものとしてマークされる。またもう１つの実施形態では、現在のピクチャを復号化するプロセスの開始時に、およびプロセスの間、現在のピクチャのフィルタリングされたバージョンは、「長期参照に使用される」ものとしてマークされる。現在ピクチャの復号化が完了した後、現在のピクチャのフィルタリングされたバージョンは、「短期参照に使用される」ものとしてマークされる。
【００４５】
１つの実施形態では、変数 TwoVersionsOfCurrDecPicFlag が、現在のピクチャが参照ピクチャとして用いられるかどうか、現在のピクチャの２つのバージョンが異なるかどうかを識別するのに用いられる。この変数が１と等しいとき、２つの異なるバージョンの現在のピクチャがあるということを意味し、現在のピクチャは、参照ピクチャとして用いられる。この変数が０と等しいとき、現在のピクチャの１つのバージョンだけがあるということ、または現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして決して用いられないということを意味する。本発明の実施形態は、既存のビデオエンコーダ恭順の復号化プロセスを修正することによって既存のビデオエンコーダ標準（例えば、ＨＥＶＣ）に提供されることができる。例えば、ＪＣＴＶＣ−Ｕ１００５の８．１．３項の部分は、以下のように修正ができ、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト（即ち、[*削除されたテキスト*]）を示し、下線を付したテキストは、追加されたテキストを示している。
【００４６】
８．１．３  nuh_layer_id が０と等しい符号化ピクチャの復号化処理
３．  ８．４、８．５、８．６および８．７項の処理は、全てのシンタクス構造レイヤのシンタクス要素を用いた復号化処理を指定する。ピクチャのスライスへの分割、スライスのスライスセグメントへの分割、およびスライスセグメントの符号化ツリーユニットへの分割がそれぞれピクチャのパーティショニングを形成するように、ピクチャの符号化スライスは、ピクチャの全ての符号化ツリーユニットについてのスライスセグメントデータを含むことが、ビットストリームコンフォーマンスの要件である。８．７項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化のサンプル値は、現在のピクチャ［*「長期参照に使用される」ものとしてマークされない*］用にピクチャ記憶バッファに保存される。TwoVersionsOfCurrDecPicFlag が０と等しいとき、８．７項に規定されているループ内フィルタ処理の実施後の現在のピクチャは、「長期参照に使用される」ものとしてマークされる。TwoVersionsOfCurrDecPicFlag が１と等しいとき、８．７項に規定されているループ内フィルタ処理の実施直前の現在ピクチャの復号化サンプル値は、現在のピクチャ用にピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる。
【００４７】
ＪＣＴＶＣ−Ｕ１００５の８．３．４項は、以下のように修正ができ、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト（即ち、[*削除されたテキスト*]）を示し、下線を付したテキストは、追加されたテキストを示している。
【００４８】
８．３．４  参照ピクチャリスト構築のための復号化処理
［*変数ｃｕｒｒＰｉｃを「長期参照に使用される」ものとしてマークされる、現在復号化ピクチャにする*］。TwoVersionsOfCurrDecPicFlagが１と等しいとき、変数 currPic を、８．７項に規定されているループ内フィルタ処理の実施前の現在復号化ピクチャにする；  または（TwoVersionsOfCurrDecPicFlag が０と等しいとき）、変数 currPic を、８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャにする。
【００４９】
ＪＣＴＶＣ−Ｕ１００５のＡｎｎｅｘ Ｃ３．４は、以下のように修正されることができ、下線を付したテキストは、追加されたテキストを示している。
【００５０】
Ａｎｎｅｘ  Ｃ３．４  現在復号化ピクチャのマーキングおよび保存
TwoVersionsOfCurrDecPicFlagが１と等しいとき、
−８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのＤＰＢに保存され、ＤＰＢの占有量は、１で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。
または、
−８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのＤＰＢに保存され、ＤＰＢの占有量は、１で増分され、このピクチャは、「長期参照に使用される」ものとしてマークされる。現在ピクチャの全てのスライスが符号化された後、８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、「短期参照に使用される」ものとしてマークされる。
【００５１】
ＩｎｔｒａＢＣ用のピクチャバッファの使用およびマーキング
【００５２】
ループフィルタリング後の現在復号化ピクチャは、今後の使用（即ち、今後のピクチャ用に出力するか、または参照ピクチャとして使用するために）のために、復号化ピクチャバッファ（ＤＰＢ）に保存されなければならない。ＩｎｔｒａＢＣが現在のピクチャに用いられるとき、ＩｎｔｒａＢＣ用の参照ピクチャは、現在ピクチャのフィルタリングされていないバージョン（即ち、ループフィルタリング前の復号化ピクチャ）である。現在のピクチャに用いられるループフィルタがない場合、現在復号化ピクチャの２つのバージョンは、同じである。この場合、ＤＰＢで予備のピクチャバッファを用いて現在復号化ピクチャの複製のバージョンを保存する必要がない。従って、現在復号化ピクチャの１つのバージョンだけがＤＰＢに保存される必要がある。この方法の１つの実施形態に基づいて、参照ピクチャバッファの割り当ては修正され、ＩｎｔｒａＢＣが正確なピクチャバッファを参照でき、現在復号化ピクチャを現在のピクチャ用の参照ピクチャとして保存する。
【００５３】
具体的には、本方法の１つの実施形態に基づいて、ＩｎｔｒａＢＣが有効化され、ループフィルタが用いられないとき、現在のピクチャの１つのバージョンだけが参照ピクチャとして用いられる。現在のピクチャを復号化する前、または復号化している間、この現在のピクチャは、「長期参照に使用される」ものとしてマークされ、ＩｎｔｒａＢＣの操作用の参照ピクチャとして用いられる。現在のピクチャの復号化が完了した後、この現在のピクチャは、「短期参照に使用される」ものとしてマークされる。
【００５４】
既存のＨＥＶＣ  ＳＣＣドラフト標準（ＪＣＴＶＣ−Ｕ１００５）に基づいた構文と語義は、上述のようなバッファ管理を実施するように修正されることができる。構文と語義への例示的な修正は以下のように示される。
【００５５】
８．１．３項の一部、「nuh_layer_id が０と等しい符号化ピクチャのための復号化処理」が修正される。具体的には、８．１．３項の３項は、以下のように修正され、下線を付したテキストは、追加されたテキストを示している。
３．  ８．４、８．５、８．６および８．７項の処理は、全てのシンタクス構造レイヤのシンタクス要素を用いた復号化処理を指定する。ピクチャのスライスへの分割、スライスのスライスセグメントへの分割、およびスライスセグメントの符号化ツリーユニットへの分割がそれぞれピクチャのパーティショニングを形成するように、ピクチャの符号化スライスは、ピクチャの全ての符号化ツリーユニットについてのスライスセグメントデータを含むことが、ビットストリームコンフォーマンスの要件である。TwoVersionsOfCurrDecPicFlagが１と等しいとき、８．７項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化のサンプル値は、現在のピクチャ用にピクチャ記憶バッファに保存される。８．７項に規定されているループ内フィルタ処理の実施直前の現在ピクチャの復号化サンプル値は、現在のピクチャ用に他のピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる。TwoVersionsOfCurrDecPicFlagが０と等しく、ｐｐｓ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０と等しいとき、８．７項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化のサンプル値は、現在のピクチャ用にピクチャ記憶バッファに保存される。TwoVersionsOfCurrDecPicFlagが０と等しいとき、ｐｐｓ＿ｃｕｒｒ＿ｐｉｃ＿ａｓ＿ｒｅｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１と等しいとき、８．７項に規定されているループ内フィルタ処理の実施直前の現在ピクチャの復号化サンプル値は、現在のピクチャ用に他のピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる。
【００５６】
もう１つの実施形態では、条項の３項の最後の文章は、８．７項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化サンプル値は、現在のピクチャ用に他のピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる、と修正されることができる。
【００５７】
８．３．４項の一部、「参照ピクチャリスト構築のための復号化処理」が以下のように修正され、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト（即ち、[*削除されたテキスト*]）を示し、下線を付したテキストは、追加されたテキストを示している。
［*変数ｃｕｒｒＰｉｃを「長期参照に使用される」ものとしてマークされる、現在復号化ピクチャにする*］。TwoVersionsOfCurrDecPicFlag が１と等しいとき、変数 currPic を、８．７項に規定されているループ内フィルタ処理の実施前の現在復号化ピクチャにする；  または（TwoVersionsOfCurrDecPicFlag が０と等しいとき）、変数 currPic を、８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャにする。
【００５８】
もう１つの実施形態では、上記の実施例の最後の文章は、「または（TwoVersionsOfCurrDecPicFlagは、０と等しい）、変数 currPic を、８．７項に規定されているループ内フィルタ処理の実施直後の現在復号化ピクチャにする。」と修正可能である。
【００５９】
また、Ａｎｎｅｘ  Ｃ３．４項の一部、「現在復号化ピクチャのマーキングおよび保存」は、以下のように修正されなければならず、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト（即ち、[*削除されたテキスト*]）を示し、下線を付したテキストは、追加されたテキストを示している。
TwoVersionsOfCurrDecPicFlagが１と等しい場合、
−８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのＤＰＢに保存され、ＤＰＢの占有量は、１で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。
−[*TwoVersionsOfCurrDecPicFlagが１と等しいとき*]８．７項に規定されているループ内フィルタ処理の実施前の現在復号化ピクチャは、空のピクチャ記憶バッファのＤＰＢに保存され、ＤＰＢの占有量は、１で増分され、このピクチャは、「長期参照に使用される」ものとしてマークされる。
.....
または、TwoVersionsOfCurrDecPicFlag が０と等しく、pps_curr_pic_as_ref_enabled_flag が０と等しい場合、
−８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのＤＰＢに保存され、ＤＰＢの占有量は、１で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。
または
TwoVersionsOfCurrDecPicFlagが０と等しく、pps_curr_pic_as_ref_enabled_flag が１と等しい場合、
−８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのＤＰＢに保存され、ＤＰＢの占有量は、１で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。現在ピクチャの全てのスライスが符号化された後、８．７項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、「短期参照に使用される」ものとしてマークされる。
【００６０】
もう１つの実施形態では、上記の段落の最後の文章は、「８．７項に規定されているループ内フィルタ処理の実施直前の現在復号化ピクチャは、「短期参照に使用される」ものとしてマークされる。」と修正可能である。１２３４
【００６１】
図２は、本発明の実施形態に係る、復号化ピクチャバッファ（ＤＦＢ）を組み込んだ例示的な符号化システムのフローチャートを示している。ステップ２１０では、前記プロセスが現在のピクチャを復号化する前に、ＩｎｔｒａＢＣモードが有効化されるかどうか、現在のピクチャに任意のループフィルタが用いられるかどうかを決定する。ステップ２２０では、ＩｎｔｒａＢＣモードが有効化され、現在のピクチャにループフィルタが用いられないかどうかがチェックされる。その結果が「Ｙｅｓ」の場合、ステップ２３０〜２５０が実行される。その結果が「Ｎｏ」の場合、プロセスは終了する。ステップ２３０では、現在のピクチャの現在復号化参照ピクチャは、現在のピクチャを復号化する前、または復号化している間、長期参照ピクチャとしてマークされ、現在復号化参照ピクチャは、ＤＰＢにある空のピクチャ記憶バッファに対応する。ステップ２４０では、現在復号化参照ピクチャは、現在のピクチャのＩｎｔｒａＢＣ参照用に参照ピクチャリスト構築に割り当てられる。ステップ２５０では、ＤＰＢのバッファ占有量は、１つの参照ピクチャバッファだけを考慮に入れて現在のピクチャの復号化を始める前に計算される。
【００６２】
図３は、本発明の実施形態に係る、ＤＰＢの最大サイズが１と等しい復号化ピクチャバッファ（ＤＰＢ）の管理／運用を組み込んだ例示的な符号化システムのフローチャートを示している。ステップ３１０では、前記プロセスがＤＰＢ（復号化ピクチャバッファ）の最大サイズを決定する。ステップ３２０では、ＤＰＢの最大サイズが１に対応する場合、変数またはシンタックス要素は、目標値に設定され、ＤＰＢで１つのピクチャ記憶バッファだけを用いるように制限を課し、現在のピクチャを符号化または復号化する参照ピクチャを保存する。
【００６３】
図４は、本発明の実施形態に係る、例示的な符号化システムのフローチャートを示しており、ＤＰＢ用の参照ピクチャの総数は、現在復号化ピクチャの２つのバージョンが用いられるかどうかに関する情報を考慮に入れて計算される。ステップ４１０では、前記プロセスは、現在復号化ピクチャの２つのバージョンがステップ４１０に用いられるかどうかに関する情報を考慮に入れて、ＤＰＢ用に参照ピクチャの総数を計算する。ＤＰＢは、短期および長期参照ピクチャを含む。ステップ４２０に示されるように参照ピクチャの総数までＤＰＢに割り当てられる。次いで、ステップ４３０に示されるように、現在のピクチャは、ＤＰＢに保存された参照ピクチャを用いて符号化または復号化される。
【００６４】
上記で示されるフローチャートは、本発明によるＩｎｔｒａＢＣ 符号化の例を説明するためのものである。当業者は、本発明の精神と領域を脱しない範囲内で、各ステップを修正、再アレンジ、分割、結合して、本発明を実行することができる。本開示において、特定の構文と語義が用いられて、例を説明し、本発明の実施形態を実行する。当業者は、本発明の精神と領域を脱しない範囲内で、構文と語義を、等価の構文と語義と置き換えることにより、本発明を実施する。 
【００６５】
上の記述が提示されて、当業者に、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を行うことができる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明が行えることが理解できる。 
【００６６】
上述の本発明の具体例は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行される。たとえば、本発明の具体例は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ（ＤＳＰ）で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の精神を逸脱しない。 
【００６７】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【図１】
2019208266.tif 000003
【図２】
2019208266.tif 000004
【図３】
2019208266.tif 000005
【図４】
2019208266.tif 000006