JP2021527343A - 符号化ビデオビットストリーム中に含まれているデータの量を低減するためのパラメータセット中のパラメータ値情報をシグナリングすること - Google Patents

符号化ビデオビットストリーム中に含まれているデータの量を低減するためのパラメータセット中のパラメータ値情報をシグナリングすること Download PDF

Info

Publication number
JP2021527343A
JP2021527343A JP2020567543A JP2020567543A JP2021527343A JP 2021527343 A JP2021527343 A JP 2021527343A JP 2020567543 A JP2020567543 A JP 2020567543A JP 2020567543 A JP2020567543 A JP 2020567543A JP 2021527343 A JP2021527343 A JP 2021527343A
Authority
JP
Japan
Prior art keywords
parameter
value
slice
contained
picture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020567543A
Other languages
English (en)
Other versions
JP7017649B2 (ja
Inventor
リキャルド ショバーリ,
ミトラ ダムガニアン,
ペール ウェナーストン,
マルティン ペッテション,
Original Assignee
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレフオンアクチーボラゲット エルエム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Publication of JP2021527343A publication Critical patent/JP2021527343A/ja
Application granted granted Critical
Publication of JP7017649B2 publication Critical patent/JP7017649B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ピクチャパラメータセット(PPS)と、スライスの第1のセットとを備えるビットストリームを復号するためのデコーダ(260、600、701)によって実施される方法(400)。本方法は、ピクチャパラメータセットを取得すること(s402)を含む。本方法は、インジケータ値を取得するためにピクチャパラメータセット中に含まれるシンタックスエレメントを復号すること(s404)をも含む。デコーダは、インジケータ値が第1の値にセットされる場合、ビットストリーム中に含まれるピクチャヘッダが、特定のパラメータに対応するパラメータ値を備えるとデコーダが決定し、他の場合、スライスの第1のセット中に含まれる各スライスが、特定のパラメータに対応するパラメータ値を備えるとデコーダが決定するように、設定される。ピクチャヘッダが、特定のパラメータに対応するパラメータ値を備える場合、このパラメータ値は、スライスの第1のセット中に含まれる各スライスのスライスデータを復号するために使用される。
【選択図】図4

Description

本開示は、ビデオコーディングおよび復号に関する。
1.1 HEVCおよびVVC
高効率ビデオコーディング(HEVC)は、ITU−TおよびMPEGによって規格化されたブロックベースビデオコーデックである。HEVCビデオコーデックは、時間予測と空間予測の両方を利用する。空間予測は、現在ピクチャ内からのイントラ(I)予測を使用して達成される。時間予測は、前に復号された参照ピクチャからのブロックレベルでの単方向(P)または双方向(B)インター予測を使用して達成される。エンコーダでは、残差と呼ばれる、元のピクセルデータと予測されたピクセルデータとの間の差は、周波数ドメインに変換され、量子化され、次いで、たとえば、予測モードおよび動きベクトルなど、必要な予測パラメータとともに送信される前にエントロピーコーディングされ、それらの予測パラメータもエントロピーコーディングされる。デコーダは、エントロピー復号と、逆量子化と、逆方向変換とを実施して残差を取得し、次いで、その残差をイントラ予測またはインター予測に追加してピクチャを再構築する。
MPEGおよびITU−Tは、ジョイントビデオエキスパートチーム(JVET)内でHEVCの後継に取り組んでいる。開発中のこのビデオコーデックの名前は、多用途ビデオコーディング(VVC:Versatile Video Coding)である。現在のVVCドラフト仕様は、JVETドキュメントJVET−N1001−v7において見つけられる。
1.2 成分
ビデオシーケンスは、各ピクチャが1つまたは複数の成分からなる一連のピクチャからなる。各成分は、サンプル値の2次元矩形アレイとして説明され得る。ビデオシーケンス中のピクチャは、3つの成分、すなわち、サンプル値がルーマ値である1つのルーマ成分Yと、サンプル値がクロマ値である2つのクロマ成分CbおよびCrとからなることが一般的である。また、クロマ成分の次元は、圧縮においてビットを節約するために各次元においてルーマ成分よりも1/2だけ小さいことが一般的である。たとえば、HDピクチャのルーマ成分のサイズは1920×1080であり、クロマ成分は、各々、960×540の次元を有する。成分は色成分と呼ばれることがある。
1.3 ブロックおよびユニット
ブロックは、サンプル値(または略して「サンプル」)の1つの2次元アレイである。ビデオコーディングでは、各成分がブロックにスプリットされ、コード化ビデオビットストリームは一連のコード化ブロックからなる。ビデオコーディングでは、ピクチャは、ピクチャの特定のエリアをカバーするユニットにスプリットされることが一般的である。各ユニットは、その特定のエリアをなす、すべての成分からのすべてのブロックからなり、各ブロックは、1つのユニットに完全に属する。H.264におけるマクロブロック、およびHEVCにおけるコーディングユニット(CU)が、ユニットの例である。
ブロックは、代替的に、コーディングにおいて使用される変換が適用される2次元アレイとして規定され得る。これらのブロックは、「変換ブロック」として知られる。代替的に、ブロックは、単一の予測モードが適用される2次元アレイとして規定され得る。これらのブロックは「予測ブロック」と呼ばれる。本開示では、ブロックという単語は、これらの規定のうちの1つに結び付けられないが、本明細書における説明は、いずれかの規定に適用され得る。
1.4 NALユニット
HEVCとVVCの両方が、ネットワークアブストラクションレイヤ(NAL)を規定する。HEVCおよびVVCにおけるすべてのデータ(すなわち、ビデオコーディングレイヤ(VCL)データまたは非VCLデータの両方)が、NALユニット中にカプセル化される。VCL NALユニットは、サンプル値を表すデータを含んでいる、すなわち、VCL NALユニットは「サンプルデータ」を含んでいる。非VCL NALユニットは、パラメータセットおよび補足エンハンスメント情報(SEI:supplemental enhancement information)メッセージなど、関連するデータを含んでいる。HEVCおよびVVCにおけるNALユニットは、NALユニットのNALユニットタイプと、NALユニットが属するレイヤのレイヤIDと、NALユニットが属するサブレイヤの時間IDとを指定するNALユニットヘッダから始まる。NALユニットタイプは、NALユニット中で搬送されるデータのタイプを識別する。
HEVCでは、MPEG−2ストリームレイヤパケット化エレメンタリストリーム(PES:packetized elementary stream)スタートコードエミュレーションを回避するために、forbidden_zero_bitがシグナリングされ、NALユニットタイプは、NALユニットヘッダ中のnal_unit_typeシンタックスエレメント中で送信される。HEVCにおけるNALユニットヘッダのためのシンタックスエレメントが表1に示されており、VVCドラフト仕様の現在のバージョン、JVET−N1001−v7におけるNALユニットヘッダのためのシンタックスエレメントが表2に示されている。
Figure 2021527343
Figure 2021527343
VVCの現在のバージョンでは、zero_tid_required_flagがNALユニットヘッダの第1のビットとしてシグナリングされる。このフラグが1に等しいとき、nuh_temporal_id_plus1は1に等しくなければならない。zero_tid_required_flagは、次いで、NalUnitType=(zero_tid_required_flag<<4)+nal_unit_type_lsbに従ってNALユニットタイプを導出するために、nal_unit_type_lsbとともに使用され得る。
デコーダまたはビットストリームパーサは、NALユニットヘッダを見た後にNALユニットがどのようにハンドリング、たとえばパースおよび復号されるべきであるかを決定することができる。NALユニットのバイトの残りは、NALユニットタイプによって指示されるタイプのペイロードである。VVCビットストリーム(ならびにHEVCビットストリーム)は、NALユニットのシーケンスからなる。ビットストリームは、送信機によってネットワークを介して送信されるか、または記憶ユニットに記憶され得る。したがって、デコーダは、ビットストリームを、送信機から受信することまたは記憶ユニットからビットストリームを取り出すことによって、取得し得る。
NALユニットタイプは、NALユニットがどのようにパースおよび復号されるべきであるかを指示し、規定する。VCL NALユニットは、現在ピクチャのピクチャタイプに関する情報を提供する。VVCドラフト仕様の現在のバージョンのNALユニットタイプは、表3に示されている。
復号順序は、ビットストリーム内のNALユニットの順序と同じである、NALユニットが復号されるものとする順序である。復号順序は出力順序とは異なり得、出力順序は、復号されたピクチャがデコーダによって表示などのために出力されるべきである順序である。
Figure 2021527343
1.5 イントラランダムアクセスポイント(IRAP)ピクチャおよびコード化ビデオシーケンス(CVS)。
HEVCおよび現在のVVCドラフト仕様におけるシングルレイヤコーディングでは、アクセスユニット(AU)は、単一のピクチャのコード化表現である。AUは、いくつかのビデオコーディングレイヤ(VCL)NALユニットならびに非VCL NALユニットからなり得る。AUは、随意に、AUの開始と、ピクチャ中で許容されるスライスのタイプ、すなわち、I、I−PまたはI−P−Bとを指示するアクセスユニットデリミタ(AUD)から開始し得る。
HEVCにおけるイントラランダムアクセスポイント(IRAP)ピクチャは、その復号プロセスにおける予測のために、それ自体以外のいかなるピクチャも参照しないピクチャである。HEVCにおける復号順序におけるビットストリーム中の第1のピクチャは、IRAPピクチャでなければならないが、IRAPピクチャは、さらに、ビットストリームの後半においても現れ得る。HEVCは、3つのタイプのIRAPピクチャ、すなわち、切断リンクアクセス(BLA)ピクチャと、瞬時デコーダリフレッシュ(IDR)ピクチャと、クリーンランダムアクセス(CRA)ピクチャとを指定する。
HEVCにおけるコード化ビデオシーケンス(CVS)は、IRAP AUにおいて開始し、復号順序における次のIRAP AUまでの、ただし次のIRAP AUを含まない、一連のAUである。
IDRピクチャは、常に、新しいCVSを開始する。IDRピクチャは、関連するランダムアクセス復号可能リーディング(RADL:random access decodable leading)ピクチャを有し得る。IDRピクチャは、関連するRASLピクチャを有しない。
HEVCにおけるBLAピクチャはまた、新しいCVSを開始し、復号プロセスに、IDRピクチャと同じ影響を及ぼす。しかしながら、HEVCにおけるBLAピクチャは、参照ピクチャの空でないセットを指定するシンタックスエレメントを含んでいることがある。BLAピクチャは関連するRASLピクチャを有し得、関連するRASLピクチャは、関連するRASLピクチャが、ビットストリーム中に存在しないことがあるピクチャへの参照を含んでいることがあるとき、デコーダによって出力されず、復号可能でないことがある。BLAピクチャは、復号される関連するRADLピクチャをも有し得る。BLAピクチャは、VVCの現在のバージョンにおいて規定されない。
CRAピクチャは、関連するRADLまたはRASLピクチャを有し得る。BLAピクチャの場合と同様に、CRAピクチャは、参照ピクチャの空でないセットを指定するシンタックスエレメントを含んでいることがある。CRAピクチャでは、関連するRASLピクチャが、ビットストリーム中に存在しないピクチャへの参照を含んでいることがあるとき、関連するRASLピクチャが復号可能でないことがあるので、関連するRASLピクチャがデコーダによって出力されないことを指定するように、フラグがセットされ得る。CRAは、CVSを開始し得る。
VVCドラフト仕様の現在のバージョンでは、CVSは、CVS開始(CVSS)アクセスユニットにおいて開始され、CVSSアクセスユニットは、IRAPピクチャ、すなわち、IDRまたはCRAピクチャ、あるいは漸進的ランダムアクセス(GRA:gradual random access)ピクチャを含んでいることがある。
GRAピクチャは、本質的に、低遅延コーディングのために符号化されたビットストリーム中のランダムアクセスのために使用され、ここで、完全なIRAPピクチャは、あまりに多くの遅延を引き起こすことになる。GRAピクチャは、ビデオピクチャごとに更新する漸進的イントラリフレッシュを使用し得、ここで、各ピクチャは、部分的にイントラコーディングされるにすぎない。ビットストリームがGRAピクチャにおいてチューニングされたことを仮定すれば、ビデオがいつ完全にリフレッシュされ、出力の準備ができているかが、GRAピクチャによりシグナリングされる。GRAは、CVSを開始し得る。
1.6 パラメータセット
HEVCおよびVVCは、3つのタイプのパラメータセット、すなわち、1)ピクチャパラメータセット(PPS)と、2)シーケンスパラメータセット(SPS)と、3)ビデオパラメータセット(VPS)とを指定する。PPSは、1つまたは複数のピクチャについて共通であるデータを含んでおり、SPSは、コード化ビデオシーケンス(CVS)について共通であるデータを含んでおり、VPSは、複数のCVSについて共通であるデータを含んでいる。
VVCの現在のバージョンは、2つの追加のパラメータセット、すなわち、適応パラメータセット(APS)とデコーダパラメータセット(DPS)とをも指定する。APSは、適応ループフィルタ(ALF)ツールと、ルーママッピングおよびクロマスケーリング(LMCS:luma mapping and chroma scaling)ツールとのために必要とされるパラメータを搬送する。DPSは、復号セッション中に変化しないことがあり、デコーダが知るのに良好であり得る、情報、たとえば許容されるサブレイヤの最大数を指定する。DPS中の情報は、復号プロセスの動作のために必要でない。
1.7 タイルおよびブリック
ドラフトVVCビデオコーディング規格は、ピクチャを矩形の空間的に独立した領域に分割する、タイルと呼ばれるツールを含む。ドラフトVVCコーディング規格におけるタイルは、HEVCにおいて使用されるタイルと同様であるが、2ステップ区分機構をもつ。タイルを使用して、VVCにおけるピクチャがサンプルの行および列に区分され得、ここで、タイルは行と列との交差部である。たとえば、ピクチャは4つのタイル行と5つのタイル列とに分割され、ピクチャのための合計20個のタイルが生じ得る。
タイル構造は、行の厚さ(すなわち、高さ)と列の幅とを指定することによって、PPS中でシグナリングされる。個々の行および列は、異なるサイズを有することができるが、区分は、常に、それぞれ左から右に、および上から下に、ピクチャ全体にわたってスパンする。
同じピクチャのタイル間に復号依存性はない。これは、イントラ予測と、エントロピーコーディングのためのコンテキスト選択と、動きベクトル予測とを含む。1つの例外は、ループ内フィルタ処理依存性が概してタイル間で許容されることである。
VVCにおける2ステップタイル区分は、HEVCの場合のように、ピクチャをタイルに区分することによって開始する。次いで、各タイルは、随意に、水平境界によってブリックに区分され得る。現在のVVC仕様ドラフトでは、ブリックという単語は、ブリックにさらに区分されないタイルのためにも使用される。
1.8 スライス
HEVCにおけるスライスの概念は、ピクチャを1つまたは複数の独立してコーディングされたスライスに分割し、ここで、ピクチャ中の1つのスライスの復号は、同じピクチャ中の他のスライスから独立している。異なるコーディングタイプが同じピクチャのスライスのために使用され得る、すなわち、スライスは、Iスライス、Pスライス、またはBスライスであり得る。スライスの主要な目的は、データ損失の場合に再同期を可能にすることである。
VVCの現在のバージョンでは、スライスは、いくつかの完全なタイル、または1つのタイルの完全なブリックの連続するシーケンスのみのいずれかからなる。各スライスは、個々のスライスについてセットされ得るパラメータを備えるスライスヘッダと、スライスデータとを有する。いくつかのパラメータは、ピクチャ中のすべてのスライスについて同じであるように制限される。CVS中の各スライスは、別個のVCL NALユニット中で搬送される。VVCドラフト仕様の前のバージョンでは、スライスは、タイルグループと呼ばれた。
いくつかの課題が存在する。たとえば、VVCドラフト仕様の現在のバージョンでは、スライスヘッダ中でシグナリングされる1つまたは複数の特定のパラメータは、ビットストリーム全体について一定にとどまり得る。したがって、すべてのスライスヘッダ中のそのようなパラメータについて同じ値をシグナリングすることは、圧縮効率における不要な不利益を生じる。
この非効率性は、たとえば、1)セグメントのセット中に含まれる各セグメントについて(たとえば、特定のCVS中に含まれる各スライスについて)値が一定にとどまることもあれば、一定にとどまらないこともある、少なくとも1つのパラメータを決定することと、2)たとえば、特定のパラメータセット(たとえば、特定のCVS中に含まれるパラメータセット)中に情報を含めることとによって低減され得、ここで、情報は、i)セグメントのセット中に含まれる各セグメントが、パラメータに対応するパラメータ値を備える(たとえば、各セグメントが、パラメータ値が導出され得るコードワード(たとえば、シンタックスエレメント)を含んでいる)こと、ii)パラメータセットが、パラメータに対応するパラメータ値を備え、このパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ること、iii)パラメータに対応するデフォルトパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ること、またはiv)パラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得、導出されたパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ることを指示する。このようにして、セグメントの特定のセット中に含まれる各セグメント中でパラメータ値をシグナリングすることではなく、セグメントの特定のセット中のすべてのセグメントのために使用され得るパラメータ値をパラメータセット中でシグナリングすることによって、ビットが節約され得る。
したがって、一態様では、ビットストリームを復号するためのデコーダによって実施される復号方法が提供され、ビットストリームは、ピクチャパラメータセット(PPS)と、スライスの第1のセットとを備える。本方法は、デコーダがピクチャパラメータセットを取得することを含む。本方法は、デコーダが、インジケータ値を取得するためにピクチャパラメータセット中に含まれる第1のシンタックスエレメントを復号することをも含む。デコーダは、インジケータ値が第1の値にセットされる場合、ビットストリーム中に含まれるピクチャヘッダが、特定のパラメータに対応するパラメータ値を備えると決定され、他の場合、スライスの第1のセット中に含まれる各スライスが、特定のパラメータに対応するパラメータ値を備えると決定されるように、設定される。ピクチャヘッダが、特定のパラメータに対応するパラメータ値を備える場合、パラメータ値は、スライスの第1のセット中に含まれる各スライスのスライスデータを復号するために使用される。
別の態様では、エンコーダによって実施される符号化方法が提供される。本方法は、エンコーダがスライスの第1のセットを生成することを含む。本方法は、エンコーダがピクチャパラメータセットを生成することをも含み、ピクチャパラメータセットは、第1の値または第2の値のいずれかにセットされる第1のコードワードを含む。第1のコードワードが第1の値にセットされたとき、第1のコードワードは、エンコーダによって生成されたピクチャヘッダが、スライスの第1のセット中に含まれる各スライスのスライスデータを符号化するために使用された特定のパラメータに対応するパラメータ値を備えることを指示し、第1のコードワードが第2の値にセットされたとき、第1のコードワードは、スライスの第1のセット中に含まれる各スライスが、特定のパラメータに対応するパラメータ値を備えることを指示する。
別の態様では、処理回路によって実行されたとき、処理回路に、本明細書で開示される方法のいずれかを実施させる命令を備えるコンピュータプログラムが提供される。別の態様では、コンピュータプログラムを含んでいるキャリアが提供され、キャリアは、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体のうちの1つである。
別の態様では、上記で説明された復号方法を実施するためのデコーダが提供される。一実施形態では、デコーダは、コンピュータ可読記憶媒体と、記憶媒体に結合された処理回路とを備え、デコーダは、復号方法を実施するように設定される。
別の態様では、上記で説明された符号化方法を実施するためのエンコーダが提供される。一実施形態では、エンコーダは、コンピュータ可読記憶媒体と、記憶媒体に結合された処理回路とを備え、エンコーダは、符号化方法を実施するように設定される。
本明細書で開示される実施形態の利点は、ビットストリームの少なくとも一部分中(たとえばCVS中)で一定にとどまる各パラメータについて、セグメント(たとえばスライス)レベルでパラメータについてのパラメータ値をシグナリングする必要がないことであり、これは、ビットを節約し、全体的な圧縮効率を改善する。
一実施形態による、ビデオエンコーダの概略ブロック図である。 一実施形態による、ビデオデコーダの概略ブロック図である。 一実施形態による、符号化ビデオビットストリームを示す図である。 一実施形態による、復号プロセスを示すフローチャートである。 一実施形態による、符号化プロセスを示すフローチャートである。 一実施形態による、装置のブロック図である。 一実施形態による、ビデオ復号装置のブロック図である。 一実施形態による、ビデオ符号化装置のブロック図である。
本明細書で説明される実施形態は、ビデオエンコーダまたはビデオデコーダにおいて使用され得る。
図1は、一実施形態による、ビデオエンコーダ140の概略ブロック図である。同じフレーム中のまたは前のフレーム中のピクセルのすでに提供されたブロックから、動き推定器150を使用して動き推定を実施することによって、ピクセルの現在ブロックが予測される。動き推定の結果は、インター予測の場合、参照ブロックに関連する動きベクトルまたは変位ベクトルである。動きベクトルは、ピクセルのブロックのインター予測を出力するために動き補償器(motion compensator)150によって使用され得る。イントラ予測器149が、ピクセルの現在ブロックのイントラ予測を算出する。動き推定器/補償器150からの出力と、イントラ予測器149からの出力とは、ピクセルの現在ブロックについてイントラ予測またはインター予測のいずれかを選択するセレクタ151中に入力される。セレクタ151からの出力は、加算器141の形態の誤差計算器に入力され、加算器141は、ピクセルの現在ブロックのピクセル値をも受信する。加算器141は、ピクセルのブロックとそのブロックの予測との間のピクセル値の差として残差誤差を計算および出力する。誤差は、離散コサイン変換などによって、変換器142中で変換され、量子化器143によって量子化され、その後、エントロピーエンコーダなどによるエンコーダ144におけるコーディングが続く。インターコーディングでは、推定された動きベクトルも、ピクセルの現在ブロックのコード化表現を生成するためにエンコーダ144にもたらされる。また、ピクセルの現在ブロックのための変換および量子化された残差誤差は、元の残差誤差を取り出すために、逆量子化器145と逆方向変換器146とに提供される。この誤差は、ピクセルの次のブロックの予測およびコーディングにおいて使用され得るピクセルの参照ブロックを作成するために、動き補償器150またはイントラ予測器149から出力されたブロック予測に加算器147によって加算される。この新しい参照ブロックは、デブロッキングフィルタ100によって最初に処理される。次いで、処理された新しい参照ブロックは、フレームバッファ148に一時的に記憶され、ここで、処理された新しい参照ブロックは、イントラ予測器149および動き推定器/補償器150にとって利用可能である。
図2は、いくつかの実施形態による、ビデオデコーダ260のブロック図である。デコーダ260は、量子化および変換された残差誤差のセットを得るためにピクセルのブロックの符号化表現を復号するための、エントロピーデコーダなどのデコーダ261を含む。これらの残差誤差は、逆量子化器262によって量子化解除され、逆方向変換器263によって逆方向変換されて、残差誤差のセットを提供する。これらの残差誤差は、加算器264によってピクセルの参照ブロックのピクセル値に加算される。参照ブロックは、インター予測が実施されるのかイントラ予測が実施されるのかに応じて、動き推定器/補償器267またはイントラ予測器266によって決定される。それにより、セレクタ268が加算器264と動き推定器/補償器267とイントラ予測器266とに相互接続される。加算器264から出力されたピクセルの得られた復号されたブロックは、デブロッキングフィルタ200に入力される。ピクセルのフィルタ処理されたブロックは、デコーダ260から出力され、さらに、復号されるべきピクセルの後続のブロックのためのピクセルの参照ブロックとして使用されるようにフレームバッファ265に一時的に提供され得る。フレームバッファ265は、それにより、動き推定器/補償器267に接続されて、ピクセルの記憶されたブロックを動き推定器/補償器267にとって利用可能にする。加算器264からの出力はまた、イントラ予測器266に入力されて、ピクセルのフィルタ処理されていない参照ブロックとして使用され得る。
上述のように、VVCドラフト仕様の現在のバージョンでは、スライス中でシグナリングされる1つまたは複数の特定のパラメータは、ビットストリーム全体について(または、CVSなど、ビットストリームのある部分について)一定にとどまり得る。したがって、すべてのそのようなスライス中のそのようなパラメータについて同じ値をシグナリングすることは、圧縮効率における不要な不利益を生じる。
VVCの開発において、VTMと呼ばれる参照ソフトウェアと、共通テスト条件(CTC:common test condition)のセットとが、コーデックの改善を容易に検証するために、およびコーデックが適切な範囲で開発されることを保証するために、規定された。VVC CTCは、コーディング条件の4つの異なるセット、すなわち、1)すべてのピクチャがイントラオンリーコーディングされる(intra−only coded)オールイントラ(AI:all intra)と、2)IRAPピクチャが周期的間隔においてコーディングされるランダムアクセス(RA)と、3)Bピクチャに関する低遅延(LDB:low−delay with B−picture)と、4)Pピクチャに関する低遅延(LDP:low−delay with P−picture)とを備える。コーディング条件の各セットは、VVCエンコーダに入力すべき設定セッティングと、VVCコーデックをテストするために使用すべきテストシーケンスのセットとを備える。
以下の表4では、どのスライスヘッダパラメータ(すなわち、スライスヘッダシンタックスエレメント)が、VTM5.0を使用するCTCの現在のバージョンにおいて、テスト条件の4つのセットAI、RA、LDBおよびLDPの各々についてのすべてのテストシーケンスにわたって一定にとどまるかが示されている。
Figure 2021527343
上記で説明された非効率性は、たとえば、1)セグメントのセット中に含まれる各セグメントについて(たとえば、特定のCVS中に含まれる各スライスについて)値が一定にとどまることもあれば、一定にとどまらないこともある、少なくとも1つのパラメータを決定することと、2)たとえば、特定のパラメータセット(たとえば、特定のCVS中に含まれるパラメータセット)中に情報を含めることとによって低減され得、ここで、情報は、i)セグメントのセット中に含まれる各セグメントが、パラメータに対応するパラメータ値を備える(たとえば、セグメントのセット中に含まれる各セグメントが、パラメータ値が導出され得るコードワードを備える)こと、ii)パラメータセットが、パラメータに対応するパラメータ値を備え、このパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ること、iii)パラメータに対応するデフォルトパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ること、またはiv)パラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得、導出されたパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ることを指示する。このようにして、セグメントの特定のセット中に含まれる各セグメント中でパラメータ値をシグナリングすることではなく、セグメントの特定のセット中のすべてのセグメントのために使用され得るパラメータ値をパラメータセット中でシグナリングすることによって、ビットが節約され得る。
したがって、一実施形態では、CVS中で常に一定にとどまるパラメータ値は、好ましくは、CVS中で、一般的にはシーケンスパラメータセット(SPS)中で、1回のみシグナリングされる。CVS中で常に一定にとどまるパラメータの例は、ビデオの幅および高さ、たとえば、VVCの現在のバージョンでは、pic_width_in_luma_samplesおよびpic_height_in_luma_samplesである。複数のセグメントをもつCVS中で常に変化するパラメータ値は、各セグメントについてシグナリングされるべきである。CVS中でピクチャごとに常に変化する例示的なパラメータは、VVCの現在のバージョンでは、ピクチャ順序カウント値の最下位ビット、slice_pic_order_cnt_lsbである(ピクチャごとに複数のセグメントがあるとき、slice_pic_order_cnt_lsbは、ピクチャのセグメントのすべてについて同じである)。常に一定のパラメータ値および常に変化するパラメータ値のほかに、セグメント間で変化することもあれば全CVSについて一定にとどまることもあるいくつかのパラメータ値がある。
したがって、一実施形態では、CVS中のすべてのセグメントについて一定にとどまり得るパラメータのセットについて、パラメータセット、たとえばSPS中で、セット中の各パラメータの値がパラメータセット中でシグナリングされるのか、パラメータの値が各セグメントヘッダ、たとえば、スライスヘッダ中でシグナリングされるのかが指示される。セット中の特定のパラメータの値がCVS中で一定にとどまる場合、ビットは、パラメータセット中でパラメータ値をシグナリングすることによって節約され得る。パラメータ値がCVS中のすべてのセグメントについて一定でない場合、値は、CVSの各セグメントヘッダ中でシグナリングされる。
図3は、例示的なビデオビットストリーム300を示す。ビットストリーム300はCVS301を含み、CVS301は、パラメータセット(PS)310(たとえば、パラメータセットを含んでいる非VCL NALユニット)と、いくつかのセグメント(たとえば、スライスを含んでいるいくつかのVCL NALユニット)とを備える。セグメント312aおよび312bが示されている。セグメントは、セグメントデータ(SD)を備えるデータのユニットであり、SDはサンプルデータを備える。セグメントは、セグメントデータ(SD)に加えてセグメントヘッダ(SH)を有し得る。VVCスライスがセグメントの一例である。セグメントはまた、ピクチャ、タイルグループ、あるいは完全なピクチャまたはピクチャの一部を備える何らかの他のエンティティであり得る。この例では、各セグメントは、セグメントデータに加えてセグメントヘッダを含む。
パラメータセットまたはセグメント中のパラメータ値
一実施形態では、(「P」と示される)特定のパラメータの値は、CVS中のすべてのセグメントについて一定であり得るか、またはシナリオに応じてセグメントごとに変化し得るかのいずれかである。たとえば、パラメータPは、いくつかの設定では(たとえば、低遅延ビデオ会議アプリケーションでは)一定にとどまり得るが、ブロードキャスティングシナリオでは一定にとどまらない。エンコーダは、一般的に、パラメータPがCVSについて一定にとどまるか否かを事前に設定されるか、または知る。
この実施形態では、インジケータ値がパラメータセット中でシグナリングされ、ここで、インジケータ値は、パラメータPについての値がパラメータセット中でシグナリングされるのかCVS中の各セグメントについてシグナリングされるのかを指定する。一実施形態では、インジケータ値は、パラメータセット中に含まれるコードワード(すなわち、ビットの特定のセット)から導出され得る。
インジケータ値が、パラメータ値がパラメータセット中でシグナリングされることを指定する場合、パラメータ値は、パラメータセット中でのみシグナリングされ、その値は、次いで、CVS中のすべてのセグメントのために使用され得る。
インジケータ値が、パラメータ値が各セグメントについてシグナリングされることを指定する場合、この実施形態の1つのバージョンでは、各セグメントについて使用すべきパラメータ値は、各セグメント中でシグナリングされ、パラメータセット中でシグナリングされない。
この実施形態の別のバージョンでは、パラメータの値は、パラメータセット中の第1のセットであり、次いで、パラメータ値が上書きされるべきであるか否かが、各セグメントについて決定される。
この実施形態の1つのバージョンでは、パラメータの値がパラメータセット中でシグナリングされるのか各セグメントヘッダ中でシグナリングされるのかの指示は、パラメータセット中のパラメータ値とは別個にシグナリングされる(たとえば、指示値およびパラメータ値は、各々が異なるシンタックスエレメントに対応する2つの異なるコードワードとともにシグナリングされる)。これは、以下のシーケンスパラメータセット(SPS)シンタックステーブルおよびセグメントヘッダシンタックステーブルおよびセマンティック記述に示されており、ここで、param_X、param_Yおよびparam_Zは、SPS中でシグナリングされ得るセグメントレベルパラメータである。
Figure 2021527343
Figure 2021527343
Figure 2021527343
この実施形態の1つのバージョンでは、パラメータの非負整数値がパラメータセット中でシグナリングされるのか各セグメントヘッダ中でシグナリングされるのかを指示するインジケータ値は、インジケータ値が、非負整数パラメータ値がパラメータセット中でシグナリングされることを指定する場合、パラメータセット中の非負整数パラメータ値と同じ(cw1と示される)コードワード中でシグナリングされる。たとえば、コードワードcw1は、以下の解釈をもつ任意の非負整数値をとり得る。
cw1=0である場合、パラメータ値はスライスヘッダ中でシグナリングされ、
他の場合、パラメータ値はcw1−1に等しい。
この実施形態の1つの実現形態では、インジケータ値indicator_flagと非負整数パラメータ値param_p_valueとは、以下の擬似コードに従ってパラメータセット中の第1のコードワードcw1から導出される。
Indicator_flag=cw1>0
if(indicator_flag){
param_p_value=cw1−1
以下の擬似コードは、インジケータ値が、パラメータ値が各セグメントについてシグナリングされることを指定する場合、パラメータ値がセグメントヘッダ中の第2のコードワードcw2からどのように導出されるかを示す。
if(!indicator_flag){
param_p_value=cw2
実施形態のこのバージョンのもう1つのコンパクトな実現形態では、第1のコードワードcw1がパラメータセット中でシグナリングされ、パラメータ値param_p_valueが以下の擬似コードに従ってcw1から導出され、ここで、0に等しいcw1は、param_p_valueがコードワードcw2とともに各セグメント中でシグナリングされることを指示し、0よりも大きいcw1は、param_p_valueがパラメータセット中でシグナリングされ、値cw1−1を有することを指示する。
if(!cw1){
param_p_value=cw2

else{
param_p_value=cw1−1
}.
上記の「!cw1」というステートメントは「cw1>0」として等価的に表され得ることに留意されたい。
この実施形態の別のバージョンでは、インジケータ値は、第1のパラメータセット中で、たとえばSPS中でシグナリングされる。インジケータ値が、パラメータ値が各セグメントについてシグナリングされないことを指定する場合、パラメータ値は、第2のパラメータセット中で、たとえばPPS中でシグナリングされる。
パラメータPは、CVSについて一定にとどまり得る任意のセグメントパラメータ、たとえば、現在のVTMバージョン5.0の以下のパラメータのいずれかであり得る。
no_output_of_prior_pics_flag、
slice_sao_luma_flag、
slice_sao_chroma_flag、
tile_group_alf_enabled_flag、
dep_quant_enabled_flag、
partition_constrainst_override_flag、
slice_loop_filter_across_slices_enabled_flag、
short_term_ref_pic_set_sps_flag、
inter_ref_pic_set_prediction_flag、
slice_temporal_mvp_enabled_flag、
mvd_l1_zero_flag、
collocated_from_l0_flag、
num_negative_pics、
num_positive_pics、
reshaper_model_delta_max_bin_idx、
slice_reshaper_ChromaAdj、
six_minus_max_num_merge_cand、
five_minus_max_num_affine_merge_cand、
max_num_merge_cand_minus_max_num_triangle_cand、
collocated_ref_idx、
slice_type、
log2_diff_min_qt_min_cb、
max_mtt_hierarchy_depth、
log2_diff_max_bt_min_qt、または
log2_diff_max_tt_min_qt。
ここまで1つのパラメータPが説明されたが、CVS中で一定にとどまることがある2つ以上のパラメータが一度にあり得る。以下の例示的なシンタックスでは、これらのパラメータをパラメータp1、p2、...pNと呼ぶ。
Figure 2021527343
0に等しいsps_param_p1は、param_p1がスライスヘッダ中に存在することを指定する。0よりも大きいsps_param_p1は、param_p1の値がsps_param_p1−1に等しくセットされることを指定する。
0に等しいsps_param_p2は、param_p1がスライスヘッダ中に存在することを指定する。0よりも大きいsps_param_p2は、param_p2の値がsps_param_p2−1に等しくセットされることを指定する。
0に等しいsps_param_pNは、param_pNがスライスヘッダ中に存在することを指定する。0よりも大きいsps_param_pNは、param_pNの値がsps_param_pN−1に等しくセットされることを指定する。
Figure 2021527343
一実施形態では、グルーピングフラグは、グルーピングフラグが1にセットされた場合、パラメータグループ中のすべてのパラメータがパラメータセット中でまたはセグメントヘッダ中でのいずれかでシグナリングされ得るように使用される。グルーピングフラグが0にセットされた場合、パラメータグループ中のパラメータは、常にスライスヘッダ中でシグナリングされる。これは、以下のシンタックスおよびセマンティクスにおいて例示される。
Figure 2021527343
1に等しいgrouping_flagは、param_p1、param_p2、...、param_pNがSPS中でまたはスライスヘッダ中でのいずれで指定され得ることを指定する。0に等しいgrouping_flagは、param_p1、param_p2、...、param_pNがスライスヘッダ中で指定されることを指定する。
0に等しいsps_param_p1は、param_p1がスライスヘッダ中に存在することを指定する。0よりも大きいsps_param_p1は、param_p1の値がsps_param_p1−1に等しくセットされることを指定する。
0に等しいsps_param_p2は、param_p2がスライスヘッダ中に存在することを指定する。0よりも大きいsps_param_p2は、param_p2の値がsps_param_p2−1に等しくセットされることを指定する。
0に等しいsps_param_pNは、param_pNがスライスヘッダ中に存在することを指定する。0よりも大きいsps_param_pNは、param_pNの値がsps_param_pN−1に等しくセットされることを指定する。
Figure 2021527343
一実施形態では、1に等しいグルーピングフラグは、パラメータグループ中のパラメータがそれらのデフォルト値を使用していることを指定し、0に等しいグルーピングフラグは、パラメータグループ中のパラメータがセグメントヘッダ中でシグナリングされることを指定する。したがって、実施形態のこのバージョンでは、デフォルト値が代わりに使用されるので、パラメータは決してパラメータセット中でシグナリングされない。
一実施形態では、グルーピングフラグは、ビットストリーム中のパラメータ値から導出される。たとえば、パラメータ値をパラメータセット中でまたはセグメントヘッダ中でのいずれかでシグナリングすることの選定は、非IRAPピクチャについてのみ利用可能であり得る。
一実施形態では、エンコーダは、1つまたは複数のピクチャをコード化ビデオストリーム(CVS)に符号化するために以下のステップのサブセットまたはすべてを実施し得、ここで、CVSは、少なくとも第1のパラメータセットと、2つまたはそれ以上のセグメントのセットとを備える。第1のパラメータセットは、たとえば、SPS、PPS、DPS、VPSまたはピクチャヘッダパラメータセット(PHPS)であり得る。
ステップ1:パラメータPについて、パラメータPの値がCVS中のすべてのセグメントについて一定にとどまるかどうかを決定する。
ステップ2:第1のパラメータセットが、パラメータPの値がパラメータセット(たとえば、第1のパラメータセットまたは別のパラメータセット)中でシグナリングされるか否かを指定する情報を提供するように、第1のパラメータセットを構築する。たとえば、パラメータPの値がCVS中のすべてのセグメントについて一定にとどまると決定された場合、情報は、パラメータPの値がパラメータセット中でシグナリングされることを指定し、他の場合、情報は、パラメータPの値がCVS中の各セグメントについてシグナリングされることを指定する。パラメータPの値がパラメータセット中でシグナリングされる場合、パラメータPの値は、コードワード中で符号化され得、コードワードも、パラメータPの値がパラメータセット中でシグナリングされるか否かに関する情報を提供する。
ステップ3:CVS中の各セグメントについて、パラメータPの値がCVS中のすべてのセグメントについて一定にとどまると決定された場合、セグメント中にパラメータPの値を含める。その値は、好ましくは、セグメントヘッダ中に含まれる(たとえば、セグメントヘッダ中のコードワード中で符号化される)。
ステップ4:各セグメントについて、パラメータPについてのパラメータ値がセグメント中に含まれる場合、セグメント中に含まれるパラメータPの値を使用してセグメントのセグメントデータを符号化し、他の場合、パラメータセットによってシグナリングされるパラメータPの値を使用してセグメントのセグメントデータを符号化する。
一実施形態では、デコーダは、コード化ビデオストリーム(CVS)から1つまたは複数のピクチャを復号するために以下のステップのサブセットまたはすべてを実施し得、ここで、CVSは、少なくとも第1のパラメータセットと、2つまたはそれ以上のセグメントとを備える。
ステップ1:CVS中の第1のパラメータセット中の第1のコードワードからインジケータ値を復号する。インジケータ値は1ビット値であり得る(たとえば、コードワードはシングルビットからなり得る)。
ステップ2:パラメータPの値がパラメータセット中で指定されるのか各セグメント中の第2のコードワードによって指定されるのかを、インジケータ値から決定する。セグメント中の第2のコードワードの存在は、インジケータ値を条件とし得る。
ステップ3:パラメータPの値がパラメータセット中で指定されると決定された場合、パラメータセットからパラメータPの値を復号する。パラメータPの値は、たとえば、第1のコードワードから導出されるか、またはパラメータセット中の第3のコードワードから復号され得る。
ステップ4:各セグメントについて、ステップ4Aおよび4Bを実施する。
ステップ4A:パラメータPの値が各セグメント中で指定されると決定された場合、セグメント中の第2のコードワードからパラメータPの値を復号する。第2のコードワードは、好ましくは、セグメントヘッダから復号される。
ステップ4B:パラメータPの値を使用してセグメントのセグメントデータを復号する。
この実施形態の変形態では、インジケータ値は、パラメータPの値がデコーダに知られているデフォルト値にセットされること、または、パラメータPの値がCVS中の各セグメントについてシグナリングされることを指定する。
パラメータ値が1ビット値である事例
いくつかの使用事例では、パラメータPについてのパラメータ値は、一般値または非負整数値ではなく、ブール値である。そのような使用事例では、パラメータPは「フラグF」と呼ばれる。
実施形態では、フラグFがパラメータセット中でシグナリングされるのか各セグメントヘッダ中でシグナリングされるのかに関する指示は、パラメータセット中のフラグFの値とは別個にシグナリングされ、たとえば、指示値およびパラメータ値は、2つの異なるコードワードとともにシグナリングされる。
代替実施形態では、インジケータ値が、フラグFの値がパラメータセット中でシグナリングされることを指定する場合、インジケータ値は、フラグFの値と同じコードワード中でシグナリングされる。
たとえば、コードワードは、以下の解釈をもつ、少なくとも3つの異なる値、0、1および2をとることができる(cwと示される)2ビットコードワードであり得る。
cw=0:フラグFの値はセグメントヘッダ中でシグナリングされ、
cw=1:フラグFの値は0であり、
cw>1(たとえば、cw=2):フラグFの値は1である。
代替実施形態では、cwの値は以下の解釈を有する。
cw=0:フラグFの値は0であり、
cw=1:フラグFの値は1であり、
cw>1(たとえば、cw=2):フラグFの値はセグメントヘッダ中でシグナリングされる。
一実施形態では、第1のコードワードcw1(たとえば、2ビット長コードワード)がパラメータセット中でシグナリングされ、(「flag_f_value」と示される)フラグFの値がcw1から導出され、ここで、0に等しいcw1の値は、flag_f_valueが各セグメント中の(cw2と示される)コードワード中でシグナリングされることを指定し、1または2に等しいcw1の値は、flag_f_value=(cw1−1)の値であることを指定する。これは、以下の擬似コードに示されている。
if(cw1==0){
flag_f_value=cw2
}else{
flag_f_value=cw1−1
}.
別の実現形態では、インジケータ値indicator_flagとフラグFの値flag_f_valueとは、以下の擬似コードに従ってパラメータセット中の第1のコードワードcw1から導出される。
cw1==0である場合、indicator_flag=0であり、他の場合、indicator_flag=1である。
if(indicator_flag){
flag_f_value=cw1−1
}.
以下の擬似コードは、インジケータ値が、フラグFの値が各セグメントについてシグナリングされることを指定する場合、フラグFの値がセグメントヘッダ中の第2のコードワード(またはフラグ)cw2からどのように導出されるかを示す。
if(!indicator_flag){
flag_f_value=cw2
}.
一実施形態では、インジケータ値indicator_flagとフラグFの値flag_f_valueとは、たとえば以下に従って第1のコードワードcw1の3つの値から導出され得る。
Figure 2021527343
コードワードcw1は、u(2)など、固定コーディング記述子とともにシグナリングされ得、これは、常に2ビットがシグナリングされることを意味する。コードワードcw1はまた、2にセットされた最大値(maxVal)をもつ短縮単項2値化記述子とともにシグナリングされ得、これは、3つの値、たとえば(0、10または11)のみをシグナリングし得る。短縮単項2値化記述子は、ドラフトVVC仕様の場合のように、シンタックステーブルにおいてtu(v)で指示され得る。
Figure 2021527343
2つの固定ビットを使用することと比較して、0、10または11でcw1をコーディングすることの利益は、flag_f_valueがセグメントヘッダ中で指定されるべきであるときはいつでも、1ビットのみがシグナリングされる必要があることである。
また、他のコードワード値、または3つの値(0、10、11)の組合せが考慮され得る、たとえば(1、01、00)または(10、11、0)。
以下の例示的なシンタックスおよびセマンティクスは、フラグf1、f2、...fNがどのように指定され得るかを示す。
Figure 2021527343
0に等しいsps_flag_f1は、flag_f1がスライスヘッダ中に存在することを指定する。0よりも大きいsps_flag_f1は、flag_f1の値がsps_flag_f1−1に等しくセットされることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_flag_f2は、flag_f2がスライスヘッダ中に存在することを指定する。0よりも大きいsps_flag_f2は、flag_f2の値がsps_flag_f2−1に等しくセットされることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_flag_fNは、flag_fNがスライスヘッダ中に存在することを指定する。0よりも大きいsps_flag_fNは、flag_fNの値がsps_flag_fN−1に等しくセットされることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
Figure 2021527343
一実施形態では、エンコーダは、1つまたは複数のピクチャをコード化ビデオストリーム(CVS)に符号化するために以下のステップのサブセットまたはすべてを実施し得、ここで、CVSは、少なくともパラメータセットと、2つまたはそれ以上のセグメントとを備える。
ステップ1:フラグFについて、フラグFの値がCVS中のすべてのセグメントについて一定にとどまるかどうかを決定する。
ステップ2:パラメータセット中の第1のコードワード中でインジケータ値をシグナリングし、ここで、フラグFの値がCVS中のすべてのセグメントについて一定にとどまると決定された場合、インジケータ値は、フラグFの値がパラメータセット(または別のパラメータセット)中でシグナリングされることを指定し、他の場合、インジケータ値は、フラグFの値がCVS中の各セグメントについてシグナリングされることを指定する。
インジケータ値が、フラグFの値がパラメータセット中でシグナリングされることを指定する場合、ステップ3Aが実施され、他の場合、ステップ3Bが実施される。
ステップ3A:a)パラメータセット中でフラグFの値をシグナリングし(フラグFの値は、たとえば、パラメータセット中で、インジケータ値とともに第1のコードワード中で、または第3のコードワード中でシグナリングされ得る)、b)各セグメントについて、フラグFの値を使用してセグメントのセグメントデータを符号化する。
ステップ3B:各セグメントについて、a)セグメント中の第2のコードワード中でフラグFの値をシグナリングし(第2のコードワードは、好ましくはセグメントヘッダ中でシグナリングされる)、b)セグメントについてフラグFの値を使用してセグメントのセグメントデータを符号化する。
デコーダは、コード化ビデオストリーム(CVS)から1つまたは複数のピクチャを復号するために、この実施形態では、以下のステップのサブセットまたはすべてを実施し得、ここで、CVSは、少なくとも1つのパラメータセットと、2つまたはそれ以上のセグメントとを備える。
ステップ1:CVS中のパラメータセット中の第1のコードワードからインジケータ値を復号する。パラメータセットは、たとえば、SPS、PPS、DPS、VPSまたはPHPSであり得る。インジケータ値は、1ビット値であり得る。
ステップ2:フラグFの値がパラメータセット中で指定されるのか各コード化セグメント中の第2のコードワードによって指定されるのかを、インジケータ値から決定する。
ステップ3:フラグFの値がパラメータセット中で指定されると決定された場合、パラメータセットからフラグFの値を復号する。フラグFの値は、たとえば、第1のコードワードから導出されるかまたはパラメータセット中の別個の第3のコードワードから復号され得る。
ステップ4:各セグメントについて、ステップ4Aおよび4Bを実施する。
ステップ4A:フラグFの値が各セグメント中で指定されると決定された場合、セグメント中の第2のコードワードからフラグFの値を復号する(第2のコードワードはセグメントヘッダの一部であり得る)。
ステップ4B:第2のコードワードまたはパラメータセットのいずれかから決定される、フラグFの値を使用して、セグメントのセグメントデータを復号する。
パラメータ値の導出
一実施形態では、CVS中の各セグメントについてのパラメータPの値は、ヘッダ中の、および/またはCVS中のパラメータセット中の他の1つまたは複数のパラメータ値から導出され得、パラメータPの値が他の1つまたは複数のパラメータ値から導出されるべきであるか否かを指定するインジケータ値が、(たとえばCVS中のパラメータセット中で)シグナリングされる。
別の実施形態では、CVS中の各セグメントについてのパラメータPの値は、i)ヘッダ中の、および/またはCVS中のパラメータセット中の他の1つまたは複数のパラメータ値から導出されるか、あるいはii)各セグメントについてシグナリングされ得、i)パラメータPの値が導出されるべきであること、またはii)パラメータPの値が各セグメント中でシグナリングされることのうちの1つを指定するインジケータ値が、(たとえばCVS中のパラメータセット中で)シグナリングされる。
別の実施形態では、CVS中の各セグメントについてのパラメータPの値は、i)ヘッダ中の、および/またはCVS中のパラメータセット中の他の1つまたは複数のパラメータ値から導出されるか、ii)各セグメントについてシグナリングされるか、あるいはiii)CVS中のパラメータセット中に含まれ得、i)パラメータPの値が導出されるべきであること、ii)パラメータPの値が各セグメント中でシグナリングされること、またはiii)パラメータPの値がCVS中のパラメータセット中に含まれることのうちの1つを指定するインジケータ値が、(たとえばCVS中のパラメータセット中で)シグナリングされる。
別の実施形態では、CVS中の各セグメントについてのパラメータPの値は、i)ヘッダ中の、および/またはCVS中のパラメータセット中の他の1つまたは複数のパラメータ値から導出されるか、あるいはii)CVS中のパラメータセット中に含まれ得、i)パラメータPの値が導出されるべきであること、またはii)パラメータPの値がCVS中のパラメータセット中に含まれることのうちの1つを指定するインジケータ値が、(たとえばCVS中のパラメータセット中で)シグナリングされる。
別の実施形態では、パラメータセット(たとえば、SPS)が、i)各セグメントについてのパラメータPの値が各セグメントについての別のパラメータから導出されるべきであること、ii)パラメータPの値がすべてのセグメントについて固定される(たとえば、デフォルト値またはシグナリングされた値に固定される)こと、またはiii)パラメータPの値が各セグメントについてシグナリングされることのうちの1つを指示する情報を提供する。
たとえば、オールイントラコーディングシナリオでは、または低遅延ビデオ会議シナリオでは、パラメータslice_typeは、ピクチャタイプから導出され得る。したがって、パラメータslice_typeについての値は、各スライスについてシグナリングされる必要がない(すなわち、各スライスは、デコーダが各スライスについて正しいslice_typeパラメータ値を導出することができるので、パラメータslice_typeについての値を含んでいる必要がない)。
一実施形態では、エンコーダは、1つまたは複数のピクチャをコード化ビデオストリーム(CVS)に符号化するために以下のステップのサブセットまたはすべてを実施し得、ここで、CVSは、少なくとも1つのパラメータセットと、2つまたはそれ以上のセグメントとを備える。
ステップ1:パラメータPについて、i)CVS中のすべてのセグメントについて、パラメータPの値が別のパラメータQに基づいて導出され(たとえば、Qおよび0個以上の他のパラメータから導出され)得るのか、ii)パラメータPの値がCVS中のすべてのセグメントについて一定にとどまるのか、iii)パラメータPの値がCVS中のすべてのセグメントについて一定にとどまらず、CVS中のすべてのセグメントについて、1つまたは複数の他のパラメータから導出され得ないのかを決定する。
ステップ2:パラメータセット中に第1のコードワード(cw1)を含め、ここで、cw1の値(別名「インジケータ値」)は、ステップ1において何が決定されたかに依存する。すなわち、i)CVS中のすべてのセグメントについて、パラメータPの値が別のパラメータQに基づいて導出され得ると決定された場合、cw1は、CVS中のすべてのセグメントについて、パラメータPの値がパラメータQに基づいて導出され得ることを指定し、ii)そうではなく、パラメータPの値がCVS中のすべてのセグメントについて一定にとどまると決定された場合、cw1は、パラメータPの値がパラメータセット中でシグナリングされることを指定し、iii)他の場合、cw1は、パラメータPの値がCVS中の各セグメントについてシグナリングされることを指定する。
ステップ3:cw1が、パラメータPの値がパラメータセット中でシグナリングされることを指定する場合、パラメータセット中でパラメータPの値をシグナリングする。パラメータPの値は、たとえば、インジケータ値とともに第1のコードワード中でシグナリングされるか、またはパラメータセット中の第3のコードワード中でシグナリングされ得る。
ステップ4:各セグメントについて、ステップ4Aおよび4Bを実施する。
ステップ4A:cw1が、パラメータPの値が各セグメント中でシグナリングされることを指定する場合、セグメント中の第2のコードワード中でパラメータPの値をシグナリングする。第2のコードワードは、好ましくは、セグメントヘッダ中でシグナリングされる。
ステップ4B:パラメータPの値を使用してセグメントのセグメントデータを符号化する。
デコーダは、コード化ビデオストリーム(CVS)から1つまたは複数のピクチャを復号するために以下のステップのサブセットまたはすべてを実施し得、ここで、CVSは、少なくとも1つのパラメータセットと、2つまたはそれ以上のセグメントとを備える。
ステップ1:CVS中のパラメータセット中の第1のコードワードからインジケータ値を復号する。パラメータセットは、たとえば、SPS、PPS、DPS、VPSまたはPHPSであり得る。
ステップ2:i)パラメータPの値がパラメータQに基づいて導出されるべきであるのか、ii)パラメータPの値がパラメータセット中で指定されるのか、iii)パラメータPの値がCVSの各セグメント中の第2のコードワードによって指定されるのかを、インジケータ値から決定する。
ステップ3:パラメータPの値がパラメータセット中で指定されると決定された場合、パラメータセットからパラメータPの値を復号する。パラメータPの値は、たとえば、第1のコードワードから導出されるか、またはパラメータセット中の第3のコードワードから復号され得る。
ステップ4:パラメータPの値がパラメータQに基づいて導出されるべきであると決定された場合、パラメータQについてのパラメータ値を決定し、次いで、パラメータQについてのパラメータ値に基づいてパラメータPの値を導出する。たとえば、Pv=f(Qv,...)であり、ここで、PvはパラメータPについてのパラメータ値であり、f()は関数であり、QvはパラメータQについてのパラメータ値である。すなわち、Pvは、少なくともQvの関数であり得る。
ステップ5:各セグメントについて、ステップ5Aおよび5Bを実施する。
ステップ5A:パラメータPの値が各セグメント中で指定されると決定された場合、セグメント中の第2のコードワードからパラメータPの値を復号する。
ステップ5B:パラメータPの値を使用してセグメントのセグメントデータを復号する。
以下は、現在のVVCドラフト仕様に加えて、SPSおよびスライスヘッダについての特定の例示的なシンタックスおよびセマンティクスである。VTMの現在のバージョン(5.0)のソフトウェアにおいて静的であるとわかったすべてのパラメータが、VVCドラフト仕様の現在のバージョン(JVET−N1001−v7)において存在するとは限らないことに留意されたい。いくつかのパラメータはまた、ソフトウェアおよび仕様において異なる名前を有するが、それらの解釈は等価である。たとえば、VTM5.0ソフトウェアにおけるfive_minus_max_num_affine_merge_candは、現在のVVCドラフト仕様におけるfive_minus_max_num_subblock_merge_candと等価である。これは、VVC仕様が確定されると整合されることが予想される。
Figure 2021527343
SPSセマンティクス:
0に等しいsps_or_slice_flagは、sps_or_slice_dep_quant_enabled_flag、sps_or_slice_ref_pic_list_sps_flag、sps_or_slice_temporal_mvp_enabled_flag、sps_or_slice_mvd_l1_zero_flag、sps_or_slice_collocated_from_l0_flag、sps_or_slice_six_minus_max_num_merge_cand、sps_or_slice_five_minus_max_num_subblock_merge_candおよびsps_or_slice_max_num_merge_cand_minus_max_num_triangle_candの値が0に等しいと推論されることを指定する。1に等しいsps_or_slice_flagは、シンタックスエレメントsps_or_slice_dep_quant_enabled_flag、sps_or_slice_ref_pic_list_sps_flag、sps_or_slice_temporal_mvp_enabled_flag、sps_or_slice_mvd_l1_zero_flag、sps_or_slice_collocated_from_l0_flag、sps_or_slice_six_minus_max_num_merge_cand、sps_or_slice_five_minus_max_num_subblock_merge_candおよびsps_or_slice_max_num_merge_cand_minus_max_num_triangle_candがSPS中に存在することを指定する。
0に等しいsps_or_slice_dep_quant_enabled_flagは、dep_quant_enabled_flagがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_dep_quant_enabled_flagは、dep_quant_enabled_flagがsps_or_slice_dep_quant_enabled_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_ref_pic_list_sps_flag[i]は、ref_pic_list_sps[i]がスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_ref_pic_list_sps_flag[i]は、ref_pic_list_sps[i]がsps_or_slice_ref_pic_list_sps_flag[i]−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。[注:すべてのref_pic_list_sps[i]についての共通パラメータも可能である。]
0に等しいsps_or_slice_temporal_mvp_enabled_flagは、slice_temporal_mvp_enabled_flagが、CVS中のIに等しくないslice_typeをもつスライスのスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_temporal_mvp_enabled_flagは、slice_temporal_mvp_enabled_flagがsps_or_slice_temporal_mvp_enabled_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_mvd_l1_zero_flagは、mvd_l1_zero_flagがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_mvd_l1_zero_flagは、mvd_l1_zero_flagがsps_or_slice_mvd_l1_zero_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_collocated_from_l0_flagは、collocated_from_l0_flagがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_collocated_from_l0_flagは、collocated_from_l0_flagがsps_or_slice_collocated_from_l0_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_chroma_residual_scale_flagは、slice_chroma_residual_scale_flagがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_chroma_residual_scale_flagは、slice_chroma_residual_scale_flagがsps_or_slice_chroma_residual_scale_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_six_minus_max_num_merge_candは、six_minus_max_num_merge_candがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_six_minus_max_num_merge_candは、six_minus_max_num_merge_candがsps_or_slice_six_minus_max_num_merge_cand−1に等しいと推論されることを指定する。
0に等しいsps_or_slice_five_minus_max_num_subblock_merge_candは、five_minus_max_num_subblock_merge_candがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_five_minus_max_num_subblock_merge_candは、five_minus_max_num_subblock_merge_candがsps_or_slice_five_minus_max_num_subblock_merge_cand−1に等しいと推論されることを指定する。
0に等しいsps_or_slice_max_num_merge_cand_minus_max_num_triangle_candは、max_num_merge_cand_minus_max_num_triangle_candがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_max_num_merge_cand_minus_max_num_triangle_candは、max_num_merge_cand_minus_max_num_triangle_candがsps_or_slice_max_num_merge_cand_minus_max_num_triangle_cand−に等しいと推論されることを指定する。
Figure 2021527343
Figure 2021527343
Figure 2021527343
図4は、一実施形態によるデコーダが実施し得るプロセス400を示すフローチャートである。プロセス400は、ステップs402から始まり得る。
ステップs402は、デコーダが符号化ビデオビットストリームの第1のパラメータセットを取得すること(たとえば、エンコーダまたは他のネットワークノードから受信することあるいはストレージから取り出すこと)を含む。
ステップs404は、デコーダが、受信された第1のパラメータセット中に含まれる第1のコードワードに基づいて、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えること(たとえば、パラメータセットが、パラメータが導出され得るコードワードを備えること)であって、パラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、パラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、またはiv)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ることであって、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、1つまたは複数の他のパラメータ値から導出され得ることのうちの1つを決定することを含む。すなわち、デコーダは、第1のコードワードに基づいて、セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えるか否かを決定する。
いくつかの実施形態では、ステップs404において、デコーダは、第1のコードワードに基づいて、1)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、または2)ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えることのいずれかを決定する。
別の実施形態では、ステップs404において、デコーダは、第1のコードワードに基づいて、1)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、または2)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであることのいずれかを決定する。
また別の実施形態では、ステップs404において、デコーダは、第1のコードワードに基づいて、1)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、または2)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ることのいずれかを決定する。
いくつかの実施形態では、決定すること(ステップs404)は、デコーダが、パラメータセット中に含まれる第1のコードワードからインジケータ値を取得することと、取得されたインジケータ値が、ある値に等しいか否かを決定することとを含む。
いくつかの実施形態では、取得されたインジケータ値が、ある値に等しいと決定した結果として、デコーダは、ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えると決定するか、または、取得されたインジケータ値が、ある値に等しくないと決定した結果として、デコーダは、ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えると決定する。いくつかの実施形態では、ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えると決定した結果として、デコーダは、そのパラメータ値を備えるパラメータセットからパラメータ値を取得する。いくつかの実施形態では、パラメータ値を備えるパラメータセットは第1のパラメータセットであり、パラメータ値は、インジケータ値が取得される第1のコードワード中で符号化され、パラメータ値を取得することは、第1のコードワードからパラメータ値を導出することを含む。いくつかの実施形態では、パラメータ値は、第1のコードワードとは異なった第2のコードワード中で符号化され、パラメータ値を取得することは、第2のコードワードからパラメータ値を導出することを含む。いくつかの実施形態では、プロセス400は、セグメントの第1のセット中に含まれる各セグメントについて、セグメントのセグメントデータを復号するために、取得されたパラメータ値を使用することをさらに含む。
いくつかの実施形態では、取得されたインジケータ値が、ある値に等しいと決定した結果として、デコーダは、セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定するか、または、取得されたインジケータ値が、ある値に等しくないと決定した結果として、デコーダは、セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定する。いくつかの実施形態では、セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定した結果として、デコーダは、セグメントの第1のセット中に含まれる各セグメントについて、セグメント中に含まれる第2のコードワードから、特定のパラメータに対応するパラメータ値を取得することと、セグメントのセグメントデータを復号するために、取得されたパラメータ値を使用することとを含むプロセスを実施する。
いくつかの実施形態では、セグメントの第1のセット中に含まれる各セグメントは、異なるビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニット中に含まれる。いくつかの実施形態では、各前記セグメントは、セグメントヘッダとセグメントペイロードとを備える。いくつかの実施形態では、セグメントはスライスであり、セグメントヘッダはスライスヘッダであり、セグメントペイロードはスライスデータを含んでいる。
いくつかの実施形態では、第1のパラメータセットは、ビットストリーム中に含まれる非VCL NALユニットのペイロード部分中に含まれる。いくつかの実施形態では、第1のパラメータセットは、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、デコーダパラメータセット(DPS)、ビデオパラメータセット(VPS)、またはピクチャヘッダパラメータセット(PHPS)である。(「ピクチャヘッダ」と呼ばれることもある)PHPSは、単一のピクチャを復号するために使用されるデータを含んでいる。ピクチャが複数のスライスに区分される場合、PHPSは、ピクチャのすべてのスライスについての情報をシグナリングするために使用され得る。これは、情報がピクチャのあらゆるスライス中で繰り返される代替形態と比較してビットを節約する。PHPSはスライスヘッダ中に含まれ得るが、ピクチャ中のすべてのスライスについて有効であるものであり得る。したがって、PHPSは、ピクチャの第1のスライスを含んでいるNALユニットの一部であり得る(このシナリオでは、PHPSは「ピクチャヘッダ」と呼ばれる)。PHPSはまた、代わりに、または追加として、ピクチャ中の第1のスライスのスライスヘッダにシグナリングされ得る。したがって、PHPSは、別個のNALユニットとしてシグナリングされ得、スライスNALユニット中でシグナリングされないことがある。
いくつかの実施形態では、プロセス400は、決定するステップを実施するより前に、デコーダが、第1のパラメータセットが第1のコードワードを備えることを指示する情報を取得することをさらに含む。いくつかの実施形態では、第1のパラメータセットが第1のコードワードを備えることを指示する情報を取得することは、第1のパラメータセット中に含まれる第2のコードワードから情報を導出することを含む。
いくつかの実施形態では、特定のパラメータは、1ビットパラメータである。
いくつかの実施形態では、特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであると決定した結果として、デコーダは、デフォルトパラメータ値を取得することと、セグメントの第1のセット中に含まれる各セグメントについて、セグメントのセグメントデータを復号するために、取得されたデフォルトパラメータ値を使用することとを含むプロセスを実施する。
いくつかの実施形態では、特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出されなければならないと決定した結果として、デコーダは、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から特定のパラメータに対応するパラメータ値を導出することと、セグメントの第1のセット中に含まれる各セグメントについて、セグメントのセグメントデータを復号するために、導出されたパラメータ値を使用することとを含むプロセスを実施する。いくつかの実施形態では、パラメータ値はスライスタイプパラメータ値であり、スライスタイプパラメータ値を導出することは、ピクチャタイプを識別するピクチャタイプパラメータ値を取得することと、取得されたピクチャタイプパラメータ値に基づいてスライスタイプパラメータ値を導出することとを含む。
いくつかの実施形態では、ビットストリームは第1のCVSおよび第2のCVSを備え、第1のパラメータセットとセグメントの第1のセットとは、両方とも第1のCVS中に含まれ、第2のパラメータセットとセグメントの第2のセットとは、両方とも第2のCVS中に含まれる。いくつかの実施形態では、プロセス400は、デコーダが、第2のCVS中に含まれる第2のパラメータセットを受信することと、受信された第2のパラメータセット中に含まれるコードワードに基づいて、デコーダが、i)セグメントの第2のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第2のCVS中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備え、パラメータ値が、セグメントの第2のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第2のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、またはiv)特定のパラメータに対応するパラメータ値が、CVS中に含まれる1つまたは複数の他のパラメータ値から導出されなければならず、導出されたパラメータ値が、セグメントの第2のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであることのうちの1つを決定することとをさらに含む。
図5は、一実施形態によるエンコーダが実施し得るプロセス500を示すフローチャートである。プロセス500は、ステップs502から始まり得る。ステップs502は、エンコーダがセグメントの第1のセットを生成することを含む。ステップs504は、エンコーダが第1のパラメータセットを生成することを含む。第1のパラメータセットは、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第1のパラメータセット、またはエンコーダによって生成された第2のパラメータセットが、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用された特定のパラメータに対応するパラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたこと、あるいはiv)特定のパラメータに対応するパラメータ値が1つまたは複数の他のパラメータ値から導出され得、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたことのうちの1つを指示する第1のコードワードを含む。
いくつかの実施形態では、プロセス500は、第1のパラメータセットを生成するより前に、特定のパラメータのパラメータ値が、セグメントの第1のセット中に含まれる各セグメントについて一定にとどまると決定することをさらに含む。いくつかの実施形態では、特定のパラメータのパラメータ値が、セグメントの第1のセット中に含まれる各セグメントについて一定にとどまると決定した結果として、エンコーダは、第1のコードワードが、i)パラメータセットが、特定のパラメータに対応するパラメータ値を備えること、ii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ること、またはiii)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ることであって、導出されたパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、1つまたは複数の他のパラメータ値から導出され得ることを指示するように、第1のパラメータセットを生成する。
図6は、ビデオエンコーダ140またはビデオデコーダ260を実装するための、いくつかの実施形態による、装置600のブロック図である。図6に示されているように、装置600は、1つまたは複数のプロセッサ(P)655(たとえば、汎用マイクロプロセッサ、および/または、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、1つまたは複数の他のプロセッサなど)を含み得る処理回路(PC)602であって、そのプロセッサが、単一のハウジング中または単一のデータセンタ中にコロケートされ得るかあるいは地理的に分散され得る(すなわち、装置600が分散コンピューティング装置であり得る)、処理回路(PC)602と、ネットワークインターフェース648であって、装置600が、ネットワークインターフェース648が(直接または間接的に)接続されるネットワーク110(たとえば、インターネットプロトコル(IP)ネットワーク)に接続された他のノードにデータを送信し、他のノードからデータを受信することを可能にするための送信機(Tx)645および受信機(Rx)647を備える(たとえば、ネットワークインターフェース648はネットワーク110に無線で接続され得、その場合、ネットワークインターフェース648はアンテナ構成に接続される)、ネットワークインターフェース648と、1つまたは複数の不揮発性記憶デバイスおよび/または1つまたは複数の揮発性記憶デバイスを含み得るローカル記憶ユニット(別名「データ記憶システム」)608とを備え得る。PC602がプログラマブルプロセッサを含む実施形態では、コンピュータプログラム製品(CPP)641が提供され得る。CPP641はコンピュータ可読媒体(CRM)642を含み、CRM642は、コンピュータ可読命令(CRI)644を含むコンピュータプログラム(CP)643を記憶する。CRM642は、磁気媒体(たとえば、ハードディスク)、光媒体、メモリデバイス(たとえば、ランダムアクセスメモリ、フラッシュメモリ)など、非一時的コンピュータ可読媒体であり得る。いくつかの実施形態では、コンピュータプログラム643のCRI644は、PC602によって実行されたとき、CRIが、装置600に、本明細書で説明されるステップ(たとえば、フローチャートを参照しながら本明細書で説明されるステップ)を実施させるように設定される。他の実施形態では、装置600は、コードの必要なしに本明細書で説明されるステップを実施するように設定され得る。すなわち、たとえば、PC602は、単に1つまたは複数のASICからなり得る。したがって、本明細書で説明される実施形態の特徴は、ハードウェアおよび/またはソフトウェアで実装され得る。
図7Aは、一実施形態による、ビデオ復号装置701の機能ユニットを示す。
図7Bは、一実施形態による、ビデオ符号化装置721の機能ユニットを示す。
様々な実施形態の概要
A1.ビットストリームを復号するためのビデオデコーダ260、600、701によって実施される方法400であって、ビットストリームが、第1のパラメータセットと、セグメントの第1のセットとを備え、方法が、第1のパラメータセットを取得することと、第1のパラメータセット中に含まれる第1のコードワードに基づいて、デコーダが、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えることであって、パラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、パラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、またはiv)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ることであって、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、1つまたは複数の他のパラメータ値から導出され得ることのうちの1つを決定することとを含む、方法400。
A2.決定することは、デコーダが、パラメータセット中に含まれる第1のコードワードからインジケータ値を取得することと、取得されたインジケータ値が、ある値に等しいか否かを決定することとを含む、実施形態A1に記載の方法。
A3.取得されたインジケータ値が、ある値に等しいと決定した結果として、デコーダは、ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えると決定するか、または、取得されたインジケータ値が、ある値に等しくないと決定した結果として、デコーダは、ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えると決定する、実施形態A2に記載の方法。
A4.ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えると決定した結果として、デコーダが、そのパラメータ値を備えるパラメータセットからパラメータ値を取得する、実施形態A3に記載の方法。
A5.パラメータ値を備えるパラメータセットが第1のパラメータセットである、実施形態A4に記載の方法。
A6a1.パラメータ値は、インジケータ値が取得される第1のコードワード中で符号化され、パラメータ値を取得することが、第1のコードワードからパラメータ値を導出することを含む、いずれかの実施形態A4またはA5に記載の方法。
A6a2.第1のコードワードからパラメータ値(PV)を導出することが、PV=cw−1を計算することを含み、ここで、cwが第1のコードワードの値である、実施形態A6a1に記載の方法。
A6b.パラメータ値が、第1のコードワードとは異なった第2のコードワード中で符号化され、パラメータ値を取得することが、第2のコードワードからパラメータ値を導出することを含む、実施形態A4またはA5に記載の方法。
A7.セグメントの第1のセット中に含まれる各セグメントについて、セグメントのセグメントデータを復号するために、取得されたパラメータ値を使用することをさらに含む、実施形態A4、A5、A6a1、A6a2、およびA6bのいずれか1つに記載の方法。
A8.取得されたインジケータ値が、ある値に等しいと決定した結果として、デコーダは、セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定するか、または、取得されたインジケータ値が、ある値に等しくないと決定した結果として、デコーダは、セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定する、実施形態A2に記載の方法。
A9.セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定した結果として、デコーダが、セグメントの第1のセット中に含まれる各セグメントについて、セグメント中に含まれる第2のコードワードから、特定のパラメータに対応するパラメータ値を取得することと、セグメントのセグメントデータを復号するために、取得されたパラメータ値を使用することとを含むプロセスを実施する、実施形態A8に記載の方法。
A10.セグメントの第1のセット中に含まれる各セグメントが、異なるビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニット中に含まれる、実施形態A1からA9のいずれか1つに記載の方法。
A11.各前記セグメントが、セグメントヘッダとセグメントペイロードとを備える、実施形態A10に記載の方法。
A12.セグメントがスライスであり、セグメントヘッダがスライスヘッダであり、セグメントペイロードがスライスデータを含んでいる、実施形態A11に記載の方法。
A13.第1のパラメータセットが、ビットストリーム中に含まれる非VCL NALユニットのペイロード部分中に含まれる、実施形態A1からA12のいずれか1つに記載の方法。
A13b.第1のパラメータセットが、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、デコーダパラメータセット(DPS)、ビデオパラメータセット(VPS)、またはピクチャヘッダパラメータセット(PHPS)である、実施形態A13に記載の方法。
A14.決定するステップを実施するより前に、デコーダが、第1のパラメータセットが第1のコードワードを備えることを指示する情報を取得することをさらに含む、実施形態A1からA13bのいずれか1つに記載の方法。
A15a.第1のパラメータセットが第1のコードワードを備えることを指示する情報を取得することは、第1のパラメータセット中に含まれる第2のコードワードから情報を導出することを含む、実施形態A14に記載の方法。
A15b.第2のコードワードがシングルビットからなる、実施形態A14に記載の方法。
A15c.第1のパラメータセットが第1のコードワードを備えることを指示する情報は、第1のパラメータセットが、第2の特定のパラメータに対応する第3のコードワードをさらに備えることをさらに指示し、方法は、デコーダが、第3のコードワードに基づいて、セグメントの第1のセット中に含まれる各セグメントが、第2の特定のパラメータに対応するパラメータ値を備えるか否かを決定することをさらに含む、実施形態A14、A15a、およびA15bのいずれか1つに記載の方法。
A16.特定のパラメータが1ビットパラメータである、実施形態A1からA15cのいずれか1つに記載の方法。
A17.特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであると決定した結果として、デコーダが、デフォルトパラメータ値を取得することと、セグメントの第1のセット中に含まれる各セグメントについて、セグメントのセグメントデータを復号するために、取得されたデフォルトパラメータ値を使用することとを含むプロセスを実施する、実施形態A1またはA2に記載の方法。
A18.特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出されなければならないと決定した結果として、デコーダが、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から特定のパラメータに対応するパラメータ値を導出することと、セグメントの第1のセット中に含まれる各セグメントについて、セグメントのセグメントデータを復号するために、導出されたパラメータ値を使用することとを含むプロセスを実施する、実施形態A1またはA2に記載の方法。
A19.パラメータ値がスライスタイプパラメータ値であり、スライスタイプパラメータ値を導出することが、ピクチャタイプを識別するピクチャタイプパラメータ値を取得することと、取得されたピクチャタイプパラメータ値に基づいてスライスタイプパラメータ値を導出することとを含む、実施形態A18に記載の方法。
A20.ビットストリームが第1のコード化ビデオシーケンス(CVS)および第2のCVSを備え、第1のパラメータセットとセグメントの第1のセットとが、両方とも第1のCVS中に含まれ、第2のパラメータセットとセグメントの第2のセットとが、両方とも第2のCVS中に含まれる、実施形態A1からA19のいずれか1つに記載の方法。
A21.デコーダが、第2のCVS中に含まれる第2のパラメータセットを受信することと、受信された第2のパラメータセット中に含まれるコードワードに基づいて、デコーダが、i)セグメントの第2のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第2のCVS中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備え、パラメータ値が、セグメントの第2のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第2のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、またはiv)特定のパラメータに対応するパラメータ値が、CVS中に含まれる1つまたは複数の他のパラメータ値から導出されなければならず、導出されたパラメータ値が、セグメントの第2のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであることのうちの1つを決定することとをさらに含む、実施形態A20に記載の方法。
A22.決定するステップは、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定すること、またはii)ビットストリーム中に含まれるパラメータセットが、特定のパラメータに対応するパラメータ値を備えると決定することであって、パラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、パラメータ値を備えると決定することのいずれかを含む、実施形態A1に記載の方法。
A23.決定するステップは、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定すること、またはii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであると決定することのいずれかを含む、実施形態A1に記載の方法。
A24.決定するステップは、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えると決定すること、またはii)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ると決定することのいずれかを含む、実施形態A1に記載の方法。
B1.ビデオエンコーダ(140、600、721)によって実施される方法(500)であって、方法が、セグメントの第1のセットを生成することと、第1のパラメータセットを生成することとを含み、第1のパラメータセットは、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第1のパラメータセット、またはエンコーダによって生成された第2のパラメータセットが、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用された特定のパラメータに対応するパラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたこと、あるいはiv)特定のパラメータに対応するパラメータ値が1つまたは複数の他のパラメータ値から導出され得、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたことのうちの1つを指示する第1のコードワードを含む、方法(500)。
B2.第1のパラメータセットを生成するより前に、特定のパラメータのパラメータ値が、セグメントの第1のセット中に含まれる各セグメントについて一定にとどまると決定することをさらに含む、実施形態B1に記載の方法。
B3.特定のパラメータのパラメータ値が、セグメントの第1のセット中に含まれる各セグメントについて一定にとどまると決定した結果として、エンコーダは、第1のコードワードが、i)パラメータセットが、特定のパラメータに対応するパラメータ値を備えることであって、パラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、パラメータ値を備えること、ii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得ること、またはiii)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ることであって、導出されたパラメータ値が、セグメントのセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、1つまたは複数の他のパラメータ値から導出され得ることを指示するように、第1のパラメータセットを生成する、実施形態B2に記載の方法。
C1.ビットストリームを復号するためのデコーダ260、600、701によって実施される方法400であって、ビットストリームが、ピクチャパラメータセット(PPS)と、スライスの第1のセットとを備え、方法が、ピクチャパラメータセットを取得することs402と、インジケータ値(たとえば、フラグ)を取得するためにピクチャパラメータセット中に含まれるシンタックスエレメントを復号することとを含み、デコーダは、インジケータ値が第1の値にセットされる場合、ビットストリーム中に含まれるピクチャヘッダが、特定のパラメータに対応するパラメータ値を備えることであって、パラメータ値が、スライスの第1のセット中に含まれる各スライスのスライスデータを復号するために使用され得る、パラメータ値を備えることが決定され、他の場合、スライスの第1のセット中に含まれる各スライスが、特定のパラメータに対応するパラメータ値を備えると決定されるように、設定される。
C2.エンコーダ140、600、721によって実施される方法500であって、方法が、スライスの第1のセットを生成すること(s502)と、ピクチャパラメータセットを生成すること(s504)とを含み、ピクチャパラメータセットが、第1の値または第2の値のいずれかにセットされる第1のコードワードを含み、第1のコードワードが第1の値にセットされたとき、第1のコードワードは、エンコーダによって生成されたピクチャヘッダが、スライスの第1のセット中に含まれる各スライスのスライスデータを符号化するために使用された特定のパラメータに対応するパラメータ値を備えることを指示し、第1のコードワードが第2の値にセットされたとき、第1のコードワードは、スライスの第1のセット中に含まれる各スライスが、特定のパラメータに対応するパラメータ値を備えることを指示する、方法500。
D1.符号化ビデオビットストリーム中に含まれる第1のパラメータセットを取得することであって、ビットストリームがセグメントの第1のセットをも含む、第1のパラメータセットを取得することと、第1のパラメータセット中に含まれる第1のコードワードに基づいて、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第1のパラメータ、またはビットストリーム中に含まれる第2のパラメータセットが、特定のパラメータに対応するパラメータ値を備えることであって、パラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、パラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、あるいはiv)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ることであって、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、1つまたは複数の他のパラメータ値から導出され得ることのうちの1つを決定することとを行うように適応された、ビデオデコーダ(260、600、701)。
E1.符号化ビデオビットストリーム中に含まれる第1のパラメータセットを取得するように動作可能な取得ユニット(702)であって、ビットストリームがセグメントの第1のセットをも含む、取得ユニット(702)と、第1のパラメータセット中に含まれる第1のコードワードに基づいて、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第1のパラメータ、またはビットストリーム中に含まれる第2のパラメータセットが、特定のパラメータに対応するパラメータ値を備えることであって、パラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、パラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用されるべきであること、あるいはiv)特定のパラメータに対応するパラメータ値が、ビットストリーム中に含まれる1つまたは複数の他のパラメータ値から導出され得ることであって、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを復号するために使用され得る、1つまたは複数の他のパラメータ値から導出され得ることのうちの1つを決定するように動作可能な決定ユニット(704)とを備える、ビデオデコーダ(701)。
F1.セグメントの第1のセットを生成することと、第1のパラメータセットを生成することとを行うように適応されたビデオエンコーダ(140、600、721)であって、第1のパラメータセットは、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第1のパラメータセット、またはエンコーダによって生成された第2のパラメータセットが、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用された特定のパラメータに対応するパラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたこと、あるいはiv)特定のパラメータに対応するパラメータ値が1つまたは複数の他のパラメータ値から導出され得、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたことのうちの1つを指示する第1のコードワードを含む、ビデオエンコーダ(140、600、721)。
G1.セグメントの第1のセットを生成するように動作可能なセグメント生成ユニット(722)と、第1のパラメータセットを生成するパラメータセット生成ユニット(724)とを備えるビデオエンコーダ(721)であって、第1のパラメータセットは、i)セグメントの第1のセット中に含まれる各セグメントが、特定のパラメータに対応するパラメータ値を備えること、ii)第1のパラメータセット、またはエンコーダによって生成された第2のパラメータセットが、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用された特定のパラメータに対応するパラメータ値を備えること、iii)特定のパラメータに対応するデフォルトパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたこと、あるいはiv)特定のパラメータに対応するパラメータ値が1つまたは複数の他のパラメータ値から導出され得、導出されたパラメータ値が、セグメントの第1のセット中に含まれる各セグメントのセグメントデータを符号化するために使用されたことのうちの1つを指示する第1のコードワードを含む、ビデオエンコーダ(721)。
H1.処理回路(602)によって実行されたとき、処理回路(602)に、上記の実施形態A1〜A24、B1〜B3、C1〜C2のいずれか1つに記載の方法を実施させる命令(644)を備える、コンピュータプログラム(643)。
H2.実施形態H1に記載のコンピュータプログラムを含んでいるキャリアであって、キャリアが、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体(642)のうちの1つである、キャリア。
利点
発明の概要セクションにおいて述べられたように、上記で説明された実施形態の利点は、ビットストリームの少なくとも一部分中(たとえばCVS中)で一定にとどまる各パラメータについて、セグメント(たとえばスライス)レベルでパラメータについてのパラメータ値をシグナリングする必要がないことであり、これは、ビットを節約し、全体的な圧縮効率を改善する。
CTCからの前の例に続いて、以下の表に示されているように、VTM5.0のためのAI、RA、LDBおよびLDP設定の各々について、スライス当たり、平均して16.5、7.9、12.8および7.8ビットを節約することができる。
Figure 2021527343
注:1)slice_loop_filter_across_slices_enabled_flagは、VVC5.0 v7仕様の一部ではない(このフラグはPPSに移動された)、2)short_term_ref_pic_set_sps_flagは、VVC5.0 v7仕様の一部ではない(フラグref_pic_list_sps_flag[i]は等価であるべきである)、3)slice_reshaper_ChromaAdjは、VVC5.0 v7仕様の一部ではない(slice_chroma_residual_scale_flagは等価であるべきである)、4)five_minus_max_num_affine_merge_candは、VVC5.0 v7仕様の一部ではない(このパラメータは、five_minus_max_num_subblock_merge_candと等価であるべきである)、5)collocated_ref_idxは、VVC5.0 v7仕様の一部ではない(等価なパラメータがないようだ)。
略語
ALF 適応ループフィルタ
APS 適応パラメータセット
AUD アクセスユニットデリミタ
BLA 切断リンクアクセス
CRA クリーンランダムアクセス
CVS コード化ビデオシーケンス
CVSS CVS開始
CU コーディングユニット
DPS デコーダパラメータセット
GRA 漸進的ランダムアクセス
HEVC 高効率ビデオコーディング
IDR 瞬時復号リフレッシュ
IRAP イントラランダムアクセスポイント
JVET ジョイントビデオ探究チーム
LMCS ルーママッピングおよびクロマスケーリング
MPEG モーションピクチャエキスパートグループ
NAL ネットワークアブストラクションレイヤ
PES パケット化エレメンタリストリーム
PPS ピクチャパラメータセット
RADL ランダムアクセス復号可能リーディング
RASL ランダムアクセススキップリーディング
SPS シーケンスパラメータセット
STSA ステップワイズ時間サブレイヤアクセス
TSA 時間サブレイヤアクセス
VCL ビデオコーディングレイヤ
VPS ビデオパラメータセット
VVC 多用途ビデオコーディング
SEI 補足エンハンスメントレイヤ
寄与文書(本開示のこの部分は、考慮のために提出され得る寄与文書の関連部分を含んでいる)
−−ドラフト寄与文書を始める−−
題名:SPSまたはスライスヘッダ中のパラメータ
ステータス:JVETへのインプットドキュメント
目的:提案
概要
VVC中のスライスパラメータのうちのいくつかが、いくつかのCTC設定について、ビットストリーム中のすべてのスライスについて一定にとどまる。この寄与文書は、SPS中でまたは各スライスについてのいずれかでVVC中のスライスパラメータのうちのいくつかをシグナリングすることを可能にするための機構を提案する。
より詳細には、VVCの以下の変更が、この寄与文書において提案される。
(1)以下にリストされるシンタックスエレメントの値が、SPS中で条件付きでシグナリングされ得るのかスライスヘッダ中で条件付きでシグナリングされ得るのか、または、それらの値が常にスライスヘッダ中でシグナリングされるかどうかを指定するsps_or_slice_flagを、SPS中でシグナリングする。
a. dep_quant_enabled_flag、
b. ref_pic_list_sps_flag、
c. slice_temporal_mvp_enabled_flag、
d. mvd_l1_zero_flag、
e. collocated_from_l0_flag、
f. six_minus_max_num_merge_cand
g. five_minus_max_num_subblock_merge_cand
h. max_num_merge_cand_minus_max_num_triangle_cand
(2)sps_or_slice_flagが1に等しい場合、上記のシンタックスエレメントの各々について、対応するパラメータをSPS中でシグナリングする。対応するパラメータ値が0に等しい場合、対応するシンタックスエレメントは、スライスヘッダ中でシグナリングされる。他の場合、対応するスライスヘッダシンタックスエレメントについての値は、SPSパラメータ値−1として導出される。
CTCのためのルーマBDレート数は、それぞれ、AI/RA/LDB/LDPについて0.0%/0.0%/−0.1%/0.0%であることが報告され、提案者は、ピクチャごとの複数のスライスが使用されるとき、より高い節約を主張する。
序論
スライスヘッダ中のいくつかのパラメータは、CTCのすべてのテストシーケンス中のすべてのスライスヘッダについて一定にとどまることが観測された。以下の表は、VTM5.0を使用するどのCTC設定において、いくつかのパラメータがすべてのテストシーケンス中のすべてのスライスヘッダについて一定にとどまるかを示す。
Figure 2021527343
いくつかのスライスパラメータ名は、VTM5.0とドラフトVVC仕様、JVET−N1001−v8との間で異なることに留意されたい。したがって、VTMソフトウェアにおいて、short_term_ref_pic_set_sps_flagおよびfive_minus_max_num_affine_merge_candの名前を、ref_pic_list_sps[0]、ref_pic_list_sps[1]およびfive_minus_max_num_subblock_merge_candに変更することを提起する。
提案
ビットストリーム中のすべてのスライスヘッダについて一定にとどまるスライスヘッダ中のパラメータを送ることは、冗長である。したがって、SPS中でまたは各スライスについてのいずれかでスライスパラメータのうちのいくつかをシグナリングすることを可能にするための機構が提案される。
より詳細には、VVCの以下の変更が、この寄与文書において提案される。
(1)以下にリストされるシンタックスエレメントの値が、SPS中で条件付きでシグナリングされ得るのかスライスヘッダ中で条件付きでシグナリングされ得るのか、または、それらの値が常にスライスヘッダ中でシグナリングされるかどうかを指定するsps_or_slice_flagを、SPS中でシグナリングする。
a. dep_quant_enabled_flag、
b. ref_pic_list_sps_flag、
c. slice_temporal_mvp_enabled_flag、
d. mvd_l1_zero_flag、
e. collocated_from_l0_flag、
f. six_minus_max_num_merge_cand
g. five_minus_max_num_subblock_merge_cand
h. max_num_merge_cand_minus_max_num_triangle_cand
sps_or_slice_flagが1に等しい場合、上記のシンタックスエレメントの各々について、対応するパラメータをSPS中でシグナリングする。
パラメータ値が0に等しい場合、シンタックスエレメントは、各スライスヘッダについてシグナリングされる。他の場合、シンタックスエレメントについての値は、パラメータ値−1として導出される。
VVC仕様の変更の提案
VVCドラフト(JVET−N1001−v8)に加える変更の提案が示される。
Figure 2021527343
0に等しいsps_or_slice_flagは、sps_or_slice_dep_quant_enabled_flag、sps_or_slice_ref_pic_list_sps_flag、sps_or_slice_temporal_mvp_enabled_flag、sps_or_slice_mvd_l1_zero_flag、sps_or_slice_collocated_from_l0_flag、sps_or_slice_six_minus_max_num_merge_cand、sps_or_slice_five_minus_max_num_subblock_merge_candおよびsps_or_slice_max_num_merge_cand_minus_max_num_triangle_candが0に等しいと推論されることを指定する。1に等しいsps_or_slice_flagは、これらのシンタックスエレメントがSPS中に存在することを指定する。
0に等しいsps_or_slice_dep_quant_enabled_flagは、dep_quant_enabled_flagがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_dep_quant_enabled_flagは、dep_quant_enabled_flagがsps_or_slice_dep_quant_enabled_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_ref_pic_list_sps_flag[i]は、ref_pic_list_sps[i]がスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_ref_pic_list_sps_flag[i]は、ref_pic_list_sps[i]がsps_or_slice_ref_pic_list_sps_flag[i]−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_temporal_mvp_enabled_flagは、slice_temporal_mvp_enabled_flagが、CVS中のIに等しくないslice_typeをもつスライスのスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_temporal_mvp_enabled_flagは、slice_temporal_mvp_enabled_flagがsps_or_slice_temporal_mvp_enabled_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_mvd_l1_zero_flagは、mvd_l1_zero_flagがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_mvd_l1_zero_flagは、mvd_l1_zero_flagがsps_or_slice_mvd_l1_zero_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_collocated_from_l0_flagは、collocated_from_l0_flagがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_collocated_from_l0_flagは、collocated_from_l0_flagがsps_or_slice_collocated_from_l0_flag−1に等しいと推論されることを指定する。短縮単項2値化tu(v)の最大値maxValは、2に等しくセットされる。
0に等しいsps_or_slice_six_minus_max_num_merge_candは、six_minus_max_num_merge_candがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_six_minus_max_num_merge_candは、six_minus_max_num_merge_candがsps_or_slice_six_minus_max_num_merge_cand−1に等しいと推論されることを指定する。sps_or_slice_six_minus_max_num_merge_candの値は、両端値を含む0〜6の範囲内にあるものとする。
0に等しいsps_or_slice_five_minus_max_num_subblock_merge_candは、five_minus_max_num_subblock_merge_candがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_five_minus_max_num_subblock_merge_candは、five_minus_max_num_subblock_merge_candがsps_or_slice_five_minus_max_num_subblock_merge_cand−1に等しいと推論されることを指定する。sps_or_slice_five_minus_max_num_subblock_merge_candの値は、両端値を含む0〜6の範囲内にあるものとする。
0に等しいsps_or_slice_max_num_merge_cand_minus_max_num_triangle_candは、max_num_merge_cand_minus_max_num_triangle_candがスライスヘッダ中に存在することを指定する。0よりも大きいsps_or_slice_max_num_merge_cand_minus_max_num_triangle_candは、max_num_merge_cand_minus_max_num_triangle_candがsps_or_slice_max_num_merge_cand_minus_max_num_triangle_cand−1に等しいと推論されることを指定する。sps_or_slice_max_num_merge_cand_minus_max_num_triangle_candの値は、0〜MaxNumMergeCand−1の範囲内にあるものとする。
Figure 2021527343
結果
VTM−5.0を使用するCTCのためのビットレート節約が以下で示される。AIでは、sps_or_slice_flagは、SPSが各ピクチャについて送られるので、0にセットされる。利得は、品質の変化からは生じないが、純粋に、スライスヘッダ中ではなくSPS中で一定のパラメータをシグナリングすることによってビットを節約することから生じるので、これらのBDレート数においてノイズがないことに留意されたい。LDBにおけるJohnnyシーケンスでは、BDレートは−0.37%である。
Figure 2021527343
Figure 2021527343
Figure 2021527343
Figure 2021527343
非CTC設定についての推定された結果
複数のスライスを伴う非CTC設定では、ビット節約は、より高くなることが予想される。CTCビット節約にスライスの数を乗算することによって、以下の表5において概算推定が行われる。
Figure 2021527343
−−寄与文書を終える−−
様々な実施形態が(添付のドラフト寄与文書を含めて)本明細書で説明されたが、それらの実施形態は、限定ではなく、例として提示されたにすぎないことを理解されたい。したがって、本開示の広さおよび範囲は、上記で説明された例示的な実施形態のいずれによっても限定されるべきでない。その上、本明細書で別段に指示されていない限り、またはコンテキストによって明確に否定されていない限り、上記で説明されたエレメントのそれらのすべての考えられる変形形態における任意の組合せが、本開示によって包含される。
さらに、上記で説明され、図面に示されたプロセスは、ステップのシーケンスとして示されたが、これは、説明のためにのみ行われた。したがって、いくつかのステップが追加され得、いくつかのステップが省略され得、ステップの順序が並べ替えられ得、いくつかのステップが並行して実施され得ることが企図される。

