(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6568306
(24)【登録日】2019年8月9日
(45)【発行日】2019年8月28日
(54)【発明の名称】イントラ・ブロック・コピーモードの復号化ピクチャバッファの方法およびシステム
(51)【国際特許分類】
H04N 19/433 20140101AFI20190819BHJP
H04N 19/593 20140101ALI20190819BHJP
H04N 19/70 20140101ALI20190819BHJP
【FI】
H04N19/433
H04N19/593
H04N19/70
【請求項の数】3
【全頁数】17
(21)【出願番号】特願2018-512557(P2018-512557)
(86)(22)【出願日】2016年9月6日
(65)【公表番号】特表2018-530955(P2018-530955A)
(43)【公表日】2018年10月18日
(86)【国際出願番号】CN2016098182
(87)【国際公開番号】WO2017041692
(87)【国際公開日】20170316
【審査請求日】2018年3月8日
(31)【優先権主張番号】62/215,287
(32)【優先日】2015年9月8日
(33)【優先権主張国】US
(31)【優先権主張番号】62/245,372
(32)【優先日】2015年10月23日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】506423280
【氏名又は名称】聯發科技股▲ふん▼有限公司
【氏名又は名称原語表記】MEDIATEK INC.
(74)【代理人】
【識別番号】110001494
【氏名又は名称】前田・鈴木国際特許業務法人
(72)【発明者】
【氏名】シュー, シャオチュウ
(72)【発明者】
【氏名】リュウ, シャン
【審査官】
岩井 健二
(56)【参考文献】
【文献】
国際公開第2015/143395(WO,A1)
【文献】
国際公開第2015/054811(WO,A1)
【文献】
国際公開第2015/035449(WO,A1)
【文献】
国際公開第2014/205339(WO,A2)
【文献】
Chao Pang et al.,Non-CE2: Intra block copy and Inter signaling unification,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,2014年10月,JCTVC-S0302-v1,pp.1-5
【文献】
Chenghao Liu et al.,On operation of DPB in Screen Content Coding,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,2015年 6月,JCTVC-U0100,pp.1-4
【文献】
Xiaozhong Xu, Shan Liu and Shawmin Lei,On reference picture list construction for intra block copy,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,2015年 6月,JCTVC-U0113,pp.1-6
【文献】
Xiaozhong 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,2015年 6月,JCTVC-U0181,pp.1-2
【文献】
Rajan Joshi et al.,High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 4,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,2015年 9月 5日,JCTVC-U1005-v2,pp.i,32-34,37,74-81,85-86,261-275
【文献】
Xiaozhong Xu, Shan Liu and Shawmin Lei,DPB considerations when current picture is a reference picture,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,22nd Meeting: Geneva, CH,2015年10月,JCTVC-V0057_r1,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
Inter予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオエンコーダまたはビデオデコーダ用の復号化ピクチャバッファ(DPB)を管理する方法であって、
復号化ピクチャバッファ(DPB)の最大サイズを決定するステップ、および
前記DPBの最大サイズが1に対応する場合、変数またはシンタックス要素を目標値に設定し、前記DPBで1つのピクチャ記憶バッファだけを用いるように制限を課し、現在のピクチャを符号化または復号化する参照ピクチャを保存するステップを含み、
前記変数またはシンタックス要素を目標値に設定することは、
前記IntraBCモードが前記現在のピクチャに用いられない場合、前記現在のピクチャのスライス用のスライスタイプをI−sliceに設定すること、
前記IntraBCモードが前記現在のピクチャに用いられる場合、復号化された現在のピクチャの2つのバージョンが用いられるかどうかを示す変数 TwoVersionsOfCurrDecPicFlag を復号化された現在のピクチャの1つのバージョンだけが用いられている第1の値に設定すること、又は
ピクチャパラメータセット(PPS)のIntraBCフラグを、前記IntraBCモードが前記現在のピクチャに用いられないことを示す第2の値に設定すること
のいずれかに対応することを特徴とする方法。
【請求項2】
Inter予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオエンコーダであって、
復号化ピクチャバッファ(DPB)の最大サイズを決定するように配置された、復号化ピクチャバッファ(DPB)および1つ以上の電子回路を含み、且つ
前記DPBの最大サイズが1に対応する場合、変数またはシンタックス要素を目標値に設定し、前記DPBで1つのピクチャ記憶バッファだけを用いるように制限を課し、現在のピクチャを符号化する参照ピクチャを保存し、
前記変数またはシンタックス要素を目標値に設定することは、
前記IntraBCモードが前記現在のピクチャに用いられない場合、前記現在のピクチャのスライス用のスライスタイプをI−sliceに設定すること、
前記IntraBCモードが前記現在のピクチャに用いられる場合、復号化された現在のピクチャの2つのバージョンが用いられるかどうかを示す変数 TwoVersionsOfCurrDecPicFlag を復号化された現在のピクチャの1つのバージョンだけが用いられている第1の値に設定すること、又は
ピクチャパラメータセット(PPS)のIntraBCフラグを、前記IntraBCモードが前記現在のピクチャに用いられないことを示す第2の値に設定すること
のいずれかに対応することを特徴とするビデオエンコーダ。
【請求項3】
Inter予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオデコーダであって、
復号化ピクチャバッファ(DPB)の最大サイズを決定するように配置された、復号化ピクチャバッファ(DPB)および1つ以上の電子回路を含み、且つ
前記DPBの最大サイズが1に対応する場合、変数またはシンタックス要素を目標値に設定し、前記DPBで1つのピクチャ記憶バッファだけを用いるように制限を課し、現在のピクチャを復号化する参照ピクチャを保存し、
前記変数またはシンタックス要素を目標値に設定することは、
前記IntraBCモードが前記現在のピクチャに用いられない場合、前記現在のピクチャのスライス用のスライスタイプをI−sliceに設定すること、
前記IntraBCモードが前記現在のピクチャに用いられる場合、復号化された現在のピクチャの2つのバージョンが用いられるかどうかを示す変数 TwoVersionsOfCurrDecPicFlag を復号化された現在のピクチャの1つのバージョンだけが用いられている第1の値に設定すること、又は
ピクチャパラメータセット(PPS)のIntraBCフラグを、前記IntraBCモードが前記現在のピクチャに用いられないことを示す第2の値に設定すること
のいずれかに対応することを特徴とするビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2015年9月8日に出願された米国特許仮出願番号第62/215,287号、2015年10月23日に出願された米国特許仮出願番号第62/245,372号についての優先権を主張するものであり、これらの全ては引用によって本願に援用される。
【0002】
本発明は、ビデオデータのパレット符号化に関するものであり、特に、符号化システムがインター(Inter)予測モードおよびイントラ・ブロック・コピー(Intra Block Copy)モードを含む符号化モードを用いるときの復号化ピクチャバッファの管理/運用に関するものである。
【背景技術】
【0003】
高効率ビデオコーディング(HEVC)は、近年発展している新しい符号化基準である。高効率ビデオコーディング(HEVC)システムにおいて、H.264/AVCの固定サイズのマクロブロックは、符号化ユニット(CU)というフレキシブルなブロックにより代替される。CU中の画素は、同じ符号化パラメータを共有して、符号化効率を改善する。CUは最大CU(LCU)から始まり、HEVCの符号化ツリーユニット(CTU)とも称される。符号化ユニットの概念に加え、予測単位(PU)の概念もHEVCに導入される。一旦、CU階層ツリーの分割が行われると、各リーフCUは、予測タイプ、および、PU分割にしたがって、さらに、1つ以上の予測単位(PU)に分割される。HEVCは、スライス構造も支援し、画像がスライスに分割され、各スライスは、自己の符号化パラメータまたは構成を用いることができる。
【0004】
高効率ビデオコーディング(HEVC)標準の発展に伴い、HEVCの拡張の発展も始まっている。HEVC拡張は、非−4:2:0カラーフォーマット、例えば、4:2:2および4:4:4で標的にする範囲拡張(RExt)および1サンプルごとに、高ビット−深さビデオ、例えば、12、14および16ビットを有する。RExtを用いたふさわしいアプリケーションの一つは、有線または無線接続によるスクリーンシェアリングである。スクリーンコンテンツの特定の特徴のため、符号化ツールが発展するとともに、符号化効率において十分な発展を証明している。
【0005】
イントラ(Intra)ブロックコピー予測
【0006】
高効率ビデオコーディング(HEVC)標準のスクリーンコンテンツ向け符号化の最近の動向において、いくつかのツールは、これらのスクリーンコンテンツの符号化効率におけるそれらの改善により用いられている。Intraブロックにおいて、従来のアプローチによるIntra予測は、隣接するブロックから再構成された画素に基づいた予測を用いて実行される。Intra予測は、垂直モード、水平モード、および各種角度予測モードを含む1組のIntraモードからIntraモードを選択する。HEVCスクリーンコンテンツ向け符号化において、Intraブロックコピー(IntraBC)という名の新しいIntra符号化モードが用いられている。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(ika,JCTVC-M0350)を参照されたい。JCTVC−M0350による例が
図1に示され、現在の符号化ユニット(CU、110)が、Intra動き補償(motion compensation;MC)を用いて符号化される。予測ブロック(120)は、現在のCUおよび変位ベクトル(112)により配置される。この例において、検索領域は、現在の符号化ツリーユニット(coding tree unit;CTU)、左のCTUおよび左側の左のCTUに限定される。予測ブロックは、既に再構成された領域から得られる。その後、ブロックベクトル(block vector;BV)とも称される変位ベクトル、および現在のCUの余剰が符号化される。HEVCは、CTUとCUブロック構造を基本単位とし、ビデオデータを符号化することが知られている。各ピクチャはCTUに分割され、且つ、各CTUはCUに分割される。予測位相期間中、各CUは、予測ユニット(prediction units;PUs)という名の複数のブロックに分割されて、予測プロセスを実行する。予測余剰が各CUに形成された後、各CUに関連する余剰は、変換ユニット(transform units;TUs)という名の複数のブロックに分割されて、変換を適用する。
【0007】
JCTVC−M0350において、Intra MCは、少なくとも以下の領域中でInter予測に用いられる動き補償と異なる:
・MVは、Intra MC(即ち、水平または垂直)の1−Dに制限され、Inter予測は2−D動き推定を用いる。
・2値化は、Intra MCの固定長さであり、Inter予測は指数関数−Golombを用いる。
・Intra MCは、新しいシンタックス要素を導入して、MVが、水平または垂直かを伝達する。
【0008】
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 (ika,JCTVC/ N0256)。まず、Intra MCが拡張されて、2−D MVsをサポートするので、両コンポーネンツは、同時に非ゼロになる。これは、本来のアプローチよりも、Intra MCにさらなるフレキシブル性を提供し、MVは、厳密に、水平または垂直に制約される。
【0009】
JCTVC−N0256において、2つのBV符号化方法が開示されている:
・方法1− ブロックベクトル予測。 左側または上方のBVがBV予測因子として選択されて、得られた動きベクトル差 (BVD)が符号化される。フラグが用いられて、BVDがゼロであるかどうか示す。BVDがゼロでない場合、第三順位の指数関数−Golomb符号が用いられて、残りの絶対レベルのBVDを符号化する。別のフラグが用いられて、サインを符号化する。
・方法2− 動きベクトル予測無し。 BVが、HEVC中のBVDに用いられる指数関数−Golomb符号を用いて符号化される。
【0010】
JCTVC−N0256で開示されたもう1つの違いは、2−D Intra MCが、さらに、経路を考慮したアプローチと組み合わされることである:
1. 補間フィルタが用いられない,
2. BV検索領域が制限される。2つの場合が開示される:
a.検索領域は、現在のCTUおよび左のCTUである、または
b.検索領域は、現在のCTUおよび左のCTUの最右の4カラムサンプルである。
【0011】
JCTVC−N0256において提案される方法において、2−D Intra MC、補間フィルタの除去、現在のCTUおよび左のCTUに制約される検索領域が、新しいバージョンのドラフトHEVC RExt標準に採用されている。
【0012】
現存するSCCドラフト標準(SCM)のIntraBC
【0013】
JCTVC−T0227(Pang等により、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)において、IntraBCモードは、Inter符号化モードと一体化されている。言い換えれば、現在のピクチャは、参照ピクチャとして処理され、1つまたは2つの参照ピクチャリスト(即ち、リストL0およびリストL1)内に挿入される。ブロックベクトル予測および符号化は、Inter動きベクトル予測および符号化と同様に処理される。この統一は、コーデックの設計を簡単化させる。
【0014】
適応動き精度
【0015】
JCTVC−S0085 (Liなどにより、 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”は、各スライスに用いられ、スライスのMVの精度を示している。このフラグが1の場合、HEVC標準に規定されているように、このスライスの全ての復号化された動きベクトルは、1つの整数個ペル(integer-pel)精度を用いて表される。そうでなければ、動きベクトルは、クォーターペル精度を用いて表される。
【0016】
現在のSCCドラフト標準(SCM)のメモリ帯域幅の考慮
【0017】
ブロックを再構築するとき、参照ブロックは、予測に用いられなければならない。動きベクトルが分数位置を指す場合、参照ブロックを囲むより多くの画素も補間の目的のために必要となる。参照ブロックを取得し、その周囲画素が外部メモリから必要なとき、データ取り込みは、用いられるメモリパターンによってバルクに導入される。例えば、用いられるメモリパターンが4×4のサンプルブロックの場合、アクセスデータの最小ユニットは、1つの画素だけが必要な場合でも、4×4である。従って、直接関連した画素より、より多くのデータが取り込まれ、次の処理のためにオンチップメモリ/バッファに送信されなければならない。これらのデータは、全てメモリ帯域幅の占有量に含まれる。HEVCでは、最悪の場合のメモリ帯域幅の占有量は、分数ペルのMVを有する両動きベクトルの8×8の双予測モードにある。IntraBCモードが用いられているとき、現在のピクチャのフィルタリングされていないバージョンは、Inter予測モードの現在のピクチャのフィルタリングされたバージョンに加え、外部メモリにも保存されなければならない。これは、HEVCにとって余分なコストとみなされる。
【0018】
JCTVC−U0078(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)において、IntraBCが用いられるとき、8×8の双予測モードの使用に何らかの制約が課される。例えば、8×8の双予測モードの使用は、IntraBCのシーケンスパラメータセット(sequence Parameter Set; SPS)フラグがオンのとき、且つスライスヘッダフラグuse_integer_mv_flag(スライスのMVの精度を示している)がオフのとき、無効になる。
【0019】
現在のSCCドラフト標準(SCM)の復号化ピクチャバッファ
【0020】
HEVCにおいて、全ての参照ピクチャは、復号化ピクチャバッファ(DPB)と称されるバッファに保存される。これは、ピクチャを復号化するとき、時間毎に行われ、ループフィルタリングの操作後の現在復号化ピクチャは、DPB(現在復号化ピクチャのフィルタリングされたバージョンと称される)内に格納される。IntraBCには、その参照ピクチャは、ループフィルタの前の現在復号化ピクチャであり(現在復号化ピクチャのフィルタリングされていないバージョンと称される)、HEVCバージョン1に対してDPBに保存される予備のピクチャである。JCTVC−U0181(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)において、現在復号化ピクチャのフィルタリングされたバージョンとフィルタリングされていないバージョンの両方は、ピクチャバッファの管理用にDPB内に格納される。便宜上、現在復号化ピクチャのフィルタリングされたバージョンまたはフィルタリングされていないバージョンは、「復号化」の文字を取り除いて、現在のピクチャのフィルタリングされたバージョンまたはフィルタリングされていないバージョンと呼ばれることもできる。現在のピクチャのフィルタリングされていないバージョンは、現在ピクチャの復号化の完了後、破棄され、このピクチャの記憶バッファは、開放される。
【0021】
現在復号化ピクチャの2つのバージョンが同一である場合が考慮される。これは、現在のピクチャに用いられるループフィルタ(デブロッキングまたはSAO)がないときに生じる。JCTVC−U1005 (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)に記述された、現在のHEVC SCCの作業ドラフトにおいて、TwoVersionsOfCurrDecPicFlagと称される変数が用いられ、現在のピクチャが参照ピクチャとして用いられるかどうかを識別する。用いられる場合、ピクチャでのループフィルタの使用により、2つの異なるバージョンの現在のピクチャがある可能性がある。
1)ループフィルタの実施後の現在復号化ピクチャは、DPBに保存される。現在ピクチャの復号化を完了したこのピクチャは、「短期参照に使用される」ものとしてマークされ、復号化が完了したとき、このピクチャは将来の使用のために、DPBに保存される。
2)2つのVersionsOfCurrDecPicFlagが1と等しいとき、ループフィルタの実施前の現在復号化ピクチャは、個別のバッファでDPBに保存される。このピクチャは、「長期参照に使用される」ものとしてマークされ、IntraBC補償に用いられる。復号化が完了したとき、このピクチャは、DPBから除去される。
【0022】
HEVCの仕様に従って、Short-Term Reference Picture Sets が、現在のピクチャの時間的近似性のピクチャ、例えば同じ構造内のピクチャなどに参照を提供するように設計されている。一方、Long-Term Reference Picture Setsは、長時参照の目的のために選択されたピクチャに取り組むように用いられることができる。これらの長期参照ピクチャセットは、短期ピクチャセットから独立して構築されている。現在のピクチャが参照ピクチャであるとき、復号化ピクチャバッファの管理の変更に伴い、復号化ピクチャバッファの管理の機能が適切に機能することを確保するために、何らかの制約が課される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0023】
本発明は、イントラ・ブロック・コピーモードの復号化ピクチャバッファの方法およびシステムを提供する。
【課題を解決するための手段】
【0024】
Inter予測モードおよびIntra Block Copy (IntraBC)モードを含む符号化モードを用いたビデオエンコーダおよびビデオデコーダ用の復号化ピクチャバッファ(DPB)を管理する方法およびシステムが開示される。IntraBCモードが有効化され、現在のピクチャにループフィルタが用いられない場合、ステップのセットが行われ、適切なDPB操作を確保する。ステップのセットは、現在のピクチャを復号化する前、または復号化している間、長期参照ピクチャとして、現在のピクチャ用の現在復号化参照ピクチャをマーキングし、現在復号化参照ピクチャは、現在のピクチャのIntraBC参照用に参照ピクチャリスト構築に現在復号化参照ピクチャを割り当て、および1つの参照ピクチャバッファだけを考慮に入れて現在のピクチャの復号化を始める前にDPBのバッファ占有量を計算する。現在復号化参照ピクチャは、DPBにある空のピクチャ記憶バッファに対応する。また、前記方法は、現在のピクチャを復号化した後、短期参照ピクチャとして、DPBの現在復号化参照ピクチャをマーキングするステップ、および今後の使用のために、現在復号化参照ピクチャをDPBに保存するステップを含むことができる。
【0025】
DPBを管理する他の方法およびシステムが開示され、DPBの最大サイズが1に対応する場合、前記方法は、変数またはシンタックス要素を目標値に設定し、DPBで1つのピクチャ記憶バッファだけを用いるように制限を課し、現在のピクチャを符号化または復号化する参照ピクチャを保存するステップを含む。例えば、変数またはシンタックス要素を目標値に設定するステップは、IntraBCモードが現在のピクチャに用いられない場合、現在のピクチャのスライス用のスライスタイプをI−sliceに設定するステップに対応する。もう1つの例では、変数またはシンタックス要素を目標値に設定するステップは、変数TwoVersionsOfCurrDecPicFlagを現在復号化ピクチャの1つのバージョンだけが用いられている第1の値に設定するステップに対応する。変数TwoVersionsOfCurrDecPicFlagは、現在復号化ピクチャの2つのバージョンが用いられるかどうかを示す。またもう1つの例では、変数またはシンタックス要素を目標値に設定するステップは、ピクチャパラメータセット(PPS)のIntraBCフラグを第2の値に設定するステップに対応し、IntraBCモードが現在のピクチャに用いられないことを示す。
【0026】
DPBを管理するまたもう1つの方法およびシステムが開示され、現在のピクチャまたはスライスを復号化する参照ピクチャの総数は、現在復号化ピクチャの2つのバージョンが用いられるかどうかに関する情報を考慮に入れて計算される。現在のピクチャまたはスライスを復号化する参照ピクチャセット(
RPS)は、短期および長期参照ピクチャを含む。例えば、参照ピクチャの総数は、現在のピクチャのピクチャオーダーカウント(POC)の値より小さいピクチャオーダーカウント(POC)の値を有する短期参照ピクチャセット(
RPS)の第1の総数と、現在のピクチャのPOCの値より大きいPOCの値を有する短期参照ピクチャセット(
RPS)の第2の総数と、長期参照ピクチャセット(
RPS)の第3の総数と、現在復号化ピクチャの2つのバージョンが用いられるかどうかに関する情報に関連するバージョンの値との和として計算され、現在復号化ピクチャの2つのバージョンが用いられる場合、バージョンの値は1であり、現在復号化ピクチャの1つのバージョンが用いられる場合、バージョンの値は0である。参照ピクチャの総数が、シーケンスパラメータセット(SPS)において指定されたDPBの最大所要サイズ−1より大きい場合、参照ピクチャの総数は、DPBの最大所要サイズ−1またはより小さいサイズに設定される。
【図面の簡単な説明】
【0027】
【
図1】
図1は、イントラブロックコピー(IntraBC)モードの例を示しており、現在のブロックは、現在のピクチャの参照ブロックで予測されている。
【
図2】
図2は、本発明の実施形態に係る、復号化ピクチャバッファ(DFB)を組み込んだ例示的な符号化システムのフローチャートを示している。
【
図3】
図3は、本発明の実施形態に係る、DPBの最大サイズが1と等しい復号化ピクチャバッファ(DFB)の管理/運用を組み込んだ例示的な符号化システムのフローチャートを示している。
【
図4】
図4は、本発明の実施形態に係る、例示的な符号化システムのフローチャートを示しており、DPBの参照ピクチャの総数は、現在復号化ピクチャの2つのバージョンが用いられるかどうかに関する情報を考慮に入れて計算される。
【発明を実施するための形態】
【0028】
以下の説明は、本発明を実施するベストモードが開示されている。この説明は、本発明の一般原理を例示する目的のためのもので本発明を限定するものではない。本発明の範囲は、添付の請求の範囲を参考にして決定される。
【0029】
上述のように、現存する復号化ピクチャバッファ(DPB)の管理は、イントラブロックコピー(IntraBC)モードに基づいて、現在の再構成されたピクチャが参照ピクチャとして用いられることができるとき、正常に動作しない可能性がある。IntraBCが用いられるとき、DPBの操作に関連する問題を克服するために、DPBを操作するさまざまな方法が開示される。
【0030】
方法1:復号化ピクチャバッファの最大サイズの計算
【0031】
シンタックス要素 sps_max_dec_pic_buffering_minus1 は、ビットストリームのシーケンスパラメータセット(SPS)レベルで伝達され、各時間レイヤが許容される復号化ピクチャおよび記憶ピクチャの総数を制限する。このシンタックス要素は、(MaxDPBSize−1)より小さい、または等しくなければならず、MaxDPBSize は、所定の画像解像度用に標準の最大許容DPBサイズを決定するのに用いられる。HEVCでは、DPBにある1つのピクチャバッファは、現在復号化ピクチャのフィルタリングされたバージョンを保存するように確保されている。DPBの残りは、他の時間参照ピクチャまたは出力用に待機している復号化ピクチャを保存するように用いられる。これらのDPBに保存されたピクチャの全ての合計は、時間参照ピクチャおよび出力用の待機ピクチャを含み、このレイヤ用にSPSのシンタックス要素 sps_max_dec_pic_buffering_minus1 の値より小さいまたは等しくなければならず、JCTVC−U1005に基づいたピクチャ記憶バッファのユニットにおいて、符号化ビデオシーケンス(CVS)用にDPBの最大所要サイズを指定する。SPSのシンタックス要素 sps_max_dec_pic_buffering_minus1 の値は、0〜 MaxDpbSize−1を含む範囲とする。
【0032】
現在のピクチャが参照ピクチャとして用いられるとき、現在のピクチャのフィルタリングされていないバージョンもDPB内に格納される必要がある。方法1の1つの実施形態に基づいて、DPBの能力に関して許容される参照ピクチャの数は、現在復号化ピクチャのフィルタリングされていないバージョンが現在復号化ピクチャのフィルタリングされたバージョンと同じであるかどうかを考慮に入れて計算される。例えば、両バージョンが同一のとき、現在のピクチャのフィルタリングされていないバージョン用にピクチャバッファを作成または確保する必要がない。これは、現在復号化ピクチャに用いられるループフィルタがないときに生じることができる。従って、この未使用ピクチャバッファは、他の時間参照ピクチャがDPBに保存されることができ、現在のピクチャの予測に用いられるように割り当てられることができる。または、現在のピクチャが参照ピクチャとして用いられ、現在の符号化ピクチャの2つのバージョンが異なるとき、現在のピクチャの両バージョンは、DPBに保存される必要がある。DPBの残りは、時間参照ピクチャの保存に用いられ、他のピクチャは、出力用に待機している可能性がある。全ての場合において、参照ピクチャの数と現在のピクチャ(1つまたは2つのバージョン)の数の総計は、DPBでは復号化ピクチャの最大許容数より小さいまたは等しくなくてはならない。
【0033】
1つの実施形態では、変数TwoVersionsOfCurrDecPicFlagが、現在のピクチャが参照ピクチャとして用いられるかどうか、現在のピクチャの2つのバージョンが異なるかどうかを識別するのに用いられる。この変数が1と等しいとき、2つの異なるバージョンの現在のピクチャがあるということを意味し、現在のピクチャは、参照ピクチャとして用いられる。この変数が0と等しいとき、現在のピクチャの1つのバージョンだけがあるということ、または現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして決して用いられないということを意味する。本発明の1つの実施形態に基づいた例示的なDPBサイズ計算が以下に示される。JCTVC−U1005の7.4.7.1項に規定のセクション「General Slice Segment Header Semantics」は、以下のように修正され、下線を付したテキストは、追加されたテキストを示している。
Num_long_term_pics は、スライスヘッダで直接シグナリングする現在のピクチャの長期RPSのエントリの数を指定する。存在しない場合、num_long_term_pics の値は、0と等しいと推定される。
Nuh_layer_id が0と等しいとき、NumNegativePics[ CurrRpsIdx ]、 NumPositivePics[ CurrRpsIdx ]、 num_long_term_sps、
TwoVersionsOfCurrDecPicFlag、および num_long_term_pics の和は、sps_max_dec_pic_buffering_minus1[ sps_max_sub_layers_minus1 ]に満たないまたは等しい。
【0034】
NumNegativePics[ CurrRpsIdx] は、現在のピクチャのピクチャオーダーカウント(POC)の値より小さいピクチャオーダーカウント(POC)の値を有する CurrRpsIdx 番目の候補の短期参照ピクチャセット(RPS)中の現在のピクチャの長期RPSのエントリの数を指定する。NumPositivePics[ CurrRpsIdx ]は、現在のピクチャのピクチャオーダーカウント(POC)の値より大きいピクチャオーダーカウント(POC)の値を有する CurrRpsIdx 番目の候補の短期参照ピクチャセット(RPS)中の現在のピクチャの長期RPSのエントリの数を指定する。Num_long_term_sps は、アクティブSPSにおいて指定される候補の長期参照ピクチャに基づいて導出される、現在の長期RPSのエントリの数を指定する。sps_max_dec_pic_buffering_minus1 は、符号化ビデオシーケンス(CVS)用に符号化ピクチャバッファの最大所要サイズを指定する。上述のように、本発明の実施形態に基づいたDPBのサイズは、短期RPS(即ち、NumNegativePics and NumPositivePics )と、長期RPS(即ち、num_long_term_sps および num_long_term_pics)と、変数 TwoVersionsOfCurrDecPicFlag との和として計算される。
【0035】
方法2:最大許容DPBサイズが限定されるときのIntraBCの使用への制約
【0036】
最大符号化ピクチャバッファサイズが1のとき(例えば、現在のピクチャを含む1つのサブレイヤの sps_max_dec_pic_buffering_minus1 が0と等しい)、このレイヤに適応可能な符号化ピクチャバッファだけが、現在の符号化ピクチャ(即ちフィルタリングされたバージョン)を保存するのに用いられることを意味する。この場合において、IntraBCが現在のピクチャに用いられない場合、このピクチャのスライス用のスライスタイプは、I−sliceでなければならない。本発明の方法2は、現在の符号化ビデオストリームの最大復号化ピクチャバッファサイズが1のとき(例えば、現在のピクチャを含むサブレイヤの sps_max_dec_pic_buffering_minus1 が0と等しい)、現在のピクチャを、現在のピクチャを復号化する参照ピクチャとして用いさせない。
【0037】
1つの実施形態では、シンタックス要素 pps_curr_pic_ref_enabled_flag は、ピクチャパラメータセット(PPS)フラグとして用いられ、IntraBCがPPSに関連する現在のピクチャに用いられるかどうかを示す。例示的な制約は、下記に示され、JCTVC−U1005の7.4.7.1項に規定のセクション「General Slice Segment Header Semantics」が修正されている。
スライスタイプセグメント...
Nal_unit_type が BLA_W_LP 〜 RSV_IRAP_VCLedai3 の範囲の値を有し、即ち、ピクチャがIRAPピクチャであることを含み、nuh_layer_id が0と等しく、pps_curr_pic_ref_enabled_flag が0と等しいとき、スライスタイプは、2と等しい。
Sps_max_dec_pic_buffering_minus1 [ TemporalId ]が0と等しく、nuh_layer_id が0と等しいとき、スライスタイプは、2と等しい。
【0038】
例示的な制約は、下記に示され、JCTVC−U1005の7.4.3.3.2項に規定のセクション「Picture Parameter Set Range Extension Semantics」は、修正され、下線を付したのテキストは、追加されたテキストを示している:
1と等しい pps_curr_pic_ref_enabled_flag は、PPSに関連するピクチャがピクチャ自体のスライスの参照ピクチャリストに含まれる得ることを指定する。0と等しい pps_curr_pic_ref_enabled_flag は、PPSに関連するピクチャがピクチャ自体のスライスの参照ピクチャリストに決して含まれないことを指定する。存在しないとき、 pps_curr_pic_ref_enabled_flag の値は、0と等しいと推定される。
Sps_curr_pic_ref_enabled_flag が0と等しいとき、pps_curr_pic_ref_enabled_flag の値が0と等しくなることが、ビットストリームコンフォーマンスの要件である。
sps_max_dec_pic_buffering_minus1[ TemporalId ] が0と等しく、 nuh_layer_id が0と等しいとき、pps_curr_pic_ref_enabled_flag は、0となることが、ビットストリームコンフォーマンスの要件である。
【0039】
方法2のもう1つの代替は、最大復号化ピクチャバッファサイズが1のとき(例えば、現在のピクチャを含むサブレイヤのsps_max_dec_pic_buffering_minus1が0と等しい)、現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして用いてはならない。
【0040】
この方法では、変数 TwoVersionsOfCurrDecPicFlag が、現在のピクチャが参照ピクチャとして用いられるかどうか、現在のピクチャの2つのバージョンが異なるかどうかを識別するのに用いられる。この変数が1と等しいとき、2つの異なるバージョンの現在のピクチャがあるということを意味し、現在のピクチャは、参照ピクチャとして用いられる。この変数が0と等しいとき、現在のピクチャの1つのバージョンだけがあるということ、または現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして決して用いられないということを意味する。1つの実施形態では、TwoVersionsOfCurrDecPicFlag が1と等しい場合、現在のピクチャを含むサブレイヤのシンタックス要素 sps_max_dec_pic_buffering_minus1 は、0より大きくなることが、ビットストリームコンフォーマンスの要件である。もう1つの実施形態では、現在のピクチャを含むサブレイヤの sps_max_dec_pic_buffering_minus1 が0と等しい場合、値 TwoVersionsOfCurrDecPicFlag は0となることが、ビットストリームコンフォーマンスの要件である。
【0041】
方法2のまたもう1つの代替は、現在のピクチャに用いられるループフィルタがない場合、最大復号化ピクチャバッファサイズが1のとき(例えば、現在のピクチャを含むサブレイヤの sps_max_dec_pic_buffering_minus1 が0と等しい)、現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして用いることができる。この現在のピクチャは、現在のピクチャを復号化するのに用いられることができる唯一の参照ピクチャでなくてはならない。
【0042】
方法3: 現在のピクチャに用いられるループフィルタがないとき、ピクチャバッファのIntraBCに参照ピクチャを保存する
【0043】
IntraBCが現在のピクチャに用いられるとき、IntraBCの参照ピクチャは、現在のピクチャのフィルタリングされていないバージョンである。現在のピクチャに用いられるループフィルタがない場合、現在復号化ピクチャの2つのバージョンは、同じである。現在のピクチャの参照ピクチャである現在復号化ピクチャの予備の(フィルタリングされていない)バージョンを保存する、DPBに作成されるピクチャバッファはない。この場合において、本発明に基づいた方法3は、参照ピクチャバッファの割り当てを修正し、IntraBCが正確なピクチャバッファを参照でき、現在復号化ピクチャを現在のピクチャ用の参照ピクチャとして保存することができる。
【0044】
IntraBCが用いられ、ループフィルタが用いられないとき、現在のピクチャの1つのバージョンだけがある。従って、方法3に基づいて、1つのピクチャバッファだけがDPBに作成され、現在復号化ピクチャを保存する。このピクチャは、IntraBCの参照ピクチャとして用いられる。1つの実施形態では、現在のピクチャのフィルタリングされたバージョンとして称されるこのピクチャは、IntraBC使用用の参照ピクチャとして用いられる。もう1つの実施形態では、IntraBCが用いられ、ループフィルタが用いられない場合において、現在のピクチャの1つのバージョンだけがあるとき、現在のピクチャは、現在のピクチャを復号化するプロセスの開始時に、およびプロセスの間、「長期参照に使用される」ものとしてマークされる。現在のピクチャを復号化した後、このピクチャは、「短期参照に使用される」ものとしてマークされる。またもう1つの実施形態では、現在のピクチャを復号化するプロセスの開始時に、およびプロセスの間、現在のピクチャのフィルタリングされたバージョンは、「長期参照に使用される」ものとしてマークされる。現在ピクチャの復号化が完了した後、現在のピクチャのフィルタリングされたバージョンは、「短期参照に使用される」ものとしてマークされる。
【0045】
1つの実施形態では、変数 TwoVersionsOfCurrDecPicFlag が、現在のピクチャが参照ピクチャとして用いられるかどうか、現在のピクチャの2つのバージョンが異なるかどうかを識別するのに用いられる。この変数が1と等しいとき、2つの異なるバージョンの現在のピクチャがあるということを意味し、現在のピクチャは、参照ピクチャとして用いられる。この変数が0と等しいとき、現在のピクチャの1つのバージョンだけがあるということ、または現在のピクチャは、現在のピクチャを復号化する参照ピクチャとして決して用いられないということを意味する。本発明の実施形態は、既存のビデオエンコーダ恭順の復号化プロセスを修正することによって既存のビデオエンコーダ標準(例えば、HEVC)に提供されることができる。例えば、JCTVC−U1005の8.1.3項の部分は、以下のように修正ができ、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト(即ち、[*削除されたテキスト*])を示し、下線を付したテキストは、追加されたテキストを示している。
【0046】
8.1.3 nuh_layer_id が0と等しい符号化ピクチャの復号化処理
3. 8.4、8.5、8.6および8.7項の処理は、全てのシンタクス構造レイヤのシンタクス要素を用いた復号化処理を指定する。ピクチャのスライスへの分割、スライスのスライスセグメントへの分割、およびスライスセグメントの符号化ツリーユニットへの分割がそれぞれピクチャのパーティショニングを形成するように、ピクチャの符号化スライスは、ピクチャの全ての符号化ツリーユニットについてのスライスセグメントデータを含むことが、ビットストリームコンフォーマンスの要件である。8.7項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化のサンプル値は、現在のピクチャ[*「長期参照に使用される」ものとしてマークされない*]用にピクチャ記憶バッファに保存される。
TwoVersionsOfCurrDecPicFlag が0と等しいとき、8.7項に規定されているループ内フィルタ処理の実施後の現在のピクチャは、「長期参照に使用される」ものとしてマークされる。TwoVersionsOfCurrDecPicFlag が1と等しいとき、8.7項に規定されているループ内フィルタ処理の実施直前の現在ピクチャの復号化サンプル値は、現在のピクチャ用にピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる。
【0047】
JCTVC−U1005の8.3.4項は、以下のように修正ができ、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト(即ち、[*削除されたテキスト*])を示し、下線を付したテキストは、追加されたテキストを示している。
【0048】
8.3.4 参照ピクチャリスト構築のための復号化処理
[*変数currPicを「長期参照に使用される」ものとしてマークされる、現在復号化ピクチャにする*]。
TwoVersionsOfCurrDecPicFlagが1と等しいとき、変数 currPic を、8.7項に規定されているループ内フィルタ処理の実施前の現在復号化ピクチャにする; または(TwoVersionsOfCurrDecPicFlag が0と等しいとき)、変数 currPic を、8.7項に規定されているループ内フィルタ処理の実施後の
現在復号化ピクチャにする。
【0049】
JCTVC−U1005のAnnex C3.4は、以下のように修正されることができ、下線を付したテキストは、追加されたテキストを示している。
【0050】
Annex C3.4 現在復号化ピクチャのマーキングおよび保存
TwoVersionsOfCurrDecPicFlagが1と等しいとき、
−8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのDPBに保存され、DPBの占有量は、1で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。
または、
−8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのDPBに保存され、DPBの占有量は、1で増分され、このピクチャは、「長期参照に使用される」ものとしてマークされる。現在ピクチャの全てのスライスが符号化された後、8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、「短期参照に使用される」ものとしてマークされる。
【0051】
IntraBC用のピクチャバッファの使用およびマーキング
【0052】
ループフィルタリング後の現在復号化ピクチャは、今後の使用(即ち、今後のピクチャ用に出力するか、または参照ピクチャとして使用するために)のために、復号化ピクチャバッファ(DPB)に保存されなければならない。IntraBCが現在のピクチャに用いられるとき、IntraBC用の参照ピクチャは、現在ピクチャのフィルタリングされていないバージョン(即ち、ループフィルタリング前の復号化ピクチャ)である。現在のピクチャに用いられるループフィルタがない場合、現在復号化ピクチャの2つのバージョンは、同じである。この場合、DPBで予備のピクチャバッファを用いて現在復号化ピクチャの複製のバージョンを保存する必要がない。従って、現在復号化ピクチャの1つのバージョンだけがDPBに保存される必要がある。この方法の1つの実施形態に基づいて、参照ピクチャバッファの割り当ては修正され、IntraBCが正確なピクチャバッファを参照でき、現在復号化ピクチャを現在のピクチャ用の参照ピクチャとして保存する。
【0053】
具体的には、本方法の1つの実施形態に基づいて、IntraBCが有効化され、ループフィルタが用いられないとき、現在のピクチャの1つのバージョンだけが参照ピクチャとして用いられる。現在のピクチャを復号化する前、または復号化している間、この現在のピクチャは、「長期参照に使用される」ものとしてマークされ、IntraBCの操作用の参照ピクチャとして用いられる。現在のピクチャの復号化が完了した後、この現在のピクチャは、「短期参照に使用される」ものとしてマークされる。
【0054】
既存のHEVC SCCドラフト標準(JCTVC−U1005)に基づいた構文と語義は、上述のようなバッファ管理を実施するように修正されることができる。構文と語義への例示的な修正は以下のように示される。
【0055】
8.1.3項の一部、「nuh_layer_id が0と等しい符号化ピクチャのための復号化処理」が修正される。具体的には、8.1.3項の3項は、以下のように修正され、下線を付したテキストは、追加されたテキストを示している。
3. 8.4、8.5、8.6および8.7項の処理は、全てのシンタクス構造レイヤのシンタクス要素を用いた復号化処理を指定する。ピクチャのスライスへの分割、スライスのスライスセグメントへの分割、およびスライスセグメントの符号化ツリーユニットへの分割がそれぞれピクチャのパーティショニングを形成するように、ピクチャの符号化スライスは、ピクチャの全ての符号化ツリーユニットについてのスライスセグメントデータを含むことが、ビットストリームコンフォーマンスの要件である。
TwoVersionsOfCurrDecPicFlagが1と等しいとき、8.7項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化のサンプル値は、現在のピクチャ用にピクチャ記憶バッファに保存される。8.7項に規定されているループ内フィルタ処理の実施直前の現在ピクチャの復号化サンプル値は、現在のピクチャ用に他のピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる。TwoVersionsOfCurrDecPicFlagが0と等しく、pps_curr_pic_as_ref_enabled_flagが0と等しいとき、8.7項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化のサンプル値は、現在のピクチャ用にピクチャ記憶バッファに保存される。TwoVersionsOfCurrDecPicFlagが0と等しいとき、pps_curr_pic_as_ref_enabled_flagが1と等しいとき、8.7項に規定されているループ内フィルタ処理の実施直前の現在ピクチャの復号化サンプル値は、現在のピクチャ用に他のピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる。
【0056】
もう1つの実施形態では、条項の3項の最後の文章は、8.7項に規定されているループ内フィルタ処理の実施後の現在ピクチャの復号化サンプル値は、現在のピクチャ用に他のピクチャ記憶バッファに保存され、「長期参照に使用される」ものとしてマークされる、と修正されることができる。
【0057】
8.3.4項の一部、「参照ピクチャリスト構築のための復号化処理」が以下のように修正され、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト(即ち、[*削除されたテキスト*])を示し、下線を付したテキストは、追加されたテキストを示している。
[*変数currPicを「長期参照に使用される」ものとしてマークされる、現在復号化ピクチャにする*]。
TwoVersionsOfCurrDecPicFlag が1と等しいとき、変数 currPic を、8.7項に規定されているループ内フィルタ処理の実施前の現在復号化ピクチャにする; または(TwoVersionsOfCurrDecPicFlag が0と等しいとき)、変数 currPic を、8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャにする。
【0058】
もう1つの実施形態では、上記の実施例の最後の文章は、「または(TwoVersionsOfCurrDecPicFlagは、0と等しい)、変数 currPic を、8.7項に規定されているループ内フィルタ処理の実施直後の現在復号化ピクチャにする。」と修正可能である。
【0059】
また、Annex C3.4項の一部、「現在復号化ピクチャのマーキングおよび保存」は、以下のように修正されなければならず、括弧およびアスタリスクで囲まれたテキストは、削除されたテキスト(即ち、[*削除されたテキスト*])を示し、下線を付したテキストは、追加されたテキストを示している。
TwoVersionsOfCurrDecPicFlagが1と等しい場合、
−8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのDPBに保存され、DPBの占有量は、1で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。
−[*TwoVersionsOfCurrDecPicFlagが1と等しいとき*]8.7項に規定されているループ内フィルタ処理の実施前の現在復号化ピクチャは、空のピクチャ記憶バッファのDPBに保存され、DPBの占有量は、1で増分され、このピクチャは、「長期参照に使用される」ものとしてマークされる。
.....
または、TwoVersionsOfCurrDecPicFlag が0と等しく、pps_curr_pic_as_ref_enabled_flag が0と等しい場合、
−8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのDPBに保存され、DPBの占有量は、1で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。
または
TwoVersionsOfCurrDecPicFlagが0と等しく、pps_curr_pic_as_ref_enabled_flag が1と等しい場合、
−8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、空のピクチャ記憶バッファのDPBに保存され、DPBの占有量は、1で増分され、このピクチャは、「短期参照に使用される」ものとしてマークされる。現在ピクチャの全てのスライスが符号化された後、8.7項に規定されているループ内フィルタ処理の実施後の現在復号化ピクチャは、「短期参照に使用される」ものとしてマークされる。
【0060】
もう1つの実施形態では、上記の段落の最後の文章は、「8.7項に規定されているループ内フィルタ処理の実施直前の現在復号化ピクチャは、「短期参照に使用される」ものとしてマークされる。」と修正可能である。1234
【0061】
図2は、本発明の実施形態に係る、復号化ピクチャバッファ(DFB)を組み込んだ例示的な符号化システムのフローチャートを示している。ステップ210では、前記プロセスが現在のピクチャを復号化する前に、IntraBCモードが有効化されるかどうか、現在のピクチャに任意のループフィルタが用いられるかどうかを決定する。ステップ220では、IntraBCモードが有効化され、現在のピクチャにループフィルタが用いられないかどうかがチェックされる。その結果が「Yes」の場合、ステップ230〜250が実行される。その結果が「No」の場合、プロセスは終了する。ステップ230では、現在のピクチャの現在復号化参照ピクチャは、現在のピクチャを復号化する前、または復号化している間、長期参照ピクチャとしてマークされ、現在復号化参照ピクチャは、DPBにある空のピクチャ記憶バッファに対応する。ステップ240では、現在復号化参照ピクチャは、現在のピクチャのIntraBC参照用に参照ピクチャリスト構築に割り当てられる。ステップ250では、DPBのバッファ占有量は、1つの参照ピクチャバッファだけを考慮に入れて現在のピクチャの復号化を始める前に計算される。
【0062】
図3は、本発明の実施形態に係る、DPBの最大サイズが1と等しい復号化ピクチャバッファ(DPB)の管理/運用を組み込んだ例示的な符号化システムのフローチャートを示している。ステップ310では、前記プロセスがDPB(復号化ピクチャバッファ)の最大サイズを決定する。ステップ320では、DPBの最大サイズが1に対応する場合、変数またはシンタックス要素は、目標値に設定され、DPBで1つのピクチャ記憶バッファだけを用いるように制限を課し、現在のピクチャを符号化または復号化する参照ピクチャを保存する。
【0063】
図4は、本発明の実施形態に係る、例示的な符号化システムのフローチャートを示しており、DPB用の参照ピクチャの総数は、現在復号化ピクチャの2つのバージョンが用いられるかどうかに関する情報を考慮に入れて計算される。ステップ410では、前記プロセスは、現在復号化ピクチャの2つのバージョンがステップ410に用いられるかどうかに関する情報を考慮に入れて、DPB用に参照ピクチャの総数を計算する。DPBは、短期および長期参照ピクチャを含む。ステップ420に示されるように参照ピクチャの総数までDPBに割り当てられる。次いで、ステップ430に示されるように、現在のピクチャは、DPBに保存された参照ピクチャを用いて符号化または復号化される。
【0064】
上記で示されるフローチャートは、本発明によるIntraBC 符号化の例を説明するためのものである。当業者は、本発明の精神と領域を脱しない範囲内で、各ステップを修正、再アレンジ、分割、結合して、本発明を実行することができる。本開示において、特定の構文と語義が用いられて、例を説明し、本発明の実施形態を実行する。当業者は、本発明の精神と領域を脱しない範囲内で、構文と語義を、等価の構文と語義と置き換えることにより、本発明を実施する。
【0065】
上の記述が提示されて、当業者に、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を行うことができる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明が行えることが理解できる。
【0066】
上述の本発明の具体例は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行される。たとえば、本発明の具体例は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ(DSP)で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ(FPGA)により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の精神を逸脱しない。
【0067】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。