(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-15
(45)【発行日】2023-06-23
(54)【発明の名称】コード化ピクチャにおける混合NALユニット・タイプをサポートする方法、システム及びコンピュータ・プログラム
(51)【国際特許分類】
H04N 19/70 20140101AFI20230616BHJP
【FI】
H04N19/70
(21)【出願番号】P 2021559109
(86)(22)【出願日】2020-12-16
(86)【国際出願番号】 US2020065318
(87)【国際公開番号】W WO2021138056
(87)【国際公開日】2021-07-08
【審査請求日】2021-10-01
(32)【優先日】2020-01-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-10-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チョイ,ビョンドゥ
(72)【発明者】
【氏名】ウェンジャー,ステファン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】米国特許出願公開第2021/0250617(US,A1)
【文献】米国特許出願公開第2021/0281858(US,A1)
【文献】SKUPIN, Robert et al.,AHG9: On Mixing NAL Unit Types in a Coded Picture,JVET-Q0396 (version 1),ITU,2019年12月31日,pp.1-6,JVET-Q0396_v1.docx
【文献】HANNUKSELA, Miska M.,AHG9: On Mixed NAL Unit Types in a Coded Picture,JVET-Q0239 (version 1),JVET-Q0239,ITU,2019年12月31日,pp.1-4,JVET-Q0239.docx
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサにより実行される方法であって:
コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットと前記コード化ピクチャの第2スライスの第2VCL NALユニットとを受信するステップであって、前記第1VCL NALユニットは第1VCL NALユニット・タイプを有し、前記第2VCL NALユニットは、前記第1VCL NALユニット・タイプとは異なる第2VCL NALユニット・タイプを有する、ステップと;
前記コード化ピクチャを復号化するステップであって、前記第1VCL NALユニットの前記第1VCL NALユニット・タイプと前記第2VCL NALユニットの前記第2VCL NALユニット・タイプとに基づいて、又は前記少なくとも1つのプロセッサにより受信されるインジケータであって、前記コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、前記コード化ピクチャのピクチャ・タイプを決定するステップを含む、復号化するステップと;
を含
み、前記決定するステップは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットがステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットがクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定するステップを含む、方法。
【請求項2】
少なくとも1つのプロセッサにより実行される方法であって:
コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットと前記コード化ピクチャの第2スライスの第2VCL NALユニットとを受信するステップであって、前記第1VCL NALユニットは第1VCL NALユニット・タイプを有し、前記第2VCL NALユニットは、前記第1VCL NALユニット・タイプとは異なる第2VCL NALユニット・タイプを有する、ステップと;
前記コード化ピクチャを復号化するステップであって、前記第1VCL NALユニットの前記第1VCL NALユニット・タイプと前記第2VCL NALユニットの前記第2VCL NALユニット・タイプとに基づいて、又は前記少なくとも1つのプロセッサにより受信されるインジケータであって、前記コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、前記コード化ピクチャのピクチャ・タイプを決定するステップを含む、復号化するステップと;
を含み、前記決定するステップは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットが漸進的復号化リフレッシュ(GDR)ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定するステップを含む
、方法。
【請求項3】
少なくとも1つのプロセッサにより実行される方法であって:
コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットと前記コード化ピクチャの第2スライスの第2VCL NALユニットとを受信するステップであって、前記第1VCL NALユニットは第1VCL NALユニット・タイプを有し、前記第2VCL NALユニットは、前記第1VCL NALユニット・タイプとは異なる第2VCL NALユニット・タイプを有する、ステップと;
前記コード化ピクチャを復号化するステップであって、前記第1VCL NALユニットの前記第1VCL NALユニット・タイプと前記第2VCL NALユニットの前記第2VCL NALユニット・タイプとに基づいて、又は前記少なくとも1つのプロセッサにより受信されるインジケータであって、前記コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、前記コード化ピクチャのピクチャ・タイプを決定するステップを含む、復号化するステップと;
を含み、前記インジケータはフラグであり;及び
前記コード化ピクチャを復号化する前記ステップは、
前記コード化ピクチャのテンポラルIDが0であることを、
前記コード化ピクチャが混合VCL NALユニット・タイプを含むことを前記フラグが示すこと
に基づいて決定するステップを更に含む
、方法。
【請求項4】
少なくとも1つのプロセッサにより実行される方法であって:
コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットと前記コード化ピクチャの第2スライスの第2VCL NALユニットとを受信するステップであって、前記第1VCL NALユニットは第1VCL NALユニット・タイプを有し、前記第2VCL NALユニットは、前記第1VCL NALユニット・タイプとは異なる第2VCL NALユニット・タイプを有する、ステップと;
前記コード化ピクチャを復号化するステップであって、前記第1VCL NALユニットの前記第1VCL NALユニット・タイプと前記第2VCL NALユニットの前記第2VCL NALユニット・タイプとに基づいて、又は前記少なくとも1つのプロセッサにより受信されるインジケータであって、前記コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、前記コード化ピクチャのピクチャ・タイプを決定するステップを含む、復号化するステップと;
を含み、前記インジケータはフラグであり、前記コード化ピクチャは第1レイヤにあり、
前記方法は、更に、
前記フラグを受信するステップと;
前記第1レイヤの参照レイヤである第2レイヤにある追加的なコード化ピクチャが、混合VCL NALユニット・タイプを含むことを、
前記コード化ピクチャが混合VCL NALユニット・タイプを含むことを、前記フラグが示すことに基づいて決定するステップと;
を含む
、方法。
【請求項5】
システムであって:
コンピュータ・プログラムを記憶するように構成されたメモリと;
少なくとも1つのコード化ビデオ・ストリームを受信し、前記コンピュータ・プログラム・コードにアクセスし、前記コンピュータ・コードにより指示されるように動作するように構成された少なくとも1つのプロセッサと;
を含み、前記コンピュータ・プログラム・コードは、請求項1-
4のうちの何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させる、システム。
【請求項6】
請求項1-4のうちの何れか1項に記載の方法をコンピュータ
に実行させるコンピュータ・プログラム
。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2020年1月1日付で出願された米国仮特許出願第62/956,254号、及び2020年10月22日付で出願された米国特許出願第17/077,035号による優先権を主張しており、それらの全体が本願に組み込まれる。
【0002】
本開示の実施形態は、ビデオ符号化及び復号化に関連し、より具体的には、コーディングされたピクチャ(コード化ピクチャ)に対する混合ネットワーク抽象化(NAL)ユニット・タイプのサポートに関連する。
【背景技術】
【0003】
汎用ビデオ・コーディング(VVC)仕様書草案JVET-P2001(全体的に本願に組み込まれる)(JVET-Q0041により編集してアップデートされる)では、混合ネットワーク抽象レイヤ(NAL)ユニット・タイプの機能がサポートされており、これにより、NALユニット・タイプがイントラ・ランダム・アクセス・ポイント(IRAP)又はクリーン・ランダム・アクセス(CRA)に等しいNALユニット・タイプを有する1つ以上のスライスNALユニット、及び非IRAPに等しいNALユニット・タイプを有する1つ以上のスライスNALユニットを有することが可能になる。この機能は、2つの異なるビットストリームを1つにマージしたり、各ローカル領域(サブピクチャ)に対して異なるランダム・アクセス周期をサポートしたりするために使用することができる。現在、機能をサポートするために、以下のシンタックス及びセマンティクスが定義されている。
【0004】
以下の表1では、例示的なピクチャ・パラメータ・セット未処理バイト・シーケンス・ペイロード(raw byte sequence payload,RBSP)シンタックスが提供されている。
表1
【表1】
【0005】
1に等しいシンタックス要素mixed_nalu_types_in_pic_flagは、ピクチャ・パラメータ・セット(PPS)を参照する各ピクチャは、1つより多いビデオ・コーディング・レイヤ(VCL) NALユニットを有すること、VCL NALユニットは同じ値のnal_unit_typeを有しないこと、及びピクチャはIRAPピクチャではないことを指定する。0に等しいシンタックス要素mixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャは、1つ以上のVCL NALユニットを有すること、及びPPSを参照する各ピクチャのVCL NALユニットは、同じ値のnal_unit_typeを有することを指定する。
【0006】
シンタックス要素no_mixed_nalu_types_in_pic_constraint_flagが1に等しい場合、シンタックス要素mixed_nalu_types_in_pic_flagの値は0に等しいものとする。
【0007】
現在のVVC仕様によれば、NALユニット・タイプ・コード、及びNALユニット・タイプ・クラスは、以下の表2に示すように定義される。
表2
【表2】
【0008】
ピクチャpicAにおいて両端を含むIDR_W_RADLないしCRA_NUTの範囲におけるnal_unit_typeの値nalUnitTypeAを有する各スライスに関し(picAはnal_unit_typeの別の値を有する1つ以上のスライスも含む)、以下が適用される:
【0009】
(A)スライスはサブピクチャsubpicAに属するものとし、これに関し、対応するシンタックス要素subpic_treated_as_pic_flag[ i ]の値は1に等しい。
【0010】
(B)スライスは、nalUnitTypeAに等しくないシンタックス要素nal_unit_typeを有するVCL NALユニットを含むpicAのサブピクチャには属さないものとする。
【0011】
(C)コード化レイヤ・ビデオ・シーケンス(CLVS)において復号順で後続のすべてのPUに関し、subpicAのスライスのRefPicList[0]もRefPicList[1]も、アクティブ・エントリで復号順で先行するpicAにおける如何なるピクチャも含まないものとする。
【0012】
任意の特定のピクチャのVCL NALユニットに関し、以下を適用する:
【0013】
シンタックス要素mixed_nalu_types_in_pic_flagが0に等しい場合、シンタックス要素nal_unit_typeの値は、ピクチャのすべてのコード化スライスNALユニットに対して同じであるものとする。ピクチャ又はPUは、ピクチャ又はPUのコード化スライスNALユニットと同じNALユニット・タイプを有するように言及される。
【0014】
それ以外の場合(シンタックス要素mixed_nalu_types_in_pic_flagは1に等しい)、1つ以上のVCL NALユニットはすべて、両端を含むIDR_W_RADLないしCRA_NUTの範囲内のnal_unit_typeの特定の値を有し、他のVCL NALユニットはすべて、両端を含むTRAIL_NUTないしRSV_VCL_6の範囲内のnal_unit_typeの特定の値を有するか、又はGDR_NUTと等しいものとする。
【発明の概要】
【0015】
上記の背景のセクションで説明した混合VCL NALユニット・タイプの現在の設計は幾つかの問題を有する可能性がある。
【0016】
場合によっては、ピクチャが混合VCL NALユニット・タイプで構成される場合に、ピクチャのピクチャ・タイプが曖昧になる可能性がある。
【0017】
場合によっては、NALユニット・タイプが同じPU(ピクチャ)で混在する場合、テンポラル識別子(例えば、TemporalId)制約がコンフリクトする可能性がある。
【0018】
例えば、現在のVVC仕様はTemporalIdに関して以下の制約を有する:
シンタックス要素nal_unit_typeが両端を含むIDR_W_RADLないしRSV_IRAP_12の範囲内にある場合、シンタックス要素TemporalIdは0に等しいものとする。シンタックス要素nal_unit_typeがSTSA_NUTに等しい場合、シンタックス要素TemporalIdは0に等しくないものとする。
【0019】
場合によっては、シンタックス要素mixed_nalu_types_in_pic_flagがPPSでシグナリングされるならば、少なくとも2つのPPS NALユニットは、CLVSにおけるスライスNALユニットによって参照されるものとする。また、サブピクチャが抽出される場合、シンタックス要素mixed_nalu_types_in_pic_flagの値を変更することによって、関連するPPSは書き換えられるものとする。
【0020】
場合によっては、現在の設計は、ランダム・アクセス復号可能リーディング(RADL)/ランダム・アクセス・スキップ化リーディング(RASL)NALユニットの、ピクチャ内のトレール・ピクチャ(Trail pictures,PU)との共存をサポートしない可能性がある。
【0021】
場合によっては、レイヤ内のピクチャが異なるレイヤ内の別のピクチャを参照する場合に、シンタックス要素mixed_nalu_types_in_pic_flagは整合していない可能性がある。
【0022】
本開示の実施形態は、上述した1つ以上の問題及び/又は他の問題に対処することが可能である。
【0023】
1つ以上の実施形態によれば、少なくとも1つのプロセッサにより実行される方法が提供される。方法は:コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットとコード化ピクチャの第2スライスの第2VCL NALユニットとを受信するステップであって、第1VCL NALユニットは第1VCL NALユニット・タイプを有し、第2VCL NALユニットは、第1VCL NALユニット・タイプとは異なる第2VCL NALユニット・タイプを有する、ステップと;コード化ピクチャを復号化するステップであって、第1VCL NALユニットの第1VCL NALユニット・タイプと第2VCL NALユニットの第2VCL NALユニット・タイプとに基づいて、又は少なくとも1つのプロセッサにより受信されるインジケータであって、コード化ピクチャは異なるVCL NALユニット・タイプを含むことを示すインジケータに基づいて、コード化ピクチャのピクチャ・タイプを決定するステップを含む、復号化するステップと;を含む。
【0024】
実施形態によれば、決定するステップは、コード化ピクチャがトレーリング・ピクチャであることを、第1VCL NALユニットがトレーリング・ピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、第2VCL NALユニット・タイプが示すことに基づいて決定するステップを含む。
【0025】
実施形態によれば、決定するステップは、コード化ピクチャがランダム・アクセス復号可能リーディング(RADL)ピクチャであることを、第1VCL NALユニットがRADLピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、第2VCL NALユニット・タイプが示すことに基づいて決定するステップを含む。
【0026】
実施形態によれば、決定するステップは、コード化ピクチャが、ステップ・ワイズ・テンポラル・サブレイヤ・アクセス(step-wise temporal sub-layer access,STSA)ピクチャであることを、第1VCL NALユニットがSTSAピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライスを含まないことを、第2VCL NALユニット・タイプが示すこと、及びに基づいて決定するステップを含む。
【0027】
実施形態によれば、決定するステップは、コード化ピクチャがトレーリング・ピクチャであることを、第1VCL NALユニットがステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットがクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、第2VCL NALユニット・タイプが示すことに基づいて決定するステップを含む。
【0028】
実施形態によれば、決定するステップは、コード化ピクチャがトレーリング・ピクチャであることを、第1VCL NALユニットが漸進的復号化リフレッシュ(gradual decoding refresh,GDR)ピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、第2VCL NALユニット・タイプが示すことに基づいて決定するステップを含む。
【0029】
実施形態によれば、インジケータはフラグであり、決定するステップは、コード化ピクチャがトレーリング・ピクチャであることを、コード化ピクチャが混合VCL NALユニット・タイプを含むことをフラグが示すことに基づいて決定するステップを含む。
【0030】
実施形態によれば、インジケータはフラグであり、コード化ピクチャを復号化するステップは、コード化ピクチャのテンポラルIDが0であることを、コード化ピクチャが混合VCL NALユニット・タイプを含むことをフラグが示すことに基づいて決定するステップを更に含む。
【0031】
実施形態によれば、インジケータはフラグであり、方法は、ピクチャ・ヘッダ又はスライス・ヘッダにおいてフラグを受信するステップを更に含む。
【0032】
実施形態によれば、インジケータはフラグであり、コード化ピクチャは第1レイヤにあり、方法は、更に、フラグを受信するステップと;第1レイヤの参照レイヤである第2レイヤにある追加的なコード化ピクチャが、混合VCL NALユニット・タイプを含むことを、コード化ピクチャが混合VCL NALユニット・タイプを含むことを、フラグが示すことに基づいて決定するステップとを含む。
【0033】
1つ以上の実施形態によれば、システムが提供される。システムは、コンピュータ・プログラムを記憶するように構成されたメモリと;少なくとも1つのコード化ビデオ・ストリームを受信し、コンピュータ・プログラム・コードにアクセスし、コンピュータ・コードにより指示されるように動作するように構成された少なくとも1つのプロセッサとを含む。コンピュータ・プログラム・コードは、少なくとも1つのコード化ビデオ・ストリームからコード化ピクチャを復号化することを、少なくとも1つのプロセッサに行わせるように構成された復号化コードを含み、復号化コードは、コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットの第1VCL NALユニット・タイプと、コード化ピクチャの第2スライスの第2VCL NALユニットの第2VCL NALユニット・タイプとに基づいて、又は少なくとも1つのプロセッサにより受信されるインジケータであって、コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、コード化ピクチャのピクチャ・タイプを決定することを、少なくとも1つのプロセッサに行わせるように構成された決定コードを含み、第1VCL NALユニット・タイプは第2VCL NALユニット・タイプとは異なる。
【0034】
実施形態によれば、決定コードは、コード化ピクチャがトレーリング・ピクチャであることを、第1VCL NALユニットがトレーリング・ピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、第2VCL NALユニット・タイプが示すことに基づいて決定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0035】
実施形態によれば、決定コードは、コード化ピクチャがランダム・アクセス復号可能リーディング(RADL)ピクチャであることを、前記第1VCL NALユニットがRADLピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、第2VCL NALユニット・タイプが示すことに基づいて決定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0036】
実施形態によれば、決定コードは、コード化ピクチャが、ステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャであることを、第1VCL NALユニットがSTSAピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライスを含まないことを、第2VCL NALユニット・タイプが示すこと、に基づいて決定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0037】
実施形態によれば、決定コードは、コード化ピクチャがトレーリング・ピクチャであることを、第1VCL NALユニットがステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットがクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、第2VCL NALユニット・タイプが示すことに基づいて決定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0038】
実施形態によれば、決定コードは、コード化ピクチャがトレーリング・ピクチャであることを、第1VCL NALユニットが漸進的復号化リフレッシュ(GDR)ピクチャ・コード化スライスを含むことを、第1VCL NALユニット・タイプが示すこと、及び第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、第2VCL NALユニット・タイプが示すことに基づいて決定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0039】
実施形態によれば、インジケータはフラグであり、決定コードは、コード化ピクチャがトレーリング・ピクチャであることを、コード化ピクチャが混合VCL NALユニット・タイプを含むことをフラグが示すことに基づいて決定することを、少なくとも1つのプロセッサに行わせるように構成されている。
【0040】
実施形態によれば、インジケータはフラグであり、決定コードは、コード化ピクチャのテンポラルIDが0であることを、コード化ピクチャが混合VCL NALユニット・タイプを含むことをフラグが示すことに基づいて決定することを、少なくとも1つのプロセッサに行わせるように更に構成されている。
【0041】
実施形態によれば、インジケータはフラグであり、少なくとも1つのプロセッサは、ピクチャ・ヘッダ又はスライス・ヘッダにおいてフラグを受信するように構成されている。
【0042】
1つ以上の実施形態によれば、コンピュータ命令を記憶する非一時的なコンピュータ読み取り可能な媒体が提供される。コンピュータ命令は、少なくとも1つのプロセッサにより実行されると、少なくとも1つのコード化ビデオ・ストリームからコード化ピクチャを復号化することを、少なくとも1つのプロセッサに行わせ、復号化することは、コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットの第1VCL NALユニット・タイプと、コード化ピクチャの第2スライスの第2VCL NALユニットの第2VCL NALユニット・タイプとに基づいて、又は少なくとも1つのプロセッサにより受信されるインジケータであって、コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、コード化ピクチャのピクチャ・タイプを決定することを含み、第1VCL NALユニット・タイプは第2VCL NALユニット・タイプとは異なる。
【図面の簡単な説明】
【0043】
開示される対象事項の更なる特徴、性質、及び種々の利点は、以下の詳細な説明及び添付の図面から更に明らかになるであろう。
【0044】
【
図1】実施形態による通信システムの簡略化されたブロック図の概略図である。
【0045】
【
図2】実施形態による通信システムの簡略化されたブロック図の概略図である。
【0046】
【
図3】実施形態によるデコーダの簡略化されたブロック図の概略図である。
【0047】
【
図4】実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【0048】
【
図5】実施形態によるNALユニットのブロック図である。
【0049】
【
図6】実施形態によるデコーダのブロック図である。
【0050】
【
図7】実施形態を実施するのに適したコンピュータ・システムの図である。
【発明を実施するための形態】
【0051】
図1は、本開示の実施形態による通信システム(100)の簡略化されたブロック図を示す。システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110,120)を含んでもよい。データの一方向伝送のために、第1端末(110)は、ネットワーク(150)を介する他方の端末(120)への伝送のために、ローカル位置でビデオ・データをコーディングすることができる。第2端末(120)は、他方の端末のコーディングされたビデオ・データをネットワーク(150)から受信し、コーディングされたデータを復号化し、復元されたビデオ・データを表示することができる。一方向データ伝送は、メディア・サービング・アプリケーション等において一般的である。
【0052】
図1は、例えばビデオ会議中に生じる可能性のあるコーディングされたビデオの双方向伝送をサポートするために提供される端末の第2ペア(130,140)を示す。データの双方向伝送のために、各端末(130,140)は、ローカル位置で捕捉されたビデオ・データを、ネットワーク(150)を介して他方の端末へ伝送するためにコーディングすることができる。各端末(130,140)はまた、他方の端末によって送信されたコーディングされたビデオ・データを受信することができ、コーディングされたデータを復号化することができ、復元されたビデオ・データをローカル・ディスプレイ・デバイスで表示することができる。
【0053】
図1において、端末(110-140)は、サーバー、パーソナル・コンピュータ、スマートフォン、及び/又は他の任意のタイプの端末として示される可能性がある。例えば、端末(110-140)は、ラップトップ・コンピュータ、タブレット・コンピュータ、メディア・プレーヤ、及び/又は専用のビデオ会議装置であってもよい。ネットワーク(150)は、例えば有線及び/又は無線通信ネットワークを含む、コーディングされたビデオ・データを端末(110-140)間で伝送する任意数のネットワークを表す。通信ネットワーク(150)は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークは、通信ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク及び/又はインターネットを含む。本説明の目的のために、ネットワーク(150)のアーキテクチャ及びトポロジーは、以下で説明されない限り、本開示の動作にとって重要ではない可能性がある。
【0054】
図2は、開示される対象事項の適用例として、ストリーミング環境におけるビデオ・エンコーダ及びデコーダの配置を示す。開示される対象事項は、例えば、ビデオ会議、デジタルTV、圧縮ビデオのデジタル媒体での記憶(CD、DVD、メモリ・スティックなどを含む)などを含む、他のビデオ対応アプリケーションにも同様に適用可能であるとすることが可能である。
【0055】
図2に示されるように、ストリーミング・システム(200)は、ビデオ・ソース(201)及びエンコーダ(203)を含むことが可能なキャプチャ・システム(213)を含むことが可能である。ビデオ・ソース(201)は、例えばデジタル・カメラであってもよく、非圧縮ビデオ・サンプル・ストリーム(202)を生成するように構成されていてもよい。非圧縮ビデオ・サンプル・ストリーム(202)は、符号化されたビデオ・ビットストリームと比較した場合に、高いデータ・ボリュームを提供し、カメラ(201)に結合されたエンコーダ(203)によって処理されることが可能である。エンコーダ(203)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことが可能であり、以下で詳細に説明されるように、開示される対象事項の態様を可能にしたり、又は実現したりすることが可能である。符号化されたビデオ・ビットストリーム(204)は、サンプル・ストリームと比較した場合に、より低いデータ・ボリュームを含む可能性があり、将来の使用のためにストリーミング・サーバー(205)で記憶されることが可能である。1つ以上のストリーミング・クライアント(206)は、ストリーミング・サーバー(205)にアクセスして、符号化されたビデオ・ビットストリーム(204)のコピー(207)であってもよいビデオ・ビットストリーム(209)を検索することができる。
【0056】
実施形態では、ストリーミング・サーバー(205)は、メディア・アウェア・ネットワーク要素(MANE)として機能してもよい。例えば、ストリーミング・サーバー(205)は、潜在的に異なるビットストリームを1つ以上のストリーミング・クライアント(206)に合わせるために、符号化されたビデオ・ビットストリーム(204)をプルーニングするように構成することが可能である。実施形態において、MANEは、ストリーミング・システム(200)内のストリーミング・サーバー(205)から別々に提供されてもよい。
【0057】
ストリーミング・クライアント(206)は、ビデオ・デコーダ(210)及びディスプレイ(212)を含むことが可能である。ビデオ・デコーダ(210)は、例えば、符号化されたビデオ・ビットストリーム(204)の到来するコピーであるビデオ・ビット・ストリーム(209)をデコードし、ディスプレイ(212)又は他のレンダリング・デバイス(図示せず)上でレンダリングすることが可能な進行するビデオ・サンプル・ストリーム(211)を生成することができる。幾つかのストリーミング・システムでは、ビデオ・ビットストリーム(204,209)は、特定のビデオ・コーディング/圧縮規格に従って符号化することが可能である。これらの規格の具体例は、ITU-T勧告H.265を含むが、これに限定されない。汎用ビデオ符号化(Versatile Video Coding,VVC)として非公式に知られているビデオ・コーディング規格は、開発中である。開示の実施形態はVVCの状況で使用することが可能である。
【0058】
図3は、本開示の実施形態によるディスプレイ(212)に取り付けられたビデオ・デコーダ(210)の例示的な機能ブロック図を示す。
【0059】
ビデオ・デコーダ(210)は、チャネル(312)、受信機(310)、バッファ・メモリ(315)、エントロピー・デコーダ/パーサー(320)、スケーラ/逆変換ユニット(351)、イントラ予測ユニット(352)、動き補償予測ユニット(353)、アグリゲータ(355)、ループ・フィルタ・ユニット(356)、リファレンス・ピクチャ・メモリ(357)、及び現在のピクチャのメモリ(357)を含むことができる。少なくとも1つの実施形態では、ビデオ・デコーダ(210)は、集積回路、一連の集積回路、及び/又は他の電子回路を含んでもよい。ビデオ・デコーダ(210)はまた、部分的又は全体的に、関連するメモリと共に1つ以上のCPU上で動作するソフトウェアで実施されてもよい。
【0060】
この実施形態及び他の実施形態では、受信機(310)は、デコーダ(210)によってデコードされる1つ以上のコーディングされたビデオ・シーケンスを一度に1つのコーディングされたビデオ・シーケンスで受信することができ、各々のコーディングされたビデオ・シーケンスの復号化は、他のコーディングされたビデオ・シーケンスから独立している。コーディングされたビデオ・シーケンスは、チャネル(312)から受信することができ、このチャネルは、符号化されたビデオ・データを記憶する記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。受信機(310)は、符号化されたビデオ・データを、他のデータ、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリームと共に受信することができ、これらのデータは、エンティティ(図示せず)を利用してそれぞれ転送されることが可能である。受信機(310)は、コーディングされたビデオ・シーケンスを他のデータから分離することができる。ネットワーク・ジッタに対処するために、バッファ・メモリ(315)が、受信機(310)とエントロピー・デコーダ/パーサー(320)(今後「パーサー」という)との間に結合されてもよい。受信機(310)が、十分な帯域幅及び制御可能性を有するストア/フォワード・デバイスから、又はアイソシンクロナス・ネットワークから、データを受信している場合、バッファ(315)は不要である可能性があり、或いは小さいものであるとすることが可能である。インターネットのようなベスト・エフォート・パケット・ネットワークでの使用のために、バッファ(315)が必要とされる可能性があり、比較的大きくすることが可能であり、且つ適応的なサイズにすることが可能である。
【0061】
ビデオ・デコーダ(210)は、エントロピー符号化されたビデオ・シーケンスからシンボル(321)を再構成するためのパーサー(320)を含んでもよい。これらのシンボルのカテゴリは、例えば、デコーダ(210)の動作を管理するために使用される情報と、
図2に示されているように、デコーダに結合されることが可能なディスプレイ(212)のようなレンダリング・デバイスを制御する可能性のある情報とを含む。レンダリング・デバイスの制御情報は、補足エンハンスメント情報((Supplementary Enhancement Information,SEI)メッセージ)又はビデオ・ユーザビリティ情報(Video Usability Information,VUI)パラメータ・セット・フラグメント(図示せず)の形式であってもよい。パーサー(320)は、コーディングされたビデオ・シーケンスを解析/エントロピー復号化することができる。コーディングされたビデオ・シーケンスのコーディングは、ビデオ・コーディング技術又は規格に従うことが可能であり、可変長コーディング、ハフマン・コーディング、コンテキストの影響を伴うか又は伴わない算術コーディングなどを含む、当業者に周知の原理に従うことができる。パーサー(320)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオ・デコーダ内のピクセルのサブグループのうちの少なくとも1つに対するサブグループ・パラメータのセットを、コーディングされたビデオ・シーケンスから抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディング・ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことが可能である。パーサー(320)はまた、変換係数、量子化パラメータ値、動きベクトル等のような情報をコーディングされたビデオ・シーケンスから抽出することも可能である。
【0062】
パーサー(320)は、シンボル(321)を作成するために、バッファ(315)から受信したビデオ・シーケンスに対してエントロピー復号化/解析オペレーションを実行することができる。
【0063】
シンボル(321)の再構成は、コーディングされたビデオ・ピクチャ又はその部分のタイプ(例えば、ピクチャ間、ピクチャ内、ブロック間、ブロック内)やその他の要因に応じて、複数の異なるユニットを含むことが可能である。どのユニットが関与し、それらがどのように関与するかは、コーディングされたビデオ・シーケンスからパーサー(320)によって解析されたサブグループ制御情報によって、制御されることが可能である。パーサー(320)と後の複数のユニットとの間のこのようなサブグループ制御情報の流れは、明確化のために描かれてはいない。
【0064】
デコーダ210は、既に言及した機能ブロックを超えて、概念的には、以下に説明するような複数の機能ユニットに細分されることが可能である。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることが可能である。しかしながら、開示される対象事項を説明するために、以下の機能ユニットへの概念的な細分化は相応しい。
【0065】
1つのユニットは、スケーラ/逆変換ユニット(351)であってもよい。スケーラ/逆変換ユニット(351)は、制御情報と同様に量子化された変換係数を受信し、制御情報は、どの変換を使用するか、ブロック・サイズ、量子化係数、量子化スケーリング行列などを、パーサー(320)からのシンボル(321)として含む。スケーラ/逆変換ユニットは(351)は、アグリゲータ(355)に入力されることが可能なサンプル値を含むブロックを出力することが可能である。
【0066】
場合によっては、スケーラ/逆変換(351)の出力サンプルは、イントラ・コーディングされたブロック、即ち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロック、に関連付けることが可能である。このような予測情報は、イントラ・ピクチャ予測ユニット(352)によって提供されることが可能である。場合によっては、イントラ・ピクチャ予測ユニット(352)は、現在のピクチャ・メモリ(358)からの現在の(部分的に再構成された)ピクチャから取り出された周辺の既に再構成された情報を使用して、再構成中のブロックの同じサイズ及び形状のブロックを生成する。アグリゲータ(355)は、場合によってはサンプル毎に、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供されるような出力サンプル情報に追加する。
【0067】
それ以外のケースにおいて、スケーラ/逆変換ユニット(351)の出力サンプルは、インター・コーディングされた、潜在的に動き補償されたブロックに関連することが可能である。このようなケースでは、動き補償予測ユニット(353)は、参照ピクチャ・メモリ(357)にアクセスして、予測に使用されるサンプルを取り出すことができる。ブロックに関連するシンボル(321)に従って、取り出されたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(355)によって、スケーラ/逆変換ユニットの出力に加えられ(この場合、残差サンプル又は残差信号と呼ばれる)、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルを取り出す参照ピクチャ・メモリ(357)内のアドレスは、動きベクトルによって、制御されることが可能である。動きベクトルは、例えば、X、Y、及び参照ピクチャ成分を有することが可能なシンボル(321)の形式で、動き補償予測ユニット(353)に利用可能であり得る。また、動き補償は、サブサンプルの精密な動きベクトルが使用される場合に、参照ピクチャ・メモリ(357)から取り出されるようなサンプル値の補間、動きベクトル予測メカニズム等を含むことが可能である。
【0068】
アグリゲータ(355)の出力サンプルは、ループ・フィルタ・ユニット(356)内の様々なループ・フィルタリング技術の影響を受けることが可能である。ビデオ圧縮技術はループ内フィルタ技術を含むことが可能であり、その技術は、コーディングされたビデオ・ビットストリームに含まれるパラメータによって制御され、ループ・フィルタ・ユニット(356)にとってパーサー(320)からのシンボル(321)として利用可能にされるが、コーディングされたピクチャ又はコーディングされたビデオ・シーケンスの(復号順で)以前の部分の復号化中に得られたメタ情報に応答することも可能であり、また、以前に再構成されループ・フィルタリングされたサンプル値に応答することも可能である。
【0069】
ループ・フィルタ・ユニット(356)の出力は、ディスプレイ(212)のようなレンダリング・デバイスに出力されることが可能であり、且つ将来のインター・ピクチャ予測に使用するために参照ピクチャ・メモリに記憶されることも可能なサンプル・ストリームであるすることが可能である。
【0070】
特定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用することが可能である。コーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして(例えば、パーサー(320)によって)識別されると、現在の参照ピクチャは参照ピクチャ・メモリ(357)の一部となることが可能であり、以後のコーディングされたピクチャの再構成を開始する前に、新しい現在のピクチャのメモリが改めて割り当てられることが可能である。
【0071】
ビデオ・デコーダ(210)は、ITU-T Rec.H.265のような規格で文書化される可能性のある所定のビデオ圧縮技術に従って、復号化動作を実行することができる。コーディングされたビデオ・シーケンスは、ビデオ圧縮技術文書又は規格の中で、特にその中のプロファイル文書の中で規定されているように、ビデオ圧縮技術又は規格のシンタックスに従うという意味で、使用されているビデオ圧縮技術又は規格によって規定されるシンタックスに従うことができる。また、幾つかのビデオ圧縮技術又は規格とのコンプライアンスのために、コーディングされたビデオ・シーケンスの複雑性は、ビデオ圧縮技術又は規格のレベルによって定められる範囲内にあるとすることが可能である。場合によっては、レベルは、最大ピクチャ・サイズ、最大フレーム・レート、最大再構成サンプル・レート(例えば、毎秒当たりのメガサンプルで測定される)、最大参照ピクチャ・サイズなどを制限する。レベルによって設定される制限は、場合によっては、コーディングされたビデオ・シーケンスでシグナリングされるHRDバッファ管理のためのメタデータ及び仮説参照デコーダ(Hypothetical Reference Decoder,HRD)仕様によって、更に制限される可能性がある。
【0072】
実施形態では、受信機(310)は、符号化されたビデオと共に追加の(冗長的な)データを受信することができる。追加データは、コーディングされたビデオ・シーケンスの一部として包含される可能性がある。追加のデータは、データを適切に復号化するため、及び/又はオリジナル・ビデオ・データをより正確に再構成するために、ビデオ・デコーダ(210)によって使用されてもよい。追加のデータは、例えば、時間的、空間的、又はSNRエンハンスメント・レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形態におけるものであるとすることが可能である。
【0073】
図4は、本開示の実施形態による、ビデオ・ソース(201)に関連付けられたビデオ・エンコーダ(203)の例示的な機能ブロック図を示す。
【0074】
ビデオ・エンコーダ(203)は、例えば、ソース・コーダ(430)、コーディング・エンジン(432)、(ローカル)デコーダ(433)、参照ピクチャ・メモリ(434)、予測器(435)、送信機(440)、エントロピー・コーダー(445)、コントローラ(450)、及びチャネル(460)を含むエンコーダを含むことが可能である。
【0075】
エンコーダ(203)は、エンコーダ(203)によってコーディングされるべきビデオ画像を捕捉することが可能なビデオ・ソース(201)(エンコーダの一部ではない)からビデオ・サンプルを受信することができる。
【0076】
ビデオ・ソース(201)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 YCrCB、RGB、・・・)及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)によるものであるとすることが可能なデジタル・ビデオ・サンプル・ストリームの形式で、エンコーダ(203)によってコーディングされるソース・ビデオ・シーケンスを提供することができる。メディア・サービング・システムにおいて、ビデオ・ソース(201)は、前もって準備されたビデオを記憶する記憶装置であってもよい。ビデオ会議システムにおいては、ビデオ・ソース(203)は、ローカル画像情報をビデオ・シーケンスとして捕捉するカメラであってもよい。ビデオ・データは、シーケンスで見た場合に動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャそれ自体は、ピクセルの空間アレイとして組織されてもよく、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことが可能である。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0077】
実施形態によれば、エンコーダ(203)は、リアルタイムで、又はアプリケーションによって要求される他の任意の時間的制約の下で、ソース・ビデオ・シーケンスのピクチャを、コーディングされたビデオ・シーケンス(443)に、コーディングして圧縮することができる。適切なコーティング速度を強いることは、コントローラ(450)の1つの機能である。コントローラはまた、以下で説明されるように他の機能ユニットを制御し、これらのユニットに機能的に結合されることが可能である。その結合は明確性のために描かれていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ(ピクチャ・スキップ、量子化器、レート歪最適化技術のラムダ値、・・・)、ピクチャ・サイズ、グループ・オブ・ピクチャ(GOP)のレイアウト、最大動きベクトル探索範囲などを含むことができる。当業者は、コントローラ(450)の他の機能を容易に識別することが可能であり、なぜならそれらは特定のシステム設計のために最適化されたビデオ・エンコーダ(203)に関連し得るからである。
【0078】
幾つかのビデオ・エンコーダは、「コーディング・ループ」として当業者が容易に認識するものにおいて動作する。極端に簡略化した説明として、コーディング・ループは、ソース・コーダ(430)(コーディングされるべき入力ピクチャ及び参照ピクチャに基づいてシンボルを生成する責任を負う)と、エンコーダ(203)に組み込まれた(ローカル)デコーダ(433)とによる符号化部分で構成されることが可能であり、(ローカル)デコーダ(433)はサンプル・データを作成するためにシンボルを再構成し、ビデオ圧縮技術においてシンボルとコーディングされたビデオ・ビットストリームとの間の圧縮がロスレスである場合に、(リモート)デコーダもまたそのサンプル・データを作成するであろう。再構成されたサンプル・ストリームは、参照ピクチャ・メモリ(434)に入力されることが可能である。シンボル・ストリームの復号化は、デコーダの位置(ローカル又はリモート)に依存しないビット・イグザクト(bit-exact)な結果をもたらすので、参照ピクチャ・メモリの内容もまた、ローカル・エンコーダとリモート・エンコーダの間でビット・イグザクトである。言い換えると、エンコーダの予測部分は、デコーダが復号化中に予測を使用する場合に「見る」ことになるものと全く同じサンプル値を、参照ピクチャ・サンプルとして「見る」。参照ピクチャの同期性のこの基本原理(例えば、チャネル・エラーに起因して、同期性を維持することができない場合には、結果としてドリフトが生じる)は、当業者に周知である
【0079】
「ローカル」デコーダ(433)の動作は、「リモート」デコーダ(210)のものと同じであるとすることが可能であり、それは
図3に関連して既に詳細に説明されている。しかしながら、シンボルが利用可能であり、且つコーディングされたビデオ・シーケンスに対するエントロピー・コーダー(445)及びパーサー(320)によるシンボルの符号化/復号化はロスレスであるとすることが可能であるので、チャネル(312)、受信機(310)、バッファ(315)及びパーサー(320)を含むデコーダ(210)のエントロピー復号化部分は、ローカル・デコーダ(433)において完全には実装されなくてもよい。
【0080】
この時点で行うことができる洞察は、解析/エントロピー復号化を除いてデコーダに存在する任意のデコーダ技術は、実質的に同一の機能形態で、対応するエンコーダにも存在する必要があることである。この理由のために、開示される対象事項は、デコーダの動作に焦点を当てる。エンコーダ技術の説明は、包括的に説明されるデコーダ技術の逆であり得るので、省略することが可能である。特定の分野においてのみ、より詳細な説明が必要とされ、以下において提供される。
【0081】
ソース・コーダー(430)は、動作の一部として、動き補償された予測コーディングを実行することができ、それは、「参照フレーム」として指定されたビデオ・シーケンスからの1つ以上の以前にコーディングされたフレームを参照しながら、入力フレームを予測コーディングする。このようにして、コーディング・エンジン(432)は、入力フレームのピクセル・ブロックと、入力フレームに対する予測参照として選択され得る参照フレームのピクセル・ブロックとの間の差分をコーディングする。
【0082】
ローカル・ビデオ・デコーダ(433)は、ソース・コーダー(430)によって生成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオ・データを復号化することができる。コーディング・エンジン(432)の動作は、有利なことに、ロスレス・プロセスである可能性がある。コーディングされたビデオ・データがビデオ・デコーダ(
図4では示されていない)で復号化され得る場合、再構成されたビデオ・シーケンスは、典型的には、幾らかのエラーを伴うソース・ビデオ・シーケンスのレプリカである可能性がある。ローカル・ビデオ・デコーダ(433)は、参照フレームに対してビデオ・デコーダによって実行され得る復号化プロセスを再現し、再構成された参照フレームが、参照ピクチャ・メモリ(434)に記憶されることを引き起こすことが可能である。このようにして、エンコーダ(203)は、遠方端のビデオ・デコーダによって(伝送エラーが無い場合に)得られる再構成された参照フレームと共通の内容を有するローカルに再構成された参照フレームのコピーを記憶することができる。
【0083】
予測器(435)は、コーディング・エンジン(432)のために予測探索を実行することができる。即ち、コーディングされるべき新しいフレームに対して、予測器(435)は、サンプル・データ(候補参照ピクセル・ブロックとして)又は特定のメタデータ(例えば、参照ピクチャ動きベクトル、ブロック形状など)について、参照ピクチャ・メモリ(434)を探索することが可能であり、これらは新しいピクチャに対する適切な予測参照として役立つ可能性がある。予測器(435)は、適切な予測参照を発見するために、サンプルに対してブロック毎に動作することが可能である。場合によっては、予測器(435)によって得られた探索結果によって決定されるように、入力ピクチャは、参照ピクチャ・メモリ(434)に記憶された複数の参照ピクチャから引き出される予測参照を有し得る。
【0084】
コントローラ(450)は、例えば、ビデオ・データを符号化するために使用されるパラメータ及びサブグループ・パラメータの設定を含む、ビデオ・コーダー(430)のコーディング動作を管理することができる。
【0085】
前述のすべての機能ユニットの出力は、エントロピー・コーダー(445)においてエントロピー・コーディングの影響を受ける可能性がある。エントロピー・コーダーは、例えば、ハフマン・コーディング、可変長コーディング、算術コーディング等のように当業者に既知の技術に従って、シンボルをロスレス圧縮することによって、種々の機能ユニットで生成されたシンボルを、コーディングされたビデオ・シーケンスに変換する。
【0086】
送信機(440)は、エントロピー・コーダー(445)によって作成されるようなコーディングされたビデオ・シーケンスをバッファリングし、通信チャネル(460)を介して送信するために準備することが可能であり、通信チャネル(460)は、符号化されたビデオ・データを記憶することになる記憶装置へのハードウェア/ソフトウェア・リンクであってもよい。送信機(440)は、ビデオ・コーダ(430)からのコーディングされたビデオ・データを、送信されるべき他のデータ、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリーム(ソースは図示せず)とマージすることが可能である。
【0087】
コントローラ(450)はエンコーダ(203)の動作を管理することが可能である。コーディングの間に、コントローラ(450)は、各々のコーディングされたピクチャに、特定のコード化ピクチャ・タイプを割り当てることが可能であり、これは、個々のピクチャに適用され得るコーディング技術に影響を及ぼす可能性がある。例えば、ピクチャはしばしば、イントラ・ピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)、又は双方向予測ピクチャ(Bピクチャ)として指定される可能性がある。
【0088】
イントラ・ピクチャ(Iピクチャ)は、シーケンス内の他の如何なるフレームも予測のソースとして使用せずに、符号化及び復号化され得るものであり得る。幾つかのビデオ・コーデックは、例えば、独立復号化リフレッシュ(IDR)ピクチャを含む、異なるタイプのイントラ・ピクチャを許容する。当業者は、Iピクチャのこれらの変形例、並びにそれら各自の用途及び特徴を把握している。
【0089】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大1つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を用いて符号化及び復号化され得るものであり得る。
【0090】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大2つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を用いて符号化及び復号化され得るものであり得る。同様に、複数の予測ピクチャは、1つのブロックの再構成のために、2つより多い参照ピクチャ及び関連するメタデータを使用することが可能である。
【0091】
ソース・ピクチャは、通常、複数のサンプル・ブロック(例えば、4×4、8×8、4×8、又は16×16の各サンプルのブロック)に空間的に分割され、ブロック毎にコーディングされることが可能である。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測コーディングされることが可能である。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよいし、又はそれらは同じピクチャの既にコーディングされたブロックを参照して予測コーディング(空間予測又はイントラ予測)されてもよい。Pピクチャのピクセル・ブロックは、以前にコーディングされた1つの参照ピクチャを参照して、空間的予測により、又は時間的予測により、非予測的にコーディングされる可能性がある。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャを参照して、空間的予測により、又は時間的予測により、非予測的にコーディングされる可能性がある。
【0092】
ビデオ・コーダー(203)は、ITU-T Rec.H.265のような所定のビデオ・コーディング技術又は規格に従ってコーディング動作を実行することが可能である。動作の際に、ビデオ・コーダー(203)は、入力ビデオ・シーケンスにおける時間的及び空間的な冗長性を活用する予測コーディング動作を含む種々の圧縮動作を実行することができる。従って、コーディングされたビデオ・データは、使用されているビデオ・コーディング技術又は規格によって指定されたシンタックスに従うことが可能である。
【0093】
実施形態では、送信機(440)は、符号化されたビデオと共に追加データを送信することが可能である。ビデオ・コーダー(430)は、コーディングされたビデオ・シーケンスの一部としてそのようなデータを含むことが可能である。追加データは、時間的/空間的/SNRエンハンスメント層、冗長ピクチャ及びスライスのような他の形式の冗長データ、補足エンハンスメント情報(SEI)メッセージ、視覚的ユーザビリティ情報(VUI)パラメータ・セット・フラグメントなどを含んでもよい。
【0094】
本開示の実施形態は、現在のVVC仕様を変更する可能性があり、上記表2で定義されるNALユニット・タイプ・コード及びNALユニット・タイプ・クラスを実装することが可能である。
【0095】
「イントラ・ランダム・アクセス・ポイント・ピクチャ」(又は「IRAPピクチャ」)は、復号化プロセスにおけるインター予測のために、自身以外の如何なるピクチャも参照しないピクチャであるとすることが可能であり、クリーン・ランダム・アクセス・ピクチャ(CRA)又は即時復号化リフレッシュ(IDR)ピクチャであってもよい。復号順序におけるビットストリームの最初のピクチャは、IRAP又は漸進的復号化リフレッシュ(GDR)ピクチャであってもよい。必要なパラメータ・セットが、それらが参照されることを要する場合に利用可能であるならば、IRAPピクチャ及びコード化ビデオ・シーケンス(CVS)において復号順で後続のすべての非RASLピクチャは、復号順序でIRAPピクチャに先行する何らかのピクチャの復号化プロセスを実行することなく、正しく復号化することが可能である。
【0096】
「トレーリング・ピクチャ」は、出力順で関連IRAPピクチャに続く非IRAPピクチャであって、ステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャではないものであってもよい。
【0097】
「ステップ・ワイズ・テンポラル・サブレイヤ・アクセス・ピクチャ」(又は「STSAピクチャ」)は、インター予測参照のために、STSAピクチャと同じTemporalIdを有するピクチャを使用しないピクチャであってもよい。STSAピクチャと同じTemporalIdを有する復号順でSTSAピクチャの後に続くピクチャは、インター予測参照のために、STSAピクチャと同じTemporalIdを有する、復号順でSTSAピクチャに先行するピクチャを使用しない可能性がある。STSAピクチャは、STSAピクチャにおいて、直下のサブレイヤから、STSAピクチャを含むサブレイヤへ、アップ・スイッチすることを可能にする場合がある。STSAピクチャは、0より大きなTemporalIdを有する場合がある。
【0098】
「ランダム・アクセス・スキップ・リーディング・ピクチャ」(又は「RASLピクチャ」)は、関連するCRAピクチャのリーディング・ピクチャであってもよい。関連するCRAピクチャが、1に等しいNoIncorrectPicOutputFlagを有する場合、RASLピクチャは出力されない可能性があり、正しく復号できない可能性があり、なぜならRASLピクチャはビットストリームに存在しないピクチャへの参照を含む可能性があるからである。RASLピクチャは、非RASLピクチャの復号化プロセスの参照ピクチャとして使用されない場合がある。存在する場合、すべてのRASLピクチャは、復号順に、同じ関連するCRAピクチャのすべてのトレーリング・ピクチャに先行している可能性がある。
【0099】
「ランダム・アクセス復号可能リーディング・ピクチャ」(又は「RADLピクチャ」)は、同じの関連するIRAPピクチャのトレーリング・ピクチャの復号化プロセスのための参照ピクチャとして使用されないリーディング・ピクチャであってもよい。存在する場合、すべてのRADLピクチャは、復号順に、同じ関連するIRAPピクチャのすべてのトレーリング・ピクチャに先行している可能性がある。
【0100】
「即時復号化リフレッシュ・ピクチャ」(又は「IDRピクチャ」)は、ビットストリームに存在する関連するリーディング・ピクチャを有しないピクチャであってもよいし(例えば、nal_unit_typeはIDR_N_LPに等しい)、又はビットストリームに存在する関連するRASLピクチャを有しないが、ビットストリームにおける関連するRADLピクチャを有する可能性のあるピクチャであってもよい(例えば、nal_unit_typeはIDR_W_RADLに等しい)。
【0101】
「クリーン・ランダム・アクセス・ピクチャ」(又は「CRAピクチャ」)は、その復号化プロセスにおいて、インター予測のために自身以外の如何なるピクチャも参照しないピクチャであってもよく、復号順序でビットストリームの最初のピクチャであってもよいし、又はビットストリーム内で後に登場してもよい。CRAピクチャは、関連するRADL又はRASLピクチャを有する場合がある。CRAピクチャが1に等しいNoIncorrectPicOutputFlagを有する場合、関連するRASLピクチャは、それらが復号可能でないかもしれないことに起因してデコーダによって出力されない可能性があり、なぜならそれらはビットストリームに存在しないピクチャへの参照を含む可能性があるからである。
【0102】
1つ以上の実施形態によれば、符号化ピクチャによって参照されるPPSのシンタックス要素mixed_nalu_types_in_pic_flagが1に等しい場合、符号化ピクチャのピクチャ・タイプは以下のようにして(例えば、デコーダによって)決定される:
【0103】
(A)ピクチャのNALユニットのnal_unit_typeがTRAIL_NUTに等しく、ピクチャの他のNALユニットのnal_unit_typeがIDR_W_RADLないしCRA_NUTの範囲内にある場合、ピクチャはトレーリング・ピクチャとして決定される。
【0104】
(B)ピクチャのNALユニットのnal_unit_typeがRADL_NUTに等しく、ピクチャの他のNALユニットのnal_unit_typeがIDR_W_RADLないしCRA_NUTの範囲内にある場合、ピクチャはRADLピクチャとして決定される。
【0105】
(C)ピクチャのNALユニットのnal_unit_typeがSTSA_NUTに等しく、ピクチャの他のNALユニットのnal_unit_typeがIDR_W_RADL又はIDR_N_LPである場合、ピクチャはSTSAピクチャとして決定される。
【0106】
(D)ピクチャのNALユニットのnal_unit_typeがSTSA_NUTに等しく、ピクチャの他のNALユニットのnal_unit_typeがCRA_NUTである場合、ピクチャはトレーリング・ピクチャとして決定される。
【0107】
(E)ピクチャのNALユニットのnal_unit_typeがGDR_NUTに等しく、ピクチャの他のNALユニットのnal_unit_typeがIDR_W_RADLないしCRA_NUTの範囲内にある場合、ピクチャはトレーリング・ピクチャとして決定される。
【0108】
1つ以上の実施形態によれば、符号化ピクチャによって参照されるPPSのシンタックス要素mixed_nalu_types_in_pic_flagが1に等しい場合、符号化ピクチャのピクチャ・タイプは、トレーリング・ピクチャとして(例えばデコーダによって)決定される。
【0109】
上記の態様は、上記の発明の概要のセクションで説明した「問題1」に対する解決策を提供することが可能である。
【0110】
1以上の実施形態によれば、STSA NALユニットのIRAP NALユニットとの混合は、許容されない可能性がある。
【0111】
例えば、任意のピクチャのVCL NALユニットに対して、以下を実装することが可能である:
【0112】
mixed_nalu_types_in_pic_flagが0に等しい場合、nal_unit_typeの値は、ピクチャのすべての符号化スライスNALユニットに対して、同じであるものとする(例えば、同じであると判定することが可能である)。ピクチャ又はPUは、ピクチャ又はPUのコード化スライスNALユニットと同じNALユニット・タイプを有するように言及される。
【0113】
それ以外の場合(mixed_nalu_types_in_pic_flagが1に等しい)、1つ以上のVCL NALユニットはすべて、両端を含むIDR_W_RADLないしCRA_NUTの範囲内のnal_unit_typeの特定の値を有するものとし(すべてが有すると判断することが可能である)、他のVCL NALユニットはすべて、両端を含むRADL_NUTないしRSV_VCL_6の範囲内のnal_unit_typeの特定の値を有するか(すべてが有すると判断することが可能である)、又はGDR_NUT或いはTRAIL_NUTに等しいものとする。
【0114】
実施形態によれば、STSA NALユニットのIRAP NALユニットとの混合を禁止するために、エンコーダは、上記を適用するように構成されてもよい。実施形態によれば、デコーダは、上記に基づいてNALユニット・タイプの値を決定するように構成されてもよい。
【0115】
1つ以上の実施形態によれば、現在のVVC仕様書草案JVET-P2001のSTSA_NUTに対するTemporalId制約を取り除くことができる。
【0116】
即ち、本開示の実施形態は、例えば、nal_unit_typeがSTSA_NUTに等しい場合、TemporalIdは0に等しくないものとするという制約を実装しなくてよい。しかしながら、実施形態は、nal_unit_typeが両端を含むIDR_W_RADLないしRSV_IRAP_12の範囲内にある場合、TemporarilIdは0に等しいものとする(例えば、等しいと判断することができる)という制約を依然として実装してもよい。
【0117】
1つ以上の実施形態によれば、1に等しいmixed_nalu_types_in_pic_flagを有するピクチャのTemporalIdが0に等しいものとするという制約が実装されてもよい。例えば、本開示のエンコーダ又はデコーダは、フラグmixed_nalu_types_in_pic_flagが1に等しいことに基づいて、ピクチャのテンポラルIDが0であると決定することができる。
【0118】
上記の態様は、上記の発明の概要のセクションで説明した「問題2」に対する解決策を提供することが可能である。
【0119】
1つ以上の実施形態によれば、シンタックス要素mixed_nalu_types_in_pic_flagは、PPSの代わりに、ピクチャ・ヘッダ又はスライス・ヘッダで提供されてもよい。ピクチャ・ヘッダにおけるシンタックス要素mixed_nalu_types_in_pic_flagの例は以下の表3で提供されている。
表3
【表3】
【0120】
1に等しいシンタックス要素mixed_nalu_types_in_pic_flagは、PHに関連する各ピクチャが1つより多いVCL NALユニットを有すること、VCL NALユニットが同じ値のnal_unit_typeを有しないこと、及びピクチャがIRAPピクチャではないことを指定することが可能である。0に等しいシンタックス要素mixed_nalu_types_in_pic_flagは、PHに関連する各ピクチャが1つ以上のVCL NALユニットを有すること、及びPHに関連する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを指定することが可能である。
【0121】
シンタックス要素no_mixed_nalu_types_in_pic_constraint_flagが1に等しい場合、mixed_nalu_types_in_pic_flagの値は、0に等しいものとする(例えば、判断することが可能である)。
【0122】
1つ以上の実施形態によれば、シンタックス要素mixed_nalu_types_in_pic_flagは、SPSにおける現在のフラグとともに、ピクチャ・ヘッダ又はスライス・ヘッダで提供されてもよい。
【0123】
現在のフラグ(sps_mixed_nalu_types_present_flag)を有するSPSの例は、以下の表4で提供されている。
表4
【表4】
【0124】
シンタックス要素mixed_nalu_types_in_pic_flagを有するピクチャ・ヘッダの例は、以下の表5で提供されている。
表5
【表5】
【0125】
1に等しいシンタックス要素sps_mixed_nalu_types_present_flagは、SPSを参照するゼロ個以上の画像が複数のVCL NALユニットを有すること、VCL NALユニットが同じ値のnal_unit_typeを有しないこと、及びピクチャがIRAPピクチャではないことを指定することが可能である。0に等しいシンタックス要素sps_mixed_nalu_types_present_flagは、SPSを参照する各ピクチャが1つ以上のVCL NALユニットを有すること、及びPPSを参照する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを指定することが可能である。
【0126】
シンタックス要素no_mixed_nalu_types_in_pic_constraint_flagが1に等しい場合、シンタックス要素sps_mixed_nalu_types_present_flagの値は0に等しいものとする(例えば、判断することが可能である)。
【0127】
1に等しいシンタックス要素mixed_nalu_types_in_pic_flagは、PHに関連する各ピクチャが複数のVCL NALユニットを有すること、VCL NALユニットが同じ値のnal_unit_typeを有しないこと、及びピクチャがIRAP画像ではないことを指定することが可能である。0に等しいシンタックス要素mixed_nalu_types_in_pic_flagは、PHに関連する各ピクチャが1つ以上のVCL NALユニットを有すること、、PHに関連する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを指定することが可能である。存在しない場合、mixed_nalu_types_in_pic_flagの値は(例えば、デコーダによって)0に等しいと推測されてもよい。
【0128】
上記の態様は、上記の発明の概要のセクションで説明した「問題3」に対する解決策を提供することが可能である。
【0129】
1つ以上の実施形態によれば、シンタックス要素フラグmixed_nalu_types_in_pic_flagは、インジケータmixed_nalu_types_in_pic_idcに置き換えることが可能である。
【0130】
シンタックス要素mixed_nalu_types_in_pic_idcを有するピクチャ・パラメータ・セットの例は、以下の表6で提供されている。
表6
【表6】
【0131】
1又は2に等しいシンタックス要素mixed_nalu_types_in_pic_idcは、PPSを参照する各ピクチャが複数のVCL NALユニットを有すること、VCL NALユニットが同じ値のnal_unit_typeを有しないこと、及びピクチャがIRAP画像ではないことを指定することが可能である。0に等しいシンタックス要素mixed_nalu_types_in_pic_idcは、PPSを参照する各ピクチャが1つ以上のVCL NALユニットを有し、PPSを参照する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを指定することが可能である。シンタックス要素mixed_nalu_types_in_pic_idcの他の値は、ITU-T|ISO/IECによる将来の使用のために予約されてもよい。
【0132】
シンタックス要素no_mixed_nalu_types_in_pic_constraint_idcが1に等しい場合、mixed_nalu_types_in_pic_idcの値は0に等しいものとする(例えば、デコーダによって決定することが可能である)。
【0133】
nal_unit_typeの値nalUnitTypeAが両端を含むIDR_W_RADLないしCRA_NUTの範囲内にある各スライスに関し、別の値のnal_unit_typeを有する1つ以上のスライスも含むピクチャpicA(即ち、ピクチャpicAのmixed_nalu_types_in_pic_idcの値が1に等しい)においては、以下を実装することが可能である:
【0134】
(A)スライスは、対応するsubpic_treated_as_pic_flag[i]の値が1に等しいサブピクチャsubpicAに属するものとする(例えば、属すると判断することが可能である)。
【0135】
(B)スライスは、nalUnitTypeAに等しくないnal_unit_typeを有するVCL NALユニットを含むpicAのサブピクチャには属さないものとする(例えば、属さないと判断することが可能である)。
【0136】
(C)復号順序でCLVS内の後続のすべてPUに関し、subpicAにおけるスライスのRefPicList[0]及びRefPicList[1]のいずれも、アクティブ・エントリにおいて復号順でpicAに先行する如何なるピクチャも含まないものとする。
【0137】
RefPicList[0]は、Pスライスのインター予測に使用される参照ピクチャ・リスト、又はBスライスのインター予測に使用される第1参照ピクチャ・リストであってもよい。RefPicList[1]は、Bスライスのインター予測のために使用される第2参照ピクチャ・リストであってもよい。
【0138】
任意の特定のピクチャのVCL NALユニットに関し、以下を実装することが可能である:
【0139】
(A)シンタックス要素mixed_nalu_types_in_pic_idcが1に等しい場合、1つ以上のVCL NALユニットはすべて、両端を含むIDR_W_RADLないしCRA_NUTの範囲内のnal_unit_typeの特定の値を有するものとし(例えば、有すると判断することが可能であり)、他のVCL NALユニットはすべて、両端を含むTRAIL_NUTないしRSV_VCL_6の範囲内のnal_unit_typeの特定の値を有するか(例えば、有すると判断することが可能である)、又はGDR_NUTに等しいものとする。
【0140】
(B)シンタックス要素mixed_nalu_types_in_pic_idcが2に等しい場合、1つ以上のVCL NALユニットはすべて、両端を含むRASL_NUT又はRADL_NUTに等しいnal_unit_typeの特定の値を有するか(例えば、有すると判断することが可能である)、又はGDR_NUTに等しいものとし、他のVCL NALユニットはすべて、両端を含むTRAIL_NUTないしRSV_VCL_6の範囲内でnal_unit_typeの特定の値を有するか(例えば、有すると判断することが可能である)、又はGDR_NUTに等しいものとし、nal_unit_typeは他のnal_unit_typeとは異なる。
【0141】
(C)それ以外の場合(mixed_nalu_types_in_pic_idcは0に等しい)、nal_unit_typeの値は、ピクチャのすべてのコード化スライスNALユニットに対して同一であるものとする(例えば、同じであると判断することが可能である)。ピクチャ又はPUは、ピクチャ又はPUのコード化スライスNALユニットと同じNALユニット・タイプを有するように言及される。
【0142】
コード化ピクチャで参照されるPPSのmixed_nalu_types_in_pic_idcが1又は2に等しい場合、ピクチャはトレーリング・ピクチャとして(例えば、デコーダにより)決定される。
【0143】
上記の態様は、上記の発明の概要のセクションで説明した「問題4」に対する解決策を提供することが可能である。
【0144】
1つ以上の実施形態によれば、レイヤAのピクチャのシンタックス要素mixed_nalu_types_in_pic_flagが1に等しい場合、レイヤAの参照レイヤであるレイヤBのピクチャのmixed_nalu_types_in_pic_flagは、同じAUの1に等しいものとする(例えば、等しいと判断することが可能である)。
【0145】
上記の態様は、上記の発明の概要のセクションで説明した「問題5」に対する解決策を提供することが可能である。
【0146】
1つ以上の実施形態によれば、1つ以上のコード化ビデオ・データ・ビットストリーム、並びにその中のシンタックス構造及び要素(上述のVCL NALユニット及びパラメータセットなど)は、受信したビデオ・データを復号化するために、本開示のデコーダによって受信される可能性がある。本開示のデコーダは、本開示の実施形態に従って、混合したVCL NALユニット・タイプを有する符号化ピクチャのVCL NALユニット(例えば、
図5に示すVCL NALユニット(500))に基づいて、ビデオのコード化ピクチャを復号化することが可能である。
【0147】
例えば、
図6を参照すると、デコーダ(600)は、VCL NALユニットに基づいて、コード化ピクチャを復号化することを、復号器(600)の少なくとも1つのプロセッサに行わせるように構成された復号化コード(610)を含むことが可能である。1つ以上の実施形態によれば、復号化コード(610)は決定コード(620)を含むことが可能であり、決定コードは、本開示の実施形態で説明されるように、(a)コード化ピクチャの1つ以上のVCL NALユニットのNALユニット・タイプを、コード化ピクチャの別の1つ以上のVCL NALユニットのNALユニット・タイプに基づいて、又はインジケータ(例えば、フラグ)に基づいて決定又は制約すること、(b)コード化ピクチャのピクチャ・タイプを、コード化ピクチャのVCL NALユニットの1つ以上のNALユニット・タイプに基づいて、又はインジケータ(例えば、フラグ)に基づいて決定又は制約すること、(c)コード化ピクチャのTemporalIDを、コード化ピクチャの1つ以上のVCL NALユニットの1つ以上のVCL NALユニット・タイプに基づいて、又はインジケータ(例えば、フラグ)に基づいて決定又は制約すること、及び/又は(d)コード化ピクチャが、混合VCL NALユニット・タイプを有する複数のVCL NALユニットを有するかどうかを示すインジケータ(例えば、フラグ)を、受信又は決定した別のインジケータ(例えば、フラグ)に基づいて決定又は制約することを、デコーダ(600)の少なくとも1つのプロセッサに行わせるように構成されている。
【0148】
本開示の実施形態は、別々に又は任意の順序で組み合わせて使用することができる。更に、本開示の方法、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能な媒体に記憶されたプログラムを実行する。
【0149】
上述した技術は、コンピュータ読み取り可能な命令を用いるコンピュータ・ソフトウェアであって、1つ以上のコンピュータ読み取り可能な媒体に物理的に記憶されるものとして実装することが可能である。例えば、
図7は、開示される対象事項の実施形態を実施するのに適したコンピュータ・システム(900)を示す。
【0150】
コンピュータ・ソフトウェアは、直接的に又は解釈、マイクロコード実行等を介して、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって実行されることが可能な命令を含むコードを生成するために、アセンブリ、コンパイル、リンク等のメカニズムの影響を受けることが可能な、任意の適切なマシン・コード又はコンピュータ言語を使用してコーディングされることが可能である。
【0151】
命令は、例えば、パーソナル・コンピュータ、タブレット・コンピュータ、サーバー、スマートフォン、ゲーミング・デバイス、モノのインターネット(IoT)デバイス等を含む、種々の種類のコンピュータ又はその構成要素において実行されることが可能である。
【0152】
コンピュータ・システム(900)に関する
図7に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータ・ソフトウェアの用途又は機能性の範囲に関する如何なる限定も示唆するようには意図されていない。また、構成要素の構成は、コンピュータ・システム(900)の例示的な実施形態に示される構成要素の任意の1つ又は組み合わせに関する何らかの従属性又は要件を有するものとして解釈されるべきではない。
【0153】
コンピュータ・システム(900)は、特定のヒューマン・インターフェース入力デバイスを含んでもよい。このようなヒューマン・インターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データ・グローブの動き)、オーディオ入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介して、1人以上の人間ユーザーによる入力に応答することができる。また、ヒューマン・インターフェース・デバイスは、オーディオ(例えば、会話、音楽、周囲の音)、画像(例えば、スキャンされた画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接的に関係しない特定のメディアを捕捉するために使用することも可能である。
【0154】
入力ヒューマン・インターフェース・デバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチ・スクリーン(910)、データ・グローブ、ジョイスティック(905)、マイクロホン(906)、スキャナ(907)、カメラ(908)のうちの1つ以上を(各々1つしか描いていないが)含んでもよい。
【0155】
コンピュータ・システム(900)は、特定のヒューマン・インターフェース出力デバイスを含むことも可能である。このようなヒューマン・インターフェース出力デバイスは、例えば、触覚出力、音、光、及び匂い/味を通じて、1人以上の人間ユーザーの感覚を刺激することができる。このようなヒューマン・インターフェース出力デバイスは、触覚出力デバイス(例えば、タッチ・スクリーン(910)、データ・グローブ、又はジョイスティック(905)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバック装置が存在することも可能である)を含むことが可能である。例えば、このようなデバイスは、オーディオ出力デバイス(例えば、スピーカ(909)、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマ・スクリーン、OLEDスクリーンを含むスクリーン(910)であり、各々はタッチ・スクリーン入力機能を備えているか又は備えておらず、各々は触覚フィードバック能力を備えているか又は備えておらず、それらのうちの一部は、2次元的な視覚出力又は立体視出力のような手段による3以上の次元の出力を出力することが可能である;仮想現実メガネ(図示せず)、ホログラフィック・ディスプレイ、及びスモーク・タンク(図示せず))、及びプリンタ(図示せず)を含むことが可能である。
【0156】
コンピュータ・システム(900)は、CD/DVD又は類似の媒体(921)を有するCD/DVD ROM/RW(920)を含む光媒体、サム・ドライブ(922)、取り外し可能なハード・ドライブ又はソリッド・ステート・ドライブ(923)、テープ及びフロッピー・ディスク(図示せず)のようなレガシー磁気媒体、セキュリティ・ドングル(図示せず)のような特殊化されたROM/ASIC/PLDベースのデバイスなどのような、人間がアクセスできる記憶装置及びそれらの関連媒体を含むことも可能である。
【0157】
当業者は、本開示の対象事項に関連して使用される用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことも理解するはずである。
【0158】
コンピュータ・システム(900)は、1つ以上の通信ネットワークに対するインターフェースを含むことも可能である。ネットワークは、例えば、無線、有線、光であるとすることが可能である。ネットワークは、更に、ローカル、ワイド・エリア、メトロポリタン、車両及びインダストリアル、リアルタイム、遅延耐性などであるとすることが可能である。ネットワークの例は、イーサーネット、無線LAN、セルラー・ネットワーク(GSM、3G、4G、5G、LTEなどを含む)、TV有線又は無線ワイド・エリア・デジタル・ネットワーク(ケーブルTV、衛星TV、地上放送TVを含む)、CANBusを含む車両及びインダストリアル等を含む。特定のネットワークは、一般に、特定の汎用データ・ポート又は周辺バス(949)に接続される外部ネットワーク・インターフェース・アダプタ(例えば、コンピュータ・システム(900)のUSBポート)を必要とし;他のネットワークは、一般に、後述するようなシステム・バスへの接続によって、コンピュータ・システム(900)のコアに組み込まれる(例えば、イーサーネット・インターフェースはPCコンピュータ・システムに組み込まれ、セルラー・ネットワーク・インターフェースはスマートフォン・コンピュータ・システムに組み込まれる)。これらの任意のネットワークを使用して、コンピュータ・システム(900)は、他のエンティティと通信することができる。このような通信は、片-指向性、受信専用(例えば、放送TV)、片-指向性送信専用(例えば、特定のCANbusデバイスに対するCANbus)、又は、双-指向性、例えばローカル又はワイド・エリア・デジタル・ネットワークを使用する他のコンピュータ・システムに対するものであるとすることが可能である。このような通信はクラウド・コンピューティング環境(955)に対する通信を含むことが可能である。特定のプロトコル及びプロトコル・スタックは、上述のように、それらのネットワーク及びネットワーク・インターフェースの各々で使用されることが可能である。
【0159】
前述のヒューマン・インターフェース・デバイス、人間がアクセス可能な記憶装置、及びネットワーク・インターフェース(954)は、コンピュータ・システム(900)のコア(940)に取り付けることが可能である。
【0160】
コア(940)は、1つ以上の中央処理ユニット(CPU)(941)、グラフィックス処理ユニット(GPU)(942)、フィールド・プログラマブル・ゲート・エリア(FPGA)(943)の形態における特定のプログラマブル処理ユニット、特定のタスクのためのハードウェア・アクセラレータ(944)などを含むことが可能である。これらのデバイスは、リード・オンリ・メモリ(ROM)(945)、ランダム・アクセス・メモリ(RAM)(946)、内部大容量ストレージ、例えば内部のユーザー・アクセス不能なハード・ドライブ、SSD、及び類似のもの(947)と共に、システム・バス(948)を介して接続されてもよい。幾つかのコンピュータ・システムでは、システム・バス(948)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形式でアクセス可能であるとすることが可能である。周辺デバイスは、コアのシステム・バス(948)に直接的に取り付けること、或いは周辺バス(949)を介して取り付けることが可能である。周辺バスのアーキテクチャは、PCI、USB等を含む。グラフィックス・アダプタ950はコア940に含まれてもよい。
【0161】
CPU(941)、GPU(942)、FPGA(943)、及びアクセラレータ(944)は、組み合わされて、上述のコンピュータ・コードを構築することが可能な特定の命令を実行することが可能である。そのコンピュータ・コードは、ROM(945)又はRAM(946)に記憶することが可能である。一時的なデータはRAM(946)に記憶することも可能である一方、永続的なデータは、例えば内部大容量ストレージ(947)に記憶することが可能である。1つ以上のCPU(941)、GPU(942)、大容量ストレージ(947)、ROM(945)、RAM(946)などと密接に関連付けることが可能なキャッシュ・メモリを使用することによって、任意のメモリ・デバイスに対する高速な記憶及び検索を可能にすることができる。
【0162】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実装動作を実行するためのコンピュータ・コードをそこに含むことが可能である。媒体及びコンピュータ・コードは、本開示の目的のために特別に設計及び構築されたものであるとすることが可能であり、或いはそれらは、コンピュータ・ソフトウェアの分野の当業者に周知で利用可能な種類のものであるとすることが可能である。
【0163】
限定ではなく一例として、アーキテクチャ(900)、具体的にはコア(940)を有するコンピュータ・システムは、1つ以上の有形のコンピュータ読み取り可能な媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)に由来する機能を提供することができる。そのようなコンピュータ読み取り可能な媒体は、コア内部大容量ストレージ(947)又はROM(945)のような非一時的な性質のコア(940)の特定のストレージと同様に、上述したようなユーザー・アクセス可能な大容量ストレージに関連する媒体であるとすることが可能である。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(940)によって実行されることが可能である。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、1つ以上のメモリ・デバイス又はチップを含むことが可能である。ソフトウェアは、コア(940)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)が、RAM(946)に記憶されたデータ構造を定め、そのようなデータ構造をソフトウェアによって定められたプロセスに従って修正することを含む、本願で説明される特定のプロセス又は特定のプロセスの特定の部分を実行することを引き起こすことが可能である。更に又は代替として、コンピュータ・システムは、回路(例えば、アクセラレータ(944))内に配線されたロジック又はその他の方法で組み込まれたものに由来する機能を提供することが可能であり、回路は、本願で説明される特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに又はソフトウェアと共に動作することが可能である。ソフトウェアに対する言及は、ロジックを含むことが可能であり、必要に応じてその逆も可能である。コンピュータ読み取り可能な媒体に対する参照は、実行用のソフトウェアを記憶する回路(例えば、集積回路(IC))、実行用のロジックを具現化する回路、又は適切な場合にはそれら両方を含むことが可能である。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0164】
本開示は、幾つかの例示的な非限定的な実施例を説明しているが、本開示の範囲内に該当する変更、置換、及び種々の代替的な均等物が存在する。従って、本願で明示的には図示も説明もされていないが、本開示の原理を具現化し、従ってその精神及び範囲内にある多くのシステム及び方法を、当業者は案出することが可能であろうということが、認められるであろう。
【0165】
(付記1)
少なくとも1つのプロセッサにより実行される方法であって:
コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットと前記コード化ピクチャの第2スライスの第2VCL NALユニットとを受信するステップであって、前記第1VCL NALユニットは第1VCL NALユニット・タイプを有し、前記第2VCL NALユニットは、前記第1VCL NALユニット・タイプとは異なる第2VCL NALユニット・タイプを有する、ステップと;
前記コード化ピクチャを復号化するステップであって、前記第1VCL NALユニットの前記第1VCL NALユニット・タイプと前記第2VCL NALユニットの前記第2VCL NALユニット・タイプとに基づいて、又は前記少なくとも1つのプロセッサにより受信されるインジケータであって、前記コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、前記コード化ピクチャのピクチャ・タイプを決定するステップを含む、復号化するステップと;
を含む方法。
(付記2)
前記決定するステップは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットがトレーリング・ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定するステップを含む、付記1に記載の方法。
(付記3)
前記決定するステップは、
前記コード化ピクチャがランダム・アクセス復号可能リーディング(RADL)ピクチャであることを、
前記第1VCL NALユニットがRADLピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定するステップを含む、付記1に記載の方法。
(付記4)
前記決定するステップは、
前記コード化ピクチャが、ステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャであることを、
前記第1VCL NALユニットがSTSAピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと、及び
に基づいて決定するステップを含む、付記1に記載の方法。
(付記5)
前記決定するステップは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットがステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットがクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定するステップを含む、付記1に記載の方法。
(付記6)
前記決定するステップは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットが漸進的復号化リフレッシュ(GDR)ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定するステップを含む、付記1に記載の方法。
(付記7)
前記インジケータはフラグであり;及び
前記決定するステップは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記コード化ピクチャが混合VCL NALユニット・タイプを含むことを前記フラグが示すこと
に基づいて決定するステップを含む、付記1に記載の方法。
(付記8)
前記インジケータはフラグであり;及び
前記コード化ピクチャを復号化する前記ステップは、
前記コード化ピクチャのテンポラルIDが0であることを、
前記コード化ピクチャが混合VCL NALユニット・タイプを含むことを前記フラグが示すこと
に基づいて決定するステップを更に含む、付記1に記載の方法。
(付記9)
前記インジケータはフラグであり;及び
前記方法は、ピクチャ・ヘッダ又はスライス・ヘッダにおいて前記フラグを受信するステップを更に含む、付記1に記載の方法。
(付記10)
前記インジケータはフラグであり、前記コード化ピクチャは第1レイヤにあり、
前記方法は、更に
前記フラグを受信するステップと;
前記第1レイヤの参照レイヤである第2レイヤにある追加的なコード化ピクチャが、混合VCL NALユニット・タイプを含むことを、
前記コード化ピクチャが混合VCL NALユニット・タイプを含むことを、前記フラグが示すことに基づいて決定するステップと;
を含む、付記1に記載の方法。
(付記11)
システムであって:
コンピュータ・プログラムを記憶するように構成されたメモリと;
少なくとも1つのコード化ビデオ・ストリームを受信し、前記コンピュータ・プログラム・コードにアクセスし、前記コンピュータ・コードにより指示されるように動作するように構成された少なくとも1つのプロセッサと;
を含み、前記コンピュータ・プログラム・コードは:
前記少なくとも1つのコード化ビデオ・ストリームからコード化ピクチャを復号化することを、前記少なくとも1つのプロセッサに行わせるように構成された復号化コードであって、
前記コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットの第1VCL NALユニット・タイプと、前記コード化ピクチャの第2スライスの第2VCL NALユニットの第2VCL NALユニット・タイプとに基づいて、又は
前記少なくとも1つのプロセッサにより受信されるインジケータであって、前記コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、
前記コード化ピクチャのピクチャ・タイプを決定することを、前記少なくとも1つのプロセッサに行わせるように構成された決定コードを含む復号化コードを含み、
前記第1VCL NALユニット・タイプは前記第2VCL NALユニット・タイプとは異なる、システム。
(付記12)
前記決定コードは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットがトレーリング・ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
(付記13)
前記決定コードは、
前記コード化ピクチャがランダム・アクセス復号可能リーディング(RADL)ピクチャであることを、
前記第1VCL NALユニットがRADLピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含むことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
(付記14)
前記決定コードは、
前記コード化ピクチャが、ステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャであることを、
前記第1VCL NALユニットがSTSAピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと、
に基づいて決定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
(付記15)
前記決定コードは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットがステップ・ワイズ・テンポラル・サブレイヤ・アクセス(STSA)ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットがクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
(付記16)
前記決定コードは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記第1VCL NALユニットが漸進的復号化リフレッシュ(GDR)ピクチャ・コード化スライスを含むことを、前記第1VCL NALユニット・タイプが示すこと、及び
前記第2VCL NALユニットが即時復号化リフレッシュ(IDR)ピクチャ・コード化スライス又はクリーン・ランダム・アクセス(CRA)ピクチャ・コード化スライスを含まないことを、前記第2VCL NALユニット・タイプが示すこと
に基づいて決定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
(付記17)
前記インジケータはフラグであり;及び
前記決定コードは、
前記コード化ピクチャがトレーリング・ピクチャであることを、
前記コード化ピクチャが混合VCL NALユニット・タイプを含むことを前記フラグが示すこと
に基づいて決定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
(付記18)
前記インジケータはフラグであり;及び
前記決定コードは、
前記コード化ピクチャのテンポラルIDが0であることを、
前記コード化ピクチャが混合VCL NALユニット・タイプを含むことを前記フラグが示すこと
に基づいて決定することを、前記少なくとも1つのプロセッサに行わせるように構成されている、付記11に記載のシステム。
(付記19)
前記インジケータはフラグであり;及び
前記少なくとも1つのプロセッサは、ピクチャ・ヘッダ又はスライス・ヘッダにおいて前記フラグを受信するように構成されている、付記11に記載のシステム。
(付記20)
コンピュータ命令を記憶する非一時的なコンピュータ読み取り可能な媒体であって、前記コンピュータ命令は、少なくとも1つのプロセッサにより実行されると、少なくとも1つのコード化ビデオ・ストリームからコード化ピクチャを復号化することを、前記少なくとも1つのプロセッサに行わせ、
前記復号化することは、
前記コード化ピクチャの第1スライスの第1ビデオ・コーディング・レイヤ(VCL)ネットワーク抽象レイヤ(NAL)ユニットの第1VCL NALユニット・タイプと、前記コード化ピクチャの第2スライスの第2VCL NALユニットの第2VCL NALユニット・タイプとに基づいて、又は
前記少なくとも1つのプロセッサにより受信されるインジケータであって、前記コード化ピクチャは混合VCL NALユニット・タイプを含むことを示すインジケータに基づいて、
前記コード化ピクチャのピクチャ・タイプを決定することを含み、
前記第1VCL NALユニット・タイプは前記第2VCL NALユニット・タイプとは異なる、媒体。