Claims (27)

  1. ビットストリームを復号するためのデコーダ(260、600、701)によって実施される方法(400)であって、前記ビットストリームが、ピクチャパラメータセット(PPS)と、スライスの第1のセットとを備え、前記方法が、
    前記ピクチャパラメータセットを取得すること(s402)と、
    インジケータ値を取得するために前記ピクチャパラメータセット中に含まれる第1のシンタックスエレメントを復号することと
    を含み、
    前記デコーダは、前記インジケータ値が第1の値にセットされる場合、前記ビットストリーム中に含まれるピクチャヘッダが、特定のパラメータに対応するパラメータ値を備えると決定され、他の場合、スライスの前記第1のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えると決定されるように、設定され、
    前記ピクチャヘッダが、前記特定のパラメータに対応する前記パラメータ値を備える場合、前記パラメータ値が、スライスの前記第1のセット中に含まれる各スライスのスライスデータを復号するために使用される、
    方法(400)。
  2. 前記取得されたインジケータ値が、ある値に等しいか否かを決定することをさらに含む、請求項1に記載の方法。
  3. 前記取得されたインジケータ値が前記ある値に等しいと決定したことの結果として、前記デコーダは、前記ビットストリーム中に含まれるピクチャヘッダが、前記特定のパラメータに対応するパラメータ値を備えると決定するか、または
    前記取得されたインジケータ値が前記ある値に等しくないと決定したことの結果として、前記デコーダは、前記ビットストリーム中に含まれる前記ピクチャヘッダが、前記特定のパラメータに対応する前記パラメータ値を備えると決定する、
    請求項2に記載の方法。
  4. 前記ビットストリーム中に含まれるピクチャヘッダが、前記特定のパラメータに対応する前記パラメータ値を備えると決定したことの結果として、前記デコーダが、前記ピクチャヘッダから前記パラメータ値を取得する、請求項3に記載の方法。
  5. スライスの前記第1のセット中に含まれる各スライスについて、前記スライスのスライスデータを復号するために、前記取得されたパラメータ値を使用すること
    をさらに含む、請求項4に記載の方法。
  6. 前記取得されたインジケータ値が前記ある値に等しいと決定したことの結果として、前記デコーダは、スライスの前記第1のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えると決定するか、または
    前記取得されたインジケータ値が前記ある値に等しくないと決定したことの結果として、前記デコーダは、スライスの前記第1のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えると決定する、
    請求項2に記載の方法。
  7. スライスの前記第1のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えると決定したことの結果として、前記デコーダが、
    スライスの前記第1のセット中に含まれる各スライスについて、前記スライス中に含まれる第2のシンタックスエレメントから、前記特定のパラメータに対応するパラメータ値を取得することと、セグメントのスライスデータを復号するために、前記取得されたパラメータ値を使用することと
    を含むプロセスを実施する、請求項6に記載の方法。
  8. スライスの前記第1のセット中に含まれる各スライスが、異なるビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニット中に含まれる、請求項1から7のいずれか一項に記載の方法。
  9. 各前記スライスがスライスヘッダとスライスペイロードとを備える、請求項8に記載の方法。
  10. 前記ピクチャパラメータセットが、前記ビットストリーム中に含まれる非VCL NALユニットのペイロード部分中に含まれる、請求項1から9のいずれか一項に記載の方法。
  11. 復号するステップを実施するより前に、前記ピクチャパラメータセットが前記第1のシンタックスエレメントを備えることを指示する情報を、前記デコーダが取得すること、
    をさらに含む、請求項1から10のいずれか一項に記載の方法。
  12. 前記ピクチャパラメータセットが前記第1のシンタックスエレメントを備えることを指示する前記情報を取得することが、前記ピクチャパラメータセット中に含まれる第2のシンタックスエレメントから前記情報を導出することを含む、請求項11に記載の方法。
  13. 前記第2のシンタックスエレメントがシングルビットからなる、請求項12に記載の方法。
  14. 前記ピクチャパラメータセットが前記第1のシンタックスエレメントを備えることを指示する前記情報は、前記ピクチャパラメータセットが、第2の特定のパラメータに対応する第3のシンタックスエレメントをさらに備えることをさらに指示し、
    前記方法は、前記デコーダが、前記第3のシンタックスエレメントに基づいて、スライスの前記第1のセット中に含まれる各スライスが、前記第2の特定のパラメータに対応するパラメータ値を備えるか否かを決定することをさらに含む、
    請求項11から13のいずれか一項に記載の方法。
  15. 前記特定のパラメータが1ビットパラメータである、請求項1から14のいずれか一項に記載の方法。
  16. 前記ビットストリームが、第1のコード化ビデオシーケンス(CVS)と第2のCVSとを備え、
    前記ピクチャパラメータセットとスライスの前記第1のセットとが両方とも前記第1のCVS中に含まれ、
    第2のピクチャパラメータセットとスライスの第2のセットとが両方とも前記第2のCVS中に含まれる、
    請求項1から15のいずれか一項に記載の方法。
  17. インジケータ値を取得するために前記第2のピクチャパラメータセット中に含まれるシンタックスエレメントを復号すること
    をさらに含み、
    前記デコーダは、前記インジケータ値が前記第1の値にセットされる場合、前記ビットストリーム中に含まれる第2のピクチャヘッダが、前記特定のパラメータに対応するパラメータ値を備えると決定され、他の場合、スライスの前記第2のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えると決定されるように、設定され、
    前記第2のピクチャヘッダが、前記特定のパラメータに対応する前記パラメータ値を備える場合、前記パラメータ値が、スライスの前記第2のセット中に含まれる各スライスのスライスデータを復号するために使用される、
    請求項16に記載の方法。
  18. エンコーダ(140、600、721)によって実施される方法(500)であって、前記方法が、
    スライスの第1のセットを生成すること(s502)と、
    ピクチャパラメータセットを生成すること(s504)と
    を含み、
    前記ピクチャパラメータセットが、第1の値または第2の値のいずれかにセットされる第1のシンタックスエレメントを含み、
    前記第1のシンタックスエレメントが前記第1の値にセットされたとき、前記第1のシンタックスエレメントは、前記エンコーダによって生成されたピクチャヘッダが、スライスの前記第1のセット中に含まれる各スライスのスライスデータを符号化するために使用された特定のパラメータに対応するパラメータ値を備えることを指示し、
    前記第1のシンタックスエレメントが前記第2の値にセットされたとき、前記第1のシンタックスエレメントは、スライスの前記第1のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えることを指示する、
    方法(500)。
  19. 前記ピクチャパラメータセットを生成するより前に、前記特定のパラメータのパラメータ値が、スライスの前記第1のセット中に含まれる各スライスについて一定にとどまると決定すること
    をさらに含む、請求項18に記載の方法。
  20. 前記特定のパラメータの前記パラメータ値が、スライスの前記第1のセット中に含まれる各スライスについて一定にとどまると決定したことの結果として、前記エンコーダは、前記第1のシンタックスエレメントが前記第1の値にセットされるように前記ピクチャパラメータセットを生成する、請求項19に記載の方法。
  21. 前記特定のパラメータが、サンプル適応オフセット、適応ループフィルタ、量子化、または参照ピクチャリストのうちの1つの情報を備える、請求項18から20のいずれか一項に記載の方法。
  22. 処理回路(602)によって実行されたとき、前記処理回路(602)に、請求項1から21のいずれか一項に記載の方法を実施させる命令(644)を備える、コンピュータプログラム(643)。
  23. 請求項22に記載のコンピュータプログラムを含んでいるキャリアであって、前記キャリアが、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体(642)のうちの1つである、キャリア。
  24. ビットストリームを復号するためのデコーダ(260、600、701)であって、前記ビットストリームが、ピクチャパラメータセット(PPS)と、スライスの第1のセットとを備え、前記デコーダが、
    前記ピクチャパラメータセットを取得すること(s402)と、
    インジケータ値を取得するために前記ピクチャパラメータセット中に含まれる第1のシンタックスエレメントを復号することと
    を行うように適応され、
    前記デコーダは、前記インジケータ値が第1の値にセットされる場合、前記ビットストリーム中に含まれるピクチャヘッダが、特定のパラメータに対応するパラメータ値を備えると前記デコーダが決定し、他の場合、スライスの前記第1のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えると前記デコーダが決定するように、設定され、
    前記デコーダは、前記ピクチャヘッダが、前記特定のパラメータに対応する前記パラメータ値を備える場合、前記デコーダが、スライスの前記第1のセット中に含まれる各スライスのスライスデータを復号するために前記パラメータ値を使用するように、設定された、
    デコーダ(260、600、701)。
  25. ビットストリームを復号するためのデコーダ(260、600、701)であって、前記ビットストリームが、ピクチャパラメータセット(PPS)と、スライスの第1のセットとを備え、前記デコーダが、
    コンピュータ可読記憶媒体(642)と、
    前記記憶媒体(642)に結合された処理回路(602)と
    を備え、前記デコーダが、
    前記ピクチャパラメータセットを取得すること(s402)と、
    インジケータ値を取得するために前記ピクチャパラメータセット中に含まれる第1のシンタックスエレメントを復号することと
    を行うように設定され、
    前記デコーダは、前記インジケータ値が第1の値にセットされる場合、前記ビットストリーム中に含まれるピクチャヘッダが、特定のパラメータに対応するパラメータ値を備えると前記デコーダが決定し、他の場合、スライスの前記第1のセット中に含まれる各スライスが、前記特定のパラメータに対応するパラメータ値を備えると前記デコーダが決定するように、設定され、
    前記デコーダは、前記ピクチャヘッダが、前記特定のパラメータに対応する前記パラメータ値を備える場合、前記デコーダが、スライスの前記第1のセット中に含まれる各スライスのスライスデータを復号するために前記パラメータ値を使用するように、設定された、
    デコーダ(260、600、701)。
  26. スライスの第1のセットを生成すること(s502)と、
    ピクチャパラメータセットを生成すること(s504)と
    を行うように適応されたエンコーダ(140、600、721)であって、
    前記ピクチャパラメータセットは、i)スライスの前記第1のセット中に含まれる各スライスが、特定のパラメータに対応するパラメータ値を備えること、またはii)前記エンコーダによって生成されたピクチャヘッダが、スライスの前記第1のセット中に含まれる各スライスのスライスデータを符号化するために使用された前記特定のパラメータに対応するパラメータ値を備えることのうちの1つを指示する第1のシンタックスエレメントを含む、
    エンコーダ(140、600、721)。
  27. コンピュータ可読記憶媒体(642)と、
    前記記憶媒体(642)に結合された処理回路(602)と
    を備えるエンコーダ(140、600、721)であって、前記エンコーダが、
    スライスの第1のセットを生成すること(s502)と、
    ピクチャパラメータセットを生成すること(s504)と
    を行うように設定され、
    前記ピクチャパラメータセットは、i)スライスの前記第1のセット中に含まれる各スライスが、特定のパラメータに対応するパラメータ値を備えること、またはii)前記エンコーダによって生成されたピクチャヘッダが、スライスの前記第1のセット中に含まれる各スライスのスライスデータを符号化するために使用された前記特定のパラメータに対応するパラメータ値を備えることのうちの1つを指示する第1のシンタックスエレメントを含む、
    エンコーダ(140、600、721)。
JP2020567543A 2019-06-24 2020-06-12 符号化ビデオビットストリーム中に含まれているデータの量を低減するためのパラメータセット中のパラメータ値情報をシグナリングすること Active JP7017649B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962865464P 2019-06-24 2019-06-24
US62/865,464 2019-06-24
PCT/SE2020/050611 WO2020263158A1 (en) 2019-06-24 2020-06-12 Signaling parameter value information in a parameter set to reduce the amount of data contained in an encoded video bitstream

Publications (2)

Publication Number Publication Date
JP2021527343A true JP2021527343A (ja) 2021-10-11
JP7017649B2 JP7017649B2 (ja) 2022-02-08

Family

ID=74060706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020567543A Active JP7017649B2 (ja) 2019-06-24 2020-06-12 符号化ビデオビットストリーム中に含まれているデータの量を低減するためのパラメータセット中のパラメータ値情報をシグナリングすること

Country Status (12)

Country Link
US (3) US11197029B2 (ja)
EP (1) EP3791594A4 (ja)
JP (1) JP7017649B2 (ja)
KR (1) KR102540022B1 (ja)
CN (1) CN112514399B (ja)
BR (1) BR112020025895A2 (ja)
CL (1) CL2021000069A1 (ja)
MX (1) MX2020013702A (ja)
PH (1) PH12020552072A1 (ja)
RU (1) RU2758901C1 (ja)
WO (1) WO2020263158A1 (ja)
ZA (1) ZA202007503B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496761B2 (en) * 2018-06-30 2022-11-08 Sharp Kabushiki Kaisha Systems and methods for signaling picture types of pictures included in coded video
US11399188B2 (en) * 2020-01-01 2022-07-26 Tencent America LLC Method for mixed NAL unit type support in a coded picture
US11470358B2 (en) * 2020-04-02 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling scaling window information in video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050793A1 (en) * 2004-09-03 2006-03-09 Nokia Corporation Parameter set and picture header in video coding
US20130188733A1 (en) * 2012-01-19 2013-07-25 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US20140003503A1 (en) * 2012-06-27 2014-01-02 Broadcom Corporation Video coding system
JP2015503882A (ja) * 2012-01-17 2015-02-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 基準画像リストの取り扱い

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7724818B2 (en) * 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
JP5280003B2 (ja) 2003-09-07 2013-09-04 マイクロソフト コーポレーション 映像コーデックにおけるスライス層
CN101389021B (zh) * 2007-09-14 2010-12-22 华为技术有限公司 视频编解码方法及装置
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
WO2013009946A1 (en) 2011-07-14 2013-01-17 The Trustees Of Columbia University In The City Of New York Chip integrated single photon generation by active time multiplexing
US9635369B2 (en) 2012-07-02 2017-04-25 Qualcomm Incorporated Video parameter set including HRD parameters
AU2013322008B2 (en) * 2012-09-26 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US20150016502A1 (en) * 2013-07-15 2015-01-15 Qualcomm Incorporated Device and method for scalable coding of video information
US10924746B2 (en) * 2014-01-29 2021-02-16 Mediatek Inc. Method and apparatus for adaptive motion vector precision
US11336913B2 (en) * 2019-11-22 2022-05-17 Apple Inc. Reference picture re-sampling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050793A1 (en) * 2004-09-03 2006-03-09 Nokia Corporation Parameter set and picture header in video coding
JP2015503882A (ja) * 2012-01-17 2015-02-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 基準画像リストの取り扱い
US20130188733A1 (en) * 2012-01-19 2013-07-25 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US20140003503A1 (en) * 2012-06-27 2014-01-02 Broadcom Corporation Video coding system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARTIN PETTERSSON, PER WENNERSTEN, RICKARD SJOBERG, AND MITRA DAMGHANIAN: "AHG17: Parameters in PPS or slice headers", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-O0238-v3, JPN6021037382, July 2019 (2019-07-01), pages 1 - 6, ISSN: 0004601719 *
RICKARD SJOBERG, MITRA DAMGHANIAN, AND MARTIN PETTERSSON: "AHG17: Picture header NAL unit type", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-M0377-v2, JPN6021037381, January 2019 (2019-01-01), pages 1 - 8, ISSN: 0004601718 *

Also Published As

Publication number Publication date
US20220086501A1 (en) 2022-03-17
EP3791594A1 (en) 2021-03-17
RU2758901C1 (ru) 2021-11-02
BR112020025895A2 (pt) 2021-12-28
EP3791594A4 (en) 2021-04-07
ZA202007503B (en) 2022-05-25
JP7017649B2 (ja) 2022-02-08
MX2020013702A (es) 2021-02-26
US11582488B2 (en) 2023-02-14
CL2021000069A1 (es) 2021-05-28
CN112514399A (zh) 2021-03-16
KR102540022B1 (ko) 2023-06-02
PH12020552072A1 (en) 2021-05-31
CN112514399B (zh) 2022-02-08
KR20210019530A (ko) 2021-02-22
US11197029B2 (en) 2021-12-07
US20230254512A1 (en) 2023-08-10
WO2020263158A1 (en) 2020-12-30
US20210297705A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
CN107660341B (zh) 用于解码视频数据的方法、装置和设备及存储媒体
EP3205092B1 (en) Intra block copy prediction restrictions for parallel processing
CN107079150B (zh) 用于视频译码中自适应颜色变换的量化参数推导及偏移
JP2024012507A (ja) エンコーダ、デコーダ及び対応する方法
US20240163425A1 (en) Gradual Decoding Refresh In Video Coding
JP7017649B2 (ja) 符号化ビデオビットストリーム中に含まれているデータの量を低減するためのパラメータセット中のパラメータ値情報をシグナリングすること
CN114467117A (zh) 视频译码中的图像头指示
JP7454657B2 (ja) ピクチャーレベルでの非ピクチャーレベルの構文要素のシグナリング
KR20220058960A (ko) 다중 레이어 비디오 비트스트림의 액세스 유닛 내 혼합 irap 및 비-irap 픽처 지원
CN115315949A (zh) 用于视频编码和解码的高级句法
JP2023510110A (ja) コーディングされたピクチャ内における復号順を実装する技術
CN115552899A (zh) 视频图片中的片的指示
KR20210104900A (ko) 비디오 인코더, 비디오 디코더 및 상응하는 방법들
CA3101453C (en) Signaling parameter value information in a parameter set to reduce the amount of data contained in an encoded video bitstream
US20220360787A1 (en) Video coding layer up-switching indication
WO2024080917A1 (en) Quantization parameter (qp) coding for video compression
JP2023529854A (ja) ビデオビットストリームの各レイヤ表現のための値の導出
CN115462085A (zh) 视频编解码中滤波的高级控制

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210302

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220127

R150 Certificate of patent or registration of utility model

Ref document number: 7017649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150