JP7422901B2 - ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびプログラム - Google Patents

ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびプログラム Download PDF

Info

Publication number
JP7422901B2
JP7422901B2 JP2022570739A JP2022570739A JP7422901B2 JP 7422901 B2 JP7422901 B2 JP 7422901B2 JP 2022570739 A JP2022570739 A JP 2022570739A JP 2022570739 A JP2022570739 A JP 2022570739A JP 7422901 B2 JP7422901 B2 JP 7422901B2
Authority
JP
Japan
Prior art keywords
picture
flag
equal
syntax element
value
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.)
Active
Application number
JP2022570739A
Other languages
English (en)
Other versions
JP2023522482A (ja
Inventor
シュウ,シャオユウ
チェン,イウェン
マ,ツンチュアン
ジュ,ホンジェン
チェン,ウェイ
ワン,シャンリン
ユ,ビン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of JP2023522482A publication Critical patent/JP2023522482A/ja
Priority to JP2023184964A priority Critical patent/JP2024023200A/ja
Application granted granted Critical
Publication of JP7422901B2 publication Critical patent/JP7422901B2/ja
Priority to JP2024031365A priority patent/JP2024059937A/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/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
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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
    • 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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Description

関連出願の相互参照
本出願は、2020年5月20日に出願された米国仮出願番号第63/027,718号、タイトル「ビデオ符号化におけるシンタックス要素のシグナリング」に対する優先権を主張し、その全体が参照により援用される。
本開示は、ビデオコーディングおよび圧縮に関し、特に、限定はされないが、ビデオ符号化の際のシンタックス要素のシグナリングの方法および装置に関する。
様々なビデオ符号化技法がビデオデータを圧縮するために使用されることがある。ビデオ符号化は、1つまたは複数のビデオ符号化規格に従って実施される。例えば、ビデオ符号化規格としては、汎用ビデオ符号化(Versatile Video Coding:VVC)、ジョイント探索テストモデル(Joint Exploration test Model:JEM)、高性能ビデオ符号化(H.265/High-Efficiency Video Coding:HEVC)、高度ビデオ符号化(H.264/Advanced Video Coding:AVC)、MPEG(Moving Picture Experts Group)符号化などが挙げられる。ビデオ符号化は、一般に、ビデオ画像またはシーケンスに存在する冗長性を活用する予測方法(例えば、インター予測、イントラ予測など)を利用する。ビデオ符号化技法の重要な目的は、ビデオ品質の低下を回避するかまたは最小化するのと共に、より低いビットレートを使用する形式にビデオデータを圧縮することである。
本開示は、ビデオコーディングの際のシンタックス要素のシグナリングに関する技法の例を提供する。
本開示の第1の態様によれば、ビデオコーディングのための方法が提供される。この方法は、復号器がピクチャパラメータセット(Picture Parameter Set:PPS)に対応するピクチャが2以上のネットワーク抽象化層(Network Abstraction Layer:NAL)ユニットを含んでいるかどうか、および、2以上のNALユニットが同じNALユニットタイプを有しているかどうかを特定する、PPS内の第1のシンタックス要素を受信することを含む。さらに、復号器は、ピクチャヘッダ(Picture Header:PH)に対応するピクチャがイントラランダムアクセスポイント(Intra Random Access Point:IRAP)ピクチャまたは段階的イントラリフレッシュ(Gradual Intra Refreshing:GDR)ピクチャであるかどうかを特定する、PH内の第2のシンタックス要素を受信する。さらに、復号器は、1である第2のシンタックス要素の値に基づいて、第1のシンタックス要素の値を判定し、または、第1のシンタックス要素の値に基づいて第2のシンタックス要素の値を判定する。
本開示の第2の態様によれば、ビデオコーディングのための方法を提供する。この方法は、復号器がシンタックス要素を受信し、かつシンタックス要素の値に基づいて復号化プロセスを実施することを含む。さらに、シンタックス要素は、ピクチャのネットワーク抽象化層(Network Abstraction Layer:NAL)ユニットが同じNALユニットタイプを有しているかどうかを特定し、ピクチャが、階的復号化リフレッシュ(GDR)ピクチャ、または、イントラランダムアクセスポイント(Intra Random Access Point:IRAP)ピクチャであるとき、シンタックス要素の前記値は0である。
本開示の第3の態様によれば、ビデオコーディングのための装置が提供される。この装置は、1つまたは複数のプロセッサ、および該1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリを備える。1つまたは複数のプロセッサは、命令が実行されると、本開示の第1の態様に従う任意の方法を実施するように構成される。
本開示の第4の態様によれば、ビデオコーディングのための装置が提供される。この装置は、1つまたは複数のプロセッサ、および該1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリを備える。1つまたは複数のプロセッサは、命令が実行されると、本開示の第2の態様に従う任意の方法を実施するように構成される。
本開示の第5の態様によれば、1つまたは複数のコンピュータプロセッサによって実行されると、該1つまたは複数のコンピュータプロセッサに本開示の第1の態様に従う任意の方法を実施させるコンピュータ実行可能命令を記憶するビデオコーディングのための非一時的コンピュータ可読記憶媒体が提供される。
本開示の第6の態様によれば、1つまたは複数のコンピュータプロセッサによって実行されると、該1つまたは複数のコンピュータプロセッサに本開示の第2の態様に従う任意の方法を実施させるコンピュータ実行可能命令を記憶するビデオコーディングのための非一時的コンピュータ可読記憶媒体が提供される。
本開示の第7の態様によれば、プロセッサによって実行されると、本開示の第1の態様の方法を実施する命令を有する、コンピュータ可読記憶媒体に記憶されたプログラムが提供される。
本開示の第8の態様によれば、プロセッサによって実行されると、本開示の第2の態様の方法を実施する命令を有する、コンピュータ可読記憶媒体に記憶されたプログラムが提供される。
本開示の例のより具体的な説明は、添付図面に示されている特定の例を参照することによって行われる。これらの図面は、いくつかの例のみを描いており、したがって、範囲を限定するものではないと見なされるものであり、各例について、添付の図面を使用することによって、さらに具体的かつ詳細に説明および解説する。
図1は、本開示のいくつかの実装形態に従った例示的ビデオ符号器を示すブロック図である。
図2は、本開示のいくつかの実装形態に従った例示的ビデオ復号器を示すブロック図である。
図3は、本開示のいくつかの実装形態に従った複数の符号化ツリーユニット(Coding Tree Unit:CTU)に分割されたピクチャの例を示す図である。
図4Aは、本開示のいくつかの実装形態に従ったマルチタイプツリー分割モデルを示す略図である。 図4Bは、本開示のいくつかの実装形態に従ったマルチタイプツリー分割モデルを示す略図である。 図4Cは、本開示のいくつかの実装形態に従ったマルチタイプツリー分割モデルを示す略図である。 図4Dは、本開示のいくつかの実装形態に従ったマルチタイプツリー分割モデルを示す略図である。
図5は、本開示のいくつかの実装形態に従った複数のインターピクチャ間のイントラ符号化領域を示す図である。
図6は、本開示のいくつかの実装形態に従ったビデオ符号化のための例示的装置を示すブロック図である。
図7は、本開示のいくつかの実装形態に従ったビデオ符号化の例示的プロセスを示すフロー図である。
図8は、本開示のいくつかの実装形態に従った映像符号化の例示的プロセスを示すフロー図である。
図9は、本開示のいくつかの実装形態に従ったビデオ符号化の例示的プロセスを示すフロー図である。
図10は、本開示のいくつかの実装形態に従ったビデオ符号化の例示的プロセスを示すフロー図である。
次に、添付図面にその例が示されている具体的な実装形態を詳細に参照する。以下、発明を実施するための形態では、本明細書で提示する主題に対する理解を助けるために、非限定的で具体的な多数の詳細について記載する。しかし、様々な変形例を使用できることは、当業者には明らかである。例えば、本明細書で提示する主題は、デジタルビデオ能力を備える多くの種類の電子デバイスに実装され得ることが当業者には明らかである。
本明細書全体における「一実施形態」、「ある実施形態」、「例」、「いくつかの実施形態」、「いくつかの例」、または類似の用語に対する言及は、記載されている特定の特性、構造、または特徴が、少なくとも1つの実施形態または例に含まれることを意味する。さらに、1つまたはいくつかの実施形態に関して記載される特性、構造、要素、または特徴もまた、別段の明示的な定めがない限り、他の実施形態に適用可能である。
本開示の全体を通して、用語「第1」、「第2」、「第3」などは、全て、例えば、デバイス、コンポーネント、組成物、ステップなどの関連する要素に対する参照のために命名されるものであり、別段の明示的な定めがない限り、空間的または時間的順序を意味するものではない。例えば、「第1のデバイス」および「第2のデバイス」は、別々に形成された2つのデバイス、または同じデバイスの2つのパーツ、コンポーネントもしくは動作可能状態を意味する場合があり、また任意に命名する場合がある。
用語「モジュール」、「サブモジュール」、「電気回路」、「サブ電気回路」、「回路」、「サブ回路」、「ユニット」、または「サブユニット」は、1つまたは複数のプロセッサによって実行され得る符号または命令を記憶するメモリ(共有、専用、またはグループ)を含む場合がある。モジュールは、記憶される符号または命令を含む、または含まない1つまたは複数の電気回路を含む場合がある。モジュールまたは電気回路は、直接または間接的に接続された1つまたは複数のコンポーネントを含む場合がある。これらのコンポーネントは、互いに物理的に接続されていてもいなくてもよく、または互いに近くに配置されていてもいなくてもよい。
本明細書で使用される場合、用語「~する場合」または「~するとき」は、文脈によっては「の際に」または「に応じて」と理解される場合がある。これらの用語は、請求項に記載されていたとしても、関連する制限または特性が条件付きまたは任意であることを意味しない場合がある。例えば、方法は、i)条件Xが存在するとき、または存在する場合、機能または動作X’が実施され、ii)条件Yが存在するとき、または存在する場合、機能または動作Y’が実施される、というステップを含む場合がある。方法は、機能または動作X’を実施する能力および機能または動作Y’を実施する能力の両方を用いて実行される場合がある。したがって、機能X’およびY’の両方が、異なる時間で、方法の複数の実行に基づいて実施されてよい。
ユニットまたはモジュールは、純粋にソフトウェアによって、純粋にハードウェアによって、またはハードウェアとソフトウェアとの組み合わせによって実装されてよい。純粋なソフトウェア実装形態では、例えば、ユニットまたはモジュールは、特定の機能を実施するために互いに直接または間接的に接続された、機能上関連する符号化ブロックまたはソフトウェアコンポーネントを含む場合がある。
図1は、ブロックベース処理を用いる多数のビデオ符号化規格と共に使用される場合がある、例示的なブロックベースハイブリッドビデオ符号器100を示すブロック図である。符号器100では、ビデオフレームは、処理のために複数のビデオブロックに分割される。所与のビデオブロックごとに、インター予測アプローチまたはイントラ予測アプローチのいずれかに基づいて、予測が行われる。インター予測では、1つまたは複数の予測子が、過去に再構築されたフレームからの画素に基づいて、動き推定および動き補償を通して形成される。イントラ予測では、予測子が、現在のフレーム内の再構築画素に基づいて形成される。モード判定を通して、最良の予測子が、現在のブロックを予測するために選択される場合がある。
現在のビデオブロックとその予測子との差を表す予測残差は、変換回路102に送信される。次に、変換係数が、エントロピー低減のために変換回路102から量子化回路104に送信される。次に、量子化係数が、圧縮されたビデオビットストリームを生成するためにエントロピー符号化回路106に供給される。図1に示すように、ビデオブロック分割情報、動きベクトル、参照ピクチャインデックス、およびイントラ予測モードなどの、インター予測回路および/またはイントラ予測回路112からの予測関連情報110もまた、エントロピー符号化回路106を通して供給され、圧縮されたビデオビットストリーム114に保存される。
符号器100では、復号器関連回路もまた、予測目的で画素を再構築するために必要とされる。まず、予測残差が逆量子化回路116および逆変換回路118を通して再構築される。この再構築予測残差は、現在のビデオブロックに関するフィルタ無し再構築画素を生成するために、ブロック予測子120と組み合わされる。
イントラ予測(「空間予測」とも称される)は、同じビデオピクチャおよび/またはスライス内の既に符号化されている近傍のブロックのサンプル(参照サンプルと称される)からの画素を使用して、現在のビデオブロックを予測する。空間予測により、ビデオ信号に固有の空間的冗長性が低減される。
インター予測(「時間予測」とも称される)は、既に符号化されているビデオピクチャからの再構成画素を使用して、現在のビデオブロックを予測する。時間予測により、ビデオ信号に固有の時間的冗長性が低減される。所与の符号化ユニット(Coding Unit:CU)または符号化ブロックに関する時間予測信号は、通常、現在のCUとその時間的参照との間の動きの量および方向を示す1つまたは複数の動きベクトル(Motion Vector:MV)によってシグナリングされる。さらに、複数の参照ピクチャがサポートされている場合、1つの参照ピクチャインデックスが追加的に送信され、これは、時間予測信号が参照ピクチャ記憶装置内のどの参照ピクチャから来るかを識別するために使用される。
空間予測および/または時間予測が実施された後、符号器100内のイントラ/インターモード判定回路121は、例えば、レート-歪み最適化法に基づいて、最良の予測モードを選択する。次に、ブロック予測子120は、現在のビデオブロックから減算され、かつ得られた予測残差は、変換回路102および量子化回路104を使用して非相関化される。得られた量子化された残差係数は、逆量子化回路116によって逆量子化され、逆変換回路118によって逆変換されて、再構築残差が形成され、次に、この再構築残差が予測ブロックに再度追加されて、CUの再構築信号が形成される。さらに、デブロッキングフィルタ、サンプル適応オフセット(Sample Adaptive Offset:SAO)、および/または適応ループ内フィルタ(Adaptive in-Loop Filter:ALF)などのループ内フィルタ115が、再構築CUに適用されてよく、その後、再構築CUは、ピクチャバッファ117の参照ピクチャ記憶装置に入れられ、さらなるビデオブロックを符号化するために使用される。出力ビデオビットストリーム114を形成するために、符号化モード(インターまたはイントラ)予測モード情報、動き情報、および量子化された残差係数は、全て、エントロピー符号化ユニット106に送信され、さらに圧縮およびパックされてビットストリームが形成される。
例えば、デブロッキングフィルタは、AVC、HEVCだけではなく、VVCの最新バージョンで利用可能である。HEVCでは、SAO(サンプル適応オフセット)と呼ばれる追加のループ内フィルタが、符号化効率をさらに向上させるために規定されている。VVC規格の最新バージョンでは、ALF(適応ループフィルタ)と呼ばれるさらに別のループ内フィルタが、積極的に調査されており、最終的な規格に含まれる可能性が高い。
これらのループ内フィルタ操作は任意のものである。これらの操作の実施は、符号化効率およびビジュアル品質の改善を助ける。これらはまた、計算量を節約するために、符号器100によって決定される場合にオフにされることもある。
イントラ予測は、通常、フィルタ無し再構築画素に基づき、一方、インター予測は、これらのフィルタオプションが、符号器100によってオンにされる場合フィルタ有り再構築画素に基づくという点に留意すべきである。
図2は、多数のビデオ符号化規格と共に使用される場合がある、例示的なブロックベースビデオ復号器200を示すブロック図である。復号器200は、図1の符号器100内に常駐する再構築関連セクションに類似している。復号器200では、入力ビデオビットストリーム201が、まず、エントロピー復号化202を通して復号化されて、量子化係数レベルおよび予測関連情報が導出される。次に、量子化係数レベルは、逆量子化204かつ逆変換206を通して処理され、再構築予測残差が得られる。イントラ/インターモード選択器212に実装されているブロック予測子メカニズムは、復号化された予測情報に基づいて、イントラ予測208または動き補償210のいずれかを実施するように構成される。フィルタ無し再構築画素のセットは、加算器214を使用して、逆変換206からの再構築予測残差およびブロック予測子メカニズムによって生成された予測出力を加算することによって得られる。
再構築ブロックは、さらに、ループ内フィルタ209に通され、その後、参照ピクチャ記憶装置として機能するピクチャバッファ213に記憶される。ピクチャバッファ213内の再構築ビデオは、表示デバイスを駆動するために送信され、さらに、将来のビデオブロックを予測するために使用される。ループ内フィルタ209がオンになっている状況では、これらの再構築画素に対してフィルタリング操作が実施されて、最終の再構築ビデオ出力222が導出される。
汎用ビデオ符号化(VVC)
2018年4月10日から20日にかけて、米国のサンディエゴで行われた第10回JVET会議において、JVETは、その参照ソフトウェア実装形態としてのVVCおよびVVCテストモード1(VVc Test Model 1:VTM1)の第1ドラフトを規定した。VVCの初期の新しい符号化機能として、ネストされたマルチタイプツリーを伴うクワッドツリーを含むことが決定された。マルチタイプツリーは、2分割および3分割の両方を含む符号化ブロック分割構造である。それ以降、符号化プロセスおよび復号化プロセスの両方が実装された参照ソフトウェアVTMが開発され、その後のJVET会議で更新された。
VVCでは、入力ビデオのピクチャは、CTUと呼ばれるブロックに分割される。CTUは、ネストされたマルチタイプツリー構造を伴うクワッドツリーを使用して、同じ予測モード(例えば、イントラまたはインター)を共有する画素の領域を画定するCUと共に、CUに分割される。用語「ユニット」は、輝度および彩度などの全ての成分をカバーする画像の領域を規定する場合がある。用語「ブロック」は、特定の成分(例えば、輝度)をカバーする領域を規定ために使用される場合があるが、異なる成分(例えば、輝度対彩度)のブロックは、4:2:0などの彩度サンプリングフォーマットを考慮する場合は空間的位置が異なる場合がある。
ピクチャのCTUへの分割
図3は、本開示のいくつかの実装形態に従った複数のCTU302に分割されたピクチャ300の例を示す図である。
VVCでは、ピクチャは、一連のCTUに分割される。CTU概念は、HEVCの概念と同じである。3つのサンプルアレイを有するピクチャの場合、CTUは、彩度サンプルの対応する2つのブロックと共に輝度サンプルのN×Nブロックで構成される。
CTU内の輝度ブロックの最大許容サイズは、128×128と規定されている(ただし、輝度変換ブロックの最大サイズは64×64である)。
ツリー構造を使用するCTUの分割
HEVCでは、CTUは、符号化ツリーと呼ばれる4要素ツリー構造を使用してCUに分割されて、種々のローカル特性に適応される。インターピクチャ(時間)またはイントラピクチャ(空間)予測を使用してピクチャエリアを符号化するかどうかの判定は、リーフCUレベルで行われる。各リーフCUは、PU分割タイプに従って、さらに、1つ、2つ、または4つのPUに分割され得る。1つのPU内では、同じ予測プロセスが行われ、関連する情報が、PU単位で復号器に伝送される。PU分割タイプに基づく予測プロセスの実行による残差ブロックの取得後、リーフCUは、CUの符号化ツリーと類似の別の4要素ツリー構造に従って、変換ユニット(Transform Unit:TU)に分割することができる。HEVC構造の主要な特性の1つは、CU、PU、およびTUを含む複数の分割概念を有することである。
VVCでは、2分割および3分割セグメンテーション構造を用いるネストされたマルチタイプツリーを伴うクワッドツリーは、複数の分割ユニットタイプの概念に取って代わり、すなわち、最大変換長に対してサイズが大きすぎるCUにとって必要な場合を除いて、CU、PUおよびTU概念の分断を取り除き、CU分割形状のさらなる柔軟性をサポートする。符号化ツリー構造では、CUは、正方形または長方形のいずれかの形状を有する場合がある。CTUは、まず、4要素ツリー(別名、クワッドツリー)構造によって分割される。次に、4要素ツリーリーフノードが、マルチタイプツリー構造によってさらに分割され得る。
図4Aから4Dは、本開示のいくつかの実装形態に従ったマルチタイプツリー分割モデルを示す略図である。図4Aから4Dに示すように、マルチタイプツリー構造には、4つの分割タイプ、縦2分割402(SPLIT_BT_VER)、横2分割404(SPLIT_BT_HOR)、縦3分割406(SPLIT_TT_VER)、および横3分割408(SPLIT_TT_HOR)がある。マルチタイプツリーリーフノードは、CUと呼ばれ、CUが最大変換長に対して大きすぎない限り、このセグメンテーションが、いずれのさらなる分割も伴うことなく予測および変換処理に使用される。これは、ほとんどの場合、ネストされたマルチタイプツリー符号化ブロック構造を伴うクワッドツリー内で、CU、PU、およびTUが同じブロックサイズを有することを意味する。最大サポート変換長がCUの色成分の幅または高さよりも小さい場合、例外が発生する。
VVCにおけるシンタックス
VVCでは、シンタックスシグナリングのビットストリームの最初の層は、ビットストリームがNALユニットのセットに分割されているNALである。いくつかのNALユニットは、SPSおよびPPSなどの共通制御パラメータを復号器にシグナリングする。その他のものは、ビデオデータを含んでいる。ビデオ符号化層(Video Coding Layer:VCL)NALユニットは、符号化されたビデオのスライスを含んでいる。符号化されたピクチャは、アクセスユニットと呼ばれ、かつ1つまたは複数のスライスとして符号化される場合がある。
符号化されたビデオシーケンスは、即時復号器リフレッシュ(Instantaneous Decoder Refresh:IDR)ピクチャで始まる。それに続く全てのビデオピクチャは、スライスとして符号化される。新しいIDRピクチャは、以前のビデオセグメントが終わり、新しいビデオセグメントが始まることをシグナリングする。各NALユニットは、1バイトのヘッダで始まり、未加工のバイトシーケンスペイロード(Raw Byte Sequence Payload:RBSP)が続く。RBSPは符号化されたスライスを含んでいる。スライスは、2値符号化され、それにより、それらは、長さが整数のバイトであることを保証するために0ビットでパディングされる場合がある。スライスは、スライスヘッダおよびスライスデータから構成される。スライスデータは、一連のCUとして規定される。
ピクチャヘッダ概念は、第16回JVET会議で採用され、ピクチャの最初のVCL NALユニットとしてピクチャごとに1回伝送されるようになった。以前、スライスヘッダにあったいくつかのシンタックス要素をこのピクチャヘッダにグループ化することも提案された。ピクチャごとに1回伝送されることだけが機能上必要なシンタックス要素は、特定の画像に対して複数回スライスで伝送されるのではなく、ピクチャヘッダに移動することができた。
VVC規格では、シンタックステーブルが、全ての許容されるビットストリームのシンタックスの上位セットを規定している。シンタックスに対する別の制約が、他の節で直接または間接的に特定される場合がある。下記の表1および表2は、VVCにおけるスライスヘッダおよびPHのシンタックステーブルである。いくつかのシンタックスの意味も、シンタックステーブルの後に例示している。
選択されたシンタックス要素の意味
ph_temporal_mvp_enabled_flagは、ピクチャヘッダ(PH)に関連付けられたスライスのインター予測に時間的動きベクトル予測子が使用できるかどうかを特定する。ph_temporal_mvp_enabled_flagが0に等しい場合、PHに関連付けられたスライスのシンタックス要素は、スライスの復号化の際に時間的動きベクトル予測子が使用されないように制約されるものとする。その他の場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子は、PHに関連付けられたスライスの復号化の際に使用されてよい。存在しない場合、ph_temporal_mvp_enabled_flagの値は、0に等しいと推測される。復号化されたピクチャバッファ(Decoded Picture Buffer:DPB)内で、現在のピクチャと同じ空間分解能を有する参照ピクチャがない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
サブブロックベースのマージMVP候補の最大値であるMaxNumSubblockMergeCandは、以下のように導出される。
1に等しいslice_collocated_from_l0_flagは、時間的動きベクトル予測に使用される同一位置ピクチャが参照ピクチャリスト0から導出されることを特定する。0に等しいslice_collocated_from_l0_flagは、時間的動きベクトル予測に使用される同一位置ピクチャが参照ピクチャリスト1から導出されることを特定する。slice_typeがBまたはPに等しく、ph_temporal_mvp_enabled_flagが1に等しく、かつslice_collocated_from_l0_flagが存在しない場合、下記が適用される。
- rpl_info_in_ph_flagが1に等しい場合、slice_collocated_from_l0_flagは、ph_collocated_from_l0_flagに等しいと推測される。
- その他の場合(rpl_info_in_ph_flagが0に等しく、slice_typeがPに等しい場合)、slice_collocated_from_l0_flagの値は、1に等しいと推測される。
slice_collocated_ref_idxは、時間的動きベクトル予測に使用される同一位置ピクチャの参照インデックスを特定する。
slice_typeがPに等しい場合、またはslice_typeがBに等しく、かつslice_collocated_from_l0_flagが1に等しい場合、slice_collocated_ref_idxは、参照ピクチャリスト0のエントリを意味し、またslice_collocated_ref_idxの値は、0以上からNumRefIdxActive[0]-1以下の範囲とする。
slice_typeがBに等しく、かつslice_collocated_from_l0_flagが0に等しい場合、slice_collocated_ref_idxは、参照ピクチャリスト1のエントリを意味し、またslice_collocated_ref_idxの値は、0以上からNumRefIdxActive[1]-1以下の範囲とする。
slice_collocated_ref_idxが存在しない場合、下記が適用される。
-rpl_info_in_ph_flagが1に等しい場合、slice_collocated_ref_idxの値は、ph_collocated_ref_idxに等しいと推測される。
-その他の場合(rpl_info_in_ph_flagが0に等しい場合)、slice_collocated_ref_idxの値は、0に等しいと推測される。
slice_collocated_ref_idxによって参照されるピクチャは符号化されたピクチャの全てのスライスに対して同じであることが、ビットストリーム適合の要件である。
slice_collocated_ref_idxによって参照される参照ピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値は、それぞれ、現在のピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値と等しく、かつRprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]は0に等しいことが、ビットストリーム適合の要件である。
RprConstraintsActive[i][j]の値は、以下に要約するようにVVC規格のセクション8.3.2で導出されることに留意されたい。
参照ピクチャリスト構築のための復号化プロセス
本プロセスは、非IDRピクチャのスライスごとに復号化プロセスの最初に起動される。参照ピクチャは、参照インデックスを通してアドレス指定される。参照インデックスは、参照ピクチャリストへのインデックスである。Iスライスを復号化する場合、スライスデータの復号化に参照ピクチャリストを使用しない。Pスライスを復号化する場合、スライスデータの復号化に参照ピクチャリスト0(すなわち、RefPicList[0])のみが使用される。Bスライスを復号化する場合、スライスデータの復号化に参照ピクチャリスト0および参照ピクチャリスト1(すなわち、RefPicList[1])の両方が使用される。
非IDRピクチャのスライスごとの復号化プロセスの開始時に、参照ピクチャリストRefPicList[0]およびRefPicList[1]が導出される。参照ピクチャリストは、8.3.3小節で規定されているように、またはスライスデータの復号化の際に、参照ピクチャの作成に使用される。
ピクチャの最初のスライスではない非IDRピクチャのIスライスの場合、RefPicList[0]およびRefPicList[1]が、ビットストリーム適合性チェックのために導出される場合があるが、それらの導出は、現在のピクチャ、または復号順で現在のピクチャに続くピクチャの復号化に必要ではない。ピクチャの最初のスライスではないPスライスの場合、RefPicList[1]が、ビットストリーム適合性チェックのために導出される場合があるが、その導出は、現在のピクチャ、または復号順で現在のピクチャに続くピクチャの復号化に必要ではない。
参照ピクチャリストRefPicList[0]およびRefPicList[1]、参照ピクチャスケーリング比RefPicScale[i][j][0]およびRefPicScale[i][j][1]、ならびに参照ピクチャスケールフラグRprConstraintsActive[0][j]およびRprConstraintsActive[1][j]は、下記のように導出される。
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offsetおよびscaling_win_bottom_offsetは、スケーリング比計算向けのピクチャサイズに適用されるオフセットを特定する。存在しない場合、scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、およびscaling_win_bottom_offsetの値は、それぞれ、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetに等しいと推測される。
SubWidthC*(scaling_win_left_offset+scaling_win_right_offset)の値は、pic_width_in_luma_samples未満であり、SubHeightC*(scaling_win_top_offset+scaling_win_bottom_offset)の値は、pic_height_in_luma_samples未満である。
変数PicOutputWidthLおよびPicOutputHeightLは下記のように導出される。
このPPSを参照する現在のピクチャの参照ピクチャのrefPicOutputWidthLおよびrefPicOutputHeightLが、それぞれ、PicOutputWidthLおよびPicOutputHeightLであるとする。以下の条件の全てを満たすことが、ビットストリーム適合の要件である。
-PicOutputWidthL*2は、refPicWidthInLumaSamples以上である。
-PicOutputHeightL*2は、refPicHeightInLumaSamples以上である。
-PicOutputWidthLは、refPicWidthInLumaSamples*8以下である。
-PicOutputHeightLは、refPicHeightInLumaSamples*8以下である。
-PicOutputWidthL*pic_width_max_in_luma_samplesは、refPicOutputWidthL*(pic_width_in_luma_samples-Max(8,MinCbSizeY))以上である。
-PicOutputHeightL*pic_height_max_in_luma_samplesは、refPicOutputHeightL*(pic_height_in_luma_samples-Max(8,MinCbSizeY))以上である。
NALユニットシンタックス
HEVCと同様に、VVC規格では、NALユニットの基本情報を特定するために、各NALユニットの初めに、全長2バイトの1つのNALユニットヘッダテーブルが、シグナリングされる。表3は、現在のNALユニットヘッダに存在するシンタックス要素を示している。
表3では、最初のビットがforbidden_zero_bitであり、これは、伝送中になんらかのエラーが発生したかどうかを特定するために使用される。0はNALユニットが正常であることを意味し、1はシンタックス違反があることを意味する。したがって、正常なビットストリームの場合、その対応する値は、0に等しいものとする。次のビットは、nuh_reserved_zero_bitであり、これは、将来の使用のために確保され、0に等しい。それに続く6ビットは、NALユニットが属している層を識別するシンタックスnuh_layer_idの値を特定するために使用される。nuh_layer_idの値は、0以上から55以下の範囲である。nuh_layer_idの他の値は、将来の使用のために確保される。その後、シンタックス要素nal_unit_typeが、NALユニットタイプ、すなわち、表4に規定されているような、NALユニットに含まれるRBSPデータ構造のタイプを特定するために使用される。
段階的イントラリフレッシュ
低遅延およびエラー回復は、実用的なビデオ伝送システムで考慮されるべき2つの重要な因子である。IRAPピクチャを定期的に挿入するイントラリフレッシュは、時間的ピクチャ間のエラー伝播を制限するために、かつビットストリームのエラー回復能力を高めるために一般的に使用される。しかし、インター符号化の符号化効率がイントラ符号化よりもはるかに優れているため、固定伝送速度でネットワークを通して送られる場合に、比較的大きなサイズのイントラピクチャは、場合により遅延問題の原因になることがある。このことは、望ましくないネットワーク輻輳およびパケット損失につながる可能性がある。このような問題を解決するために、図5に示すように、複数のインターピクチャ間でイントラ符号化領域を分散する段階的イントラリフレッシュ(GDR)がVVC規格に採用された。図5に示すように、2つの領域が画定される。部分2は、クリーン領域を表している。クリーン領域は、現在のGDR期間にリフレッシュされた画素に相当し、かつダーティ領域は、リフレッシュされていない1つの領域に相当する。部分1は、イントラ符号化が適用された符号化ブロックを表している。GDRの原理は、同じGDR期間内の時間的参照ピクチャのリフレッシュされた領域のみから派生する画素を使用してクリーン領域の画素が再構築されることを保証することである。現在のVVCでは、ピクチャヘッダ内でシグナリングされる3つのGDR関連シンタックス要素ph_gdr_or_irap_pic_flag、ph_gdr_pic_flagおよびph_recovery_poc_cntが存在する。表5は、ピクチャヘッダ内の対応するGDRシグナリングおよび関連付けられた意味を示している。
1に等しいph_gdr_or_irap_pic_flagは、現在のピクチャがGDRまたはIRAPピクチャであることを特定する。0に等しいph_gdr_or_irap_pic_flagは、現在のピクチャがGDRピクチャではなく、かつIRAPピクチャである場合もあるし、そうでない場合もあることを特定する。
1に等しいph_gdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャであることを特定する。0に等しいph_gdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャでないことを特定する。存在しない場合、ph_gdr_pic_flagの値は、0に等しいと推測される。sps_gdr_enabled_flagが0に等しい場合、ph_gdr_pic_flagの値は、0に等しいものとする。
ph_gdr_or_irap_pic_flagが1に等しく、ph_gdr_pic_flagが0に等しい場合、PHに関連付けられたピクチャはIRAPピクチャである。
ph_recovery_poc_cntは、出力順での復号化されたピクチャの回復ポイントを特定する。現在のピクチャがGDRピクチャである場合、変数のrecoveryPointPocValは、以下のように導出される。
現在のピクチャがGDRピクチャであり、CLVSにおける復号順で現在のGDRピクチャに続き、recoveryPointPocValに等しいPicOrderCntValを有するピクチャpicAが存在する場合、ピクチャpicAは回復ポイントピクチャとして参照される。その他の場合、CLVSにおけるrecoveryPointPocValより大きいPicOrderCntValを有する出力順での最初のピクチャが、回復ポイントピクチャとして参照される。回復ポイントピクチャは、復号順で現在のGDRピクチャの前にあってはならない。現在のGDRピクチャに関連付けられ、かつrecoveryPointPocValより小さいPicOrderCntValを有するピクチャは、GDRピクチャの回復ピクチャとして参照される。ph_recovery_poc_cntの値は、0以上からMaxPicOrderCntLsb-1以下の範囲である。
sps_gdr_enabled_flagが1に等しく、現在のピクチャのPicOrderCntValが関連付けられたGDRピクチャのrecoveryPointPocVal以上である場合、出力順での現在の復号化されたピクチャおよび次の復号化されたピクチャは、復号順で関連付けられGDRピクチャより前の、先のIRAPピクチャ(存在すれば)から復号化プロセスを開始することによって作成された対応するピクチャに正確に一致する。
1つのピクチャ内で混在するNALタイプ
1つのピクチャ内のスライスのNALタイプが同一である必要があるHEVC規格とは異なり、1つのピクチャ内でIRAPおよび非IRAPのNALユニットタイプの混在が可能である。このような機能の目的は、サブピクチャを用いる領域ベースランダムアクセスにある。例えば、360度ビデオストリーミングの場合、ある360度ビデオの一部の領域は、他の領域よりもより多くのユーザに視聴される可能性がある。符号化効率と平均ビューポイント切替遅延とのトレードオフを改善するために、より頻繁にIRAPピクチャを使用して、他の領域よりもより視聴されている領域を符号化することができる。このような理由のために、1つのフラグpps_mixed_nalu_types_in_pic_flagがPPSに導入される。フラグが1に等しい場合、そのフラグはPPSを参照する各ピクチャが2つ以上のNALユニットを有し、かつNALユニットが同じ値のnal_unit_typeを有していないことを示す。その他の場合(フラグが0に等しい場合)、PPSを参照する各ピクチャが1つまたは複数のNALユニットを有し、かつPPSを参照する各ピクチャのNALユニットが同じ値のnal_unit_typeを有する。加えて、フラグpps_mixed_nalu_types_in_pic_flagが1に等しい場合、任意の特定のピクチャに対して、一部のNALユニットが1つの特定のIRAP NALユニットタイプを有し、他のものが1つの特定の非IRAP NALユニットタイプを有するという1つのビットストリーム適合制約がさらに適用される。換言すれば、下記のように規定されているように、任意の特定のピクチャのNALユニットは、2つ以上のIRAP NALユニットタイプを有することができず、かつ2つ以上の非IRAP NALユニットタイプを有することができない。
任意の特定のピクチャのVCL NALユニットに対して、下記が適用される。
-pps_mixed_nalu_types_in_pic_flagが0に等しい場合、nal_unit_typeの値はピクチャの全てのVCL NALユニットに対して同じであり、かつピクチャまたはPUは、ピクチャまたはPUの符号化されたスライスNALユニットと同じNALユニットタイプを有すると見なされる。
-その他の場合(pps_mixed_nalu_types_in_pic_flagが1に等しい場合)、下記が適用される。
-ピクチャは、少なくとも2つのサブピクチャを有するものとする。
-ピクチャのVCL NALユニットは、2つ以上の異なるnal_unit_type値を有する。
-GDR_NUTに等しいnal_unit_typeを有するピクチャのVCL NALユニットはない。
-ピクチャの少なくとも1つのサブピクチャのVCL NALユニットが、IDR_W_RADL、IDR_N_LP、またはCRA_NUTに等しいnal_unit_typeの特定の値を有する場合、ピクチャ内の他のサブピクチャのVCL NALユニットは全て、TRAIL_NUTに等しいnal_unit_typeを有するものとする。
現在のVVCでは、mvd_l1_zero_flagは、いずれの条件的制約を伴うことなくピクチャヘッダ(PH)内でシグナリングされる。しかし、フラグmvd_l1_zero_flagによって制御される特性は、スライスが双方向予測スライス(Bスライス)である場合にのみ適用可能である。したがって、フラグシグナリングは、ピクチャヘッダに関連付けられたスライスがBスライスでない場合、冗長となる。
同様に、別の例では、シーケンスパラメータセット(SPS)内でシグナリングされる対応する有効フラグ(sps_bdof_pic_present_flag、sps_dmvr_pic_present_flag)のみが真のときのみ、それぞれph_disable_bdof_flagおよびph_disable_dmvr_flagがPH内でシグナリングされる。しかし、図6に示すように、フラグph_disable_bdof_flagおよびph_disable_dmvr_flagによって制御される特性は、スライスが双方向予測スライス(Bスライス)である場合にのみ適用可能である。したがって、これらの2つのフラグのシグナリングは、ピクチャヘッダに関連付けられたスライスがBスライスでない場合、冗長または無益である。
もう1つの例として、表7に示すように、シンタックス要素ph_collocated_from_l0_flagで、同一位置ピクチャがリスト0またはリスト1からのものであることを示すことが考えられる。別の例としては、図8に示すように、双方向予測の予測のための重み付け表に関するシンタックス要素であるシンタックスpred_weight_table()が考えられる。
問題は、シンタックスph_temporal_mvp_enabled_flagに関連する。現在のVVCでは、TMVP(Temporal motion Vector Prediction)導出のために選択される同一位置ピクチャの解像度が現在のピクチャの解像度と同じであるため、下記に示すようなph_temporal_mvp_enabled_flagの値をチェックするビットストリーム適合制約が存在する。
DPB内で、現在のピクチャと同じ空間分解能を有する参照ピクチャがない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
しかし、現在のVVCでは、同一位置ピクチャの解像度がTMVPの有効化に影響を及ぼすだけではなく、スケーリング比計算向けのピクチャサイズに適用されるオフセットもまたTMVPの有効化に影響を及ぼす。しかし、現在のVVCでは、ph_temporal_mvp_enabled_flagのビットストリーム適合においてオフセットは考慮されていない。
さらに、slice_collocated_ref_idxによって参照されるピクチャが符号化されたピクチャの全てのスライスに対して同じであることが、ビットストリーム適合の要件である。しかし、符号化されたピクチャが複数のスライスを有し、これらの全てのスライスの間で共通の参照ピクチャが存在しない場合、このビットストリーム適合性が満たされる可能性はない。さらに、このようなケースでは、ph_temporal_mvp_enabled_flagは0に制約される必要がある。
現在のVVC規格によれば、IRAPピクチャは、関連付けられたNALユニットの全てが、IRAP NALタイプに属する同じnal_unit_typeを有する1つのピクチャとして参照される。具体的には、以下の記述がVVC規格におけるIRAPピクチャを定義するために使用される。
イントラランダムアクセスポイント(IRAP)ピクチャ:全てのVCL NALユニットがIDR_W_RADL以上からCRA_NUT以下の範囲の同じ値のnal_unit_typeを有する符号化されたピクチャである。
IRAPピクチャは、その復号化プロセスでインター予測を使用せず、CRAピクチャまたはIDRピクチャである場合がある。復号順でのビットストリームの最初のピクチャは、IRAPまたはGDRピクチャである必要がある。参照が必要な場合に必要なパラメータセットが利用可能であるならば、CLVSにおける復号順でのIRAPピクチャおよびそれに続く全ての非RASLピクチャは、復号順でIRAPピクチャより前にあるいずれのピクチャの復号化プロセスも実施することなく、正確に復号化することが可能である。
IRAPピクチャに対するpps_mixed_nalu_types_in_pic_flagの値は、0に等しい。ピクチャに対するpps_mixed_nalu_types_in_pic_flagが0に等しく、かつピクチャの任意のスライスがIDR_W_RADL以上からCRA_NUT以下の範囲のnal_unit_typeを有する場合、ピクチャの全ての他のスライスは、同じ値のnal_unit_typeを有し、かつピクチャはIRAPピクチャであると認識される。
上記のことから分かるように、各IRAPピクチャに対して、そのピクチャが参照する対応するPPSは、そのpps_mixed_nalu_types_in_pic_flagが0に等しくなければならない。同様に、現在のVVC規格では、GDRピクチャは、ピクチャに関連付けられた全てのNALのnal_unit_typeが下記のように規定されたGDR_NUTに等しい場合の1つのピクチャとして参照される。
段階的復号化リフレッシュ(GDR)ピクチャ:各VCL NALユニットがGDR_NUTに等しいnal_unit_typeを有するピクチャである。
1つのGDRピクチャのNALユニットの全てが同じNALタイプを有する必要があることから、GDRピクチャが参照する対応するPPS内のフラグpps_mixed_nalu_types_in_pic_flagは1に等しくすることができない。
その一方で、2つのフラグ、すなわちph_gdr_or_irap_pic_flagおよびph_gdr_pic_flagが、1つのピクチャが1つのIRAPピクチャまたは1つのGDRピクチャであるかどうかを示すためにピクチャヘッダ内でシグナリングされる。フラグph_gdr_or_irap_pic_flagが1に等しく、フラグph_gdr_pic_flagが0に等しい場合、現在のピクチャは、1つのIRAPピクチャである。フラグph_gdr_or_irap_pic_flagが1に等しく、フラグph_gdr_pic_flagが1に等しい場合、現在のピクチャは、1つのGDRピクチャである。現在のVVC規格によれば、PPS内のフラグpps_mixed_nalu_types_in_pic_flagの値を考慮するこなく、これらの2つのフラグは、1または0としてシグナリングされることが許容されている。しかし、前述したように、ピクチャのNALユニットが同じnal_unit_typeを有する場合、つまり、必然的に対応するpps_mixed_nalu_types_in_pic_flagは0である場合にのみ1つのピクチャが1つのIRAPピクチャまたは1つのGDRピクチャとすることができる。したがって、ピクチャヘッダ内の既存のIRAP/GDRシグナリングは、ph_gdr_or_irap_pic_flagおよびph_gdr_pic_flagのいずれかまたは両方が1に等しく(つまり、現在のピクチャがIRAPピクチャまたはGDRピクチャのいずれかであることを示し)、かつ対応するpps_mixed_naly_types_in_pic_flagが1に等しい(つまり、現在のピクチャで複数のNALタイプが存在する)場合に問題がある。
フラグmvd_l1_zero_flag、ph_disable_bdof_flag、およびph_disable_dmvr_flagによって制御される特性が、スライスが双方向予測スライス(Bスライス)である場合にのみ利用可能であるため、本開示の方法に従って、関連付けられたスライスがBスライスである場合にのみこれらのフラグをシグナリングすることを提案する。参照ピクチャリストがPH内でシグナリングされる場合(例えば、rpl_info_in_ph_flag=1)、それは、符号化されたピクチャの全てのスライスがPH内でシグナリングされた同じ参照ピクチャを使用することを意味することを留意されたい。したがって、参照ピクチャリストがPH内でシグナリングされ、かつ現在のピクチャが双方向予測でないことをシグナリングされた参照ピクチャリストが示す場合、フラグmvd_l1_zero_flag、ph_disable_bdof_flagおよびph_disable_dmvr_flagはシグナリングされる必要はない。第1の実施形態では、ピクチャヘッダ内のシンタックスの一部に関して送信される不適切な値に起因する冗長なシグナリングまたは未定義の復号化動作を防ぐために、ピクチャヘッダ(PH)内で送信されるこれらのシンタックスにいくつかの条件が追加される。実施形態に基づく一部の例について、下記に例示するが、ここで、変数num_ref_entries[i][RplsIdx[i]]は、リストi内の参照ピクチャの数を表している。
あるいは、これらの条件をよりコンパクトな形態で記述しても同じ結果が得られる。双方向予測スライス(Bスライス)または双方向予測ピクチャは、少なくとも1つのリスト1参照ピクチャを必ず有しているため、現在のスライス/ピクチャがリスト1の参照ピクチャを有しているかどうかだけをチェックすればよい。代替的な条件チェックの例を下記に示す。
mvd_l1_zero_flagの意味もまた、それがシグナリングされないケースに対処するために修正される。
1に等しいmvd_l1_zero_flagは、mvd_coding(x0,y0,1)シンタックス構造が構文解析されず、かつMvdL1[x0][y0][compIdx]およびMvdCpL1[x0][y0][cpIdx][compIdx]が、compIdx=0..1およびcpIdx=0..2に関して0に等しく設定されていることを示す。0に等しいmvd_l1_zero_flagは、mvd_coding(x0,y0,1)シンタックス構造が構文解析されることを示す。存在しない場合、mvd_l1_zero_flagの値は、0に等しいと推測される。
シンタックス要素ph_disable_dmvr_flagの条件付きシグナリングのいくつかの例を下記に示す。
同様に、代替的な条件チェックの例も下記に示す。
ph_disable_dmvr_flagの意味もまた、それがシグナリングされないケースに対処するために修正される。
1に等しいph_disable_dmvr_flagは、復号器動きベクトル洗練に基づくインター双予測がPHに関連付けられたスライスでは無効であることを特定する。0に等しいph_disable_dmvr_flagは、復号器動きベクトル洗練に基づくインター双予測がPHに関連付けられたスライスで有効である場合もあるし、有効でない場合もあることを特定する。
ph_disable_dmvr_flagが存在しない場合、下記が適用される。
-sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが0に等しい場合、ph_disable_dmvr_flagの値は0に等しいと推測される。
-sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが1に等しい場合、ph_disable_dmvr_flagの値は1に等しいと推測される。
-その他の場合(sps_dmvr_enabled_flagが0に等しい場合)、ph_disable_dmvr_flagの値は1に等しいと推測される。
ph_disable_dmvr_flagの値が存在しない場合のその値の代替的な導出方法を下記に示す。
-全ての条件がph_disable_dmvr_flagの値の導出のために考慮され、その値が明確にシグナリングされるか、または暗黙に導出される場合:sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが0に等しい場合、ph_disable_dmvr_flagの値は0に等しいと推測される。
-sps_dmvr_enabled_flagが0に等しく、かつsps_dmvr_pic_present_flagが0に等しい場合、ph_disable_dmvr_flagの値は1に等しいと推測される。
-sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが0に等しい場合、ph_disable_dmvr_flagの値はXに等しいと推測される(Xは明確にシグナリングされる)。
-sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが1に等しく、またnum_ref_entries[1][RplsIdx[1]]>0の場合、ph_disable_dmvr_flagの値はXに等しいと推測される(Xは明確にシグナリングされる)。
-その他の場合(sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが1に等しく、またnum_ref_entries[1][RplsIdx[1]]==0の場合)、ph_disable_dmvr_flagの値は1に等しいと推測される。
シンタックス要素ph_disable_dmvr_flagは、第3および第4の条件下で明確にシグナリングされるため、ph_disable_dmvr_flagが存在しない場合、ph_disable_dmvr_flagの導出からこれらが省かれる場合がある。
ph_disable_dmvr_flagが存在しない場合、下記が適用される。
-sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが0に等しい場合、ph_disable_dmvr_flagの値は0に等しいと推測される。
-sps_dmvr_enabled_flagが0に等しく、かつsps_dmvr_pic_present_flagが0に等しい場合、ph_disable_dmvr_flagの値は1に等しいと推測される。
-その他の場合(sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが1に等しく、またnum_ref_entries[1][RplsIdx[1]]==0の場合)、ph_disable_dmvr_flagの値は1に等しいと推測される。
条件は下記のように簡略に書き換えることができる。
ph_disable_dmvr_flagが存在しない場合、下記が適用される。
-sps_dmvr_enabled_flagが1に等しく、かつsps_dmvr_pic_present_flagが0に等しい場合、ph_disable_dmvr_flagの値は0に等しいと推測される。
-その他の場合(sps_dmvr_enabled_flagが0に等しいか、またはsps_dmvr_pic_present_flagが1に等しい場合)、ph_disable_dmvr_flagの値は1に等しいと推測される。
ph_disable_dmvr_flagの値が存在しない場合のその値の別の代替的な導出方法を下記に示す。
ph_disable_dmvr_flagが存在しない場合、下記が適用される。
-sps_dmvr_pic_present_flagが0に等しい場合)、ph_disable_dmvr_flagの値は1-sps_dmvr_enabled_flagに等しいと推測される。
-sps_dmvr_pic_present_flagが1に等しく、かつrpl_info_in_ph_flagが0に等しい場合、ph_disable_dmvr_flagの値は1-sps_dmvr_enabled_flagに等しいと推測される。
-sps_dmvr_pic_present_flagが1に等しく、かつrpl_info_in_ph_flagが1に等しく、さらにnum_ref_entries[1][RplsIdx[1]]>0の場合、ph_disable_dmvr_flagの値は1-sps_dmvr_enabled_flagに等しいと推測される。
-その他の場合(sps_dmvr_pic_present_flagが1に等しく、かつrpl_info_in_ph_flagが1に等しく、さらにnum_ref_entries[1][RplsIdx[1]]==0の場合)、ph_disable_dmvr_flagの値は1に等しいと推測される。
シンタックス要素ph_disable_dmvr_flagは、第2および第3の条件下で明確にシグナリングされるため、ph_disable_dmvr_flagが存在しない場合、ph_disable_dmvr_flagの導出からこれらが省かれる場合がある。
ph_disable_dmvr_flagが存在しない場合、下記が適用される。
-sps_dmvr_pic_present_flagが0に等しい場合、ph_disable_dmvr_flagの値は1-sps_dmvr_enabled_flagに等しいと推測される。
-その他の場合、ph_disable_dmvr_flagの値は、1に等しいと推測される。
シンタックス要素ph_disable_bdof_flagの条件付きシグナリングのいくつかの例を下記に示す。
同様に、代替的な条件チェックの例も下記に示す。
ph_disable_bdof_flagの意味もまた、それがシグナリングされないケースに対処するために修正される。
1に等しいph_disable_bdof_flagは、双方向指向性光学的フローインター予測に基づくインター双予測がPHに関連付けられたスライスでは無効であることを特定する。0に等しいph_disable_bdof_flagは、双方向指向性光学的フローインター予測に基づくインター双予測がPHに関連付けられたスライスで有効である場合もあるし、有効でない場合もあることを特定する。
ph_disable_bdof_flagが存在しない場合、下記が適用される。
-sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は0に等しいと推測される。
-sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが1に等しい場合、ph_disable_dmvr_flagの値は1に等しいと推測される。
-その他の場合(sps_bdof_enabled_flagが0に等しい場合)、ph_disable_bdof_flagの値は1に等しいと推測される。
ph_disable_bdof_flagの値が存在しない場合のその値の代替的な導出方法を下記に示す。
全ての条件がph_disable_bdof_flagの値の導出のために考慮され、その値が明確にシグナリングされるか、または暗黙に導出される場合:
-sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は0に等しいと推測される。
-sps_bdof_enabled_flagが0に等しく、かつsps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は1に等しいと推測される。
-sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが0に等しい場合、ph_disable_bdof_flagの値はXに等しいと推測される(Xは明確にシグナリングされる)。
-sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが1に等しく、またnum_ref_entries[1][RplsIdx[1]]>0の場合、ph_disable_bdof_flagの値はXに等しいと推測される(Xは明確にシグナリングされる)。
-その他の場合(sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが1に等しく、またnum_ref_entries[1][RplsIdx[1]]==0の場合)、ph_disable_bdof_flagの値は1に等しいと推測される。
シンタックス要素ph_disable_bdof_flagは、第3および第4の条件下で明確にシグナリングされるため、ph_disable_bdof_flagが存在しない場合、ph_disable_bdof_flagの導出からこれらが省かれる場合がある。
ph_disable_bdof_flagが存在しない場合、下記が適用される。
-sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は0に等しいと推測される。
-sps_bdof_enabled_flagが0に等しく、かつsps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は1に等しいと推測される。
-その他の場合(sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが1に等しく、さらにrpl_info_in_ph_flagが1に等しく、またnum_ref_entries[1][RplsIdx[1]]==0の場合)、ph_disable_bdof_flagの値は1に等しいと推測される。
条件は下記のように簡略に書き換えることができる。
ph_disable_bdof_flagが存在しない場合、下記が適用される。
-sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は0に等しいと推測される。
-その他の場合(sps_bdof_enabled_flagが0に等しいか、またはsps_bdof_pic_present_flagが1に等しい場合)、ph_disable_bdof_flagの値は1に等しいと推測される。
ph_disable_bdof_flagの値が存在しない場合のその値の別の代替的な導出方法を下記に示す。
ph_disable_bdof_flagが存在しない場合、下記が適用される。
-sps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は1-sps_bdof_enabled_flagに等しいと推測される。
-sps_bdof_pic_present_flagが1に等しく、かつrpl_info_in_ph_flagが0に等しい場合、ph_disable_bdof_flagの値は1-sps_bdof_enabled_flagに等しいと推測される。
-sps_bdof_pic_present_flagが1に等しく、かつrpl_info_in_ph_flagが1に等しく、さらにnum_ref_entries[1][RplsIdx[1]]>0の場合、ph_disable_bdof_flagの値は1-sps_bdof_enabled_flagに等しいと推測される。
-その他の場合(sps_bdof_pic_present_flagが1に等しく、かつrpl_info_in_ph_flagが1に等しく、さらにnum_ref_entries[1][RplsIdx[1]]==0の場合)、ph_disable_bdof_flagの値は1に等しいと推測される。
シンタックス要素ph_disable_bdof_flagは、第2および第3の条件下で明確にシグナリングされるため、ph_disable_bdof_flagが存在しない場合、ph_disable_bdof_flagの導出からこれらが省かれる場合がある。
ph_disable_bdof_flagが存在しない場合、下記が適用される。
-sps_bdof_pic_present_flagが0に等しい場合、ph_disable_bdof_flagの値は1-sps_bdof_enabled_flagに等しいと推測される。
-その他の場合、ph_disable_bdof_flagの値は、1に等しいと推測される。
さらに、シンタックス要素ph_collocated_from_l0_flagおよびweight_table()に対するシグナリング条件は、2つのタイプのシンタックス要素が関連付けられたスライスがBスライスである場合にのみ利用可能であるため、修正される。修正されるシンタックス要素シグナリングの例を下記の表9から11に示す。
ph_collocated_from_l0_flagの意味もまた、それがシグナリングされないケースに対処するために修正される。
1に等しいph_collocated_from_l0_flagは、時間的動きベクトル予測に使用される同一位置ピクチャが参照ピクチャリスト0から導出されることを特定する。0に等しいph_collocated_from_l0_flagは、時間的動きベクトル予測に使用される同一位置ピクチャが参照ピクチャリスト1から導出されることを特定する。
ph_collocated_from_l0_flagが存在しない場合、下記が適用される。
-num_ref_entries[0][RplsIdx[0]]が1より大きい場合、ph_collocated_from_l0_flagの値は1であると推測される。
-その他の場合(num_ref_entries[1][RplsIdx[1]]が1より大きい場合)、ph_collocated_from_l0_flagの値は0であると推測される。
同様に、代替的な条件チェックの例も下記に示す。
pred_weight_table()内のシンタックス要素の意味もまた、それらがシグナリングされないケースに対処するために修正される。
pps_weighted_bipred_flagおよびwp_info_in_ph_flagの両方が1に等しい場合、num_l1_weightsは参照ピクチャリスト1内のエントリに対してシグナリングされた重みの数を特定する。num_l1_weightsの値は、0以上からMin(15,num_ref_entries[1][RplsIdx[1]])以下の範囲とする。
変数NumWeightsL1は以下のように導出される。
pred_weight_table()内のシンタックス要素の意味における、num_l1_weightsの値が存在しない場合のその値の代替的な導出方法を下記に示す。
pps_weighted_bipred_flagおよびwp_info_in_ph_flagの両方が1に等しい場合、num_l1_weightsは参照ピクチャリスト1内のエントリに対してシグナリングされた重みの数を特定する。num_l1_weightsの値は、0以上からMin(15,num_ref_entries[1][RplsIdx[1]])以下の範囲とする。存在しない場合、num_l1_weightsの値は、0に等しいと推測される。
変数NumWeightsL1は以下のように導出される。
pred_weight_table()内のシンタックス要素の意味における、num_l1_weightsの値が存在しない場合のその値の別の代替的な導出方法を下記に示す。
概念的に、シグナリング冗長ビットを避けるためにBスライスでのみ利用可能な任意のシンタックス要素に関するリスト0およびリスト1の両方の参照ピクチャリストからの参照ピクチャを現在のピクチャが有するかどうかをチェックするためにシグナリング条件を追加することを提案する。チェック条件は、参照ピクチャリスト(例えば、リスト0/リスト1の参照ピクチャリスト)の両方のサイズをチェックするといった前述の方法に限定されず、またチェック条件は、現在のピクチャがリスト0およびリスト1の両方の参照ピクチャリストからの参照ピクチャを有するかどうかを示す任意の他の方法であってもよい。例えば、フラグは、現在のピクチャがリスト0およびリスト1の両方の参照ピクチャを有するかどうかを示すためにシグナリングされてよい。
PH内でシンタックス要素はシグナリングされないが、参照ピクチャリスト情報がシグナリングされる場合、シンタックス要素の値は、現在のピクチャがリスト0およびリスト1の両方の参照ピクチャを有するか、またはリスト0かリスト1かどちらかのみの参照ピクチャを有するかの情報を使用して導出される。一例では、ph_collocated_from_l0_flagがシグナリングされない場合、その値は、現在のピクチャが有する唯一の参照ピクチャであると推測される。別の例では、sps_bdof_enabled_flagが1に等しく、かつsps_bdof_pic_present_flagが1に等しいが、ph_disable_bdof_flagがシグナリングされない場合、それは、ph_disable_bdof_flagに対する提案したシグナリング条件に従ってnum_ref_entries[0][RplsIdx[0]]が0に等しいか、またはnum_ref_entries[1][RplsIdx[1]]が0に等しいかを暗に示している。したがって、この条件下でph_disable_bdof_flagはシグナリングされず、1であると推測される。現在のVVCでは、同一位置ピクチャの解像度がTMVPの有効化に影響を及ぼす可能性があるだけではなく、スケーリング比計算向けのピクチャサイズのために適用されるオフセットもまたTMVPの有効化に影響を及ぼす可能性がある。しかし、現在のVVCでは、ph_temporal_mvp_enabled_flagのビットストリーム適合においてオフセットは考慮されていない。第2の実施形態では、下記に示すように、ph_temporal_mvp_enabled_flagの値が、スケーリング比計算向けのピクチャサイズに適用されるオフセットに依存することを要求する現在のVVCにビットストリーム適合制約を加えることを提案する。
DPB内で、現在のピクチャと同じ空間分解能およびスケーリング比計算向けのピクチャサイズに適用される同じオフセットを有する参照ピクチャがない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
上記の文章は、次のように別の方法で書くこともできる。
DPB内で、0に等しい関連変数値RprConstraintsActive[i][j]を有する参照ピクチャがない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
現在のVVCでは、slice_collocated_ref_idxによって参照されるピクチャが符号化されたピクチャの全てのスライスに対して同じであることが、ビットストリーム適合の要件である。しかし、符号化されたピクチャが複数のスライスを有し、これらの全てのスライスの間で共通の参照ピクチャが存在しない場合、このビットストリーム適合性が満たされる可能性はない。本開示の第3の実施形態では、ph_temporal_mvp_enabled_flagに対するビットストリーム適合の要件は、現在のピクチャの全てのスライスの間で共通の参照ピクチャが存在するかどうかを考慮に入れるように修正される。実施形態に基づいて、VVC規格に対するいくつかの例示的変形形態を以下に例示する。
ph_temporal_mvp_enabled_flagは、PHに関連付けられたスライスのインター予測に時間的動きベクトル予測子が使用できるかどうかを特定する。ph_temporal_mvp_enabled_flagが0に等しい場合、PHに関連付けられたスライスのシンタックス要素は、スライスの復号化の際に時間的動きベクトル予測子が使用されないように制約されるものとする。その他の場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子は、PHに関連付けられたスライスの復号化の際に使用されてよい。存在しない場合、ph_temporal_mvp_enabled_flagの値は、0に等しいと推測される。DPB内で、現在のピクチャと同じ空間分解能を有する参照ピクチャがない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。PHに関連付けられたスライスの全てで共通の参照ピクチャが存在しない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
ph_temporal_mvp_enabled_flagは、PHに関連付けられたスライスのインター予測に時間的動きベクトル予測子が使用できるかどうかを特定する。ph_temporal_mvp_enabled_flagが0に等しい場合、PHに関連付けられたスライスのシンタックス要素は、スライスの復号化の際に時間的動きベクトル予測子が使用されないように制約されるものとする。その他の場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子は、PHに関連付けられたスライスの復号化の際に使用されてよい。存在しない場合、ph_temporal_mvp_enabled_flagの値は、0に等しいと推測される。DPB内で、現在のピクチャと同じ空間分解能を有する参照ピクチャがない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。PHに関連付けられたインタースライスの全てで共通の参照ピクチャが存在しない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
ph_temporal_mvp_enabled_flagは、PHに関連付けられたスライスのインター予測に時間的動きベクトル予測子が使用できるかどうかを特定する。ph_temporal_mvp_enabled_flagが0に等しい場合、PHに関連付けられたスライスのシンタックス要素は、スライスの復号化の際に時間的動きベクトル予測子が使用されないように制約されるものとする。その他の場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子は、PHに関連付けられたスライスの復号化の際に使用されてよい。存在しない場合、ph_temporal_mvp_enabled_flagの値は、0に等しいと推測される。DPB内で、現在のピクチャと同じ空間分解能を有する参照ピクチャがない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。PHに関連付けられた非イントラスライスの全てで共通の参照ピクチャが存在しない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
一例では、slice_collocated_ref_idxに対するビットストリーム適合は、下記のように簡略化される。
slice_collocated_ref_idxによって参照される参照ピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値は、それぞれ、現在のピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値と等しく、かつRprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]は0に等しいことが、ビットストリーム適合の要件である。
pps_mixed_nalu_types_in_pic_flagの値が1に等しい場合、PPSを参照する各ピクチャが2つ以上のNALユニットを有するが、それらのNALユニットが同じnal_unit_typeを有していない。他方では、現在のピクチャヘッダシグナリングでは、関連付けられたPPS内のフラグpps_mixed_nalu_types_in_pic_flagの値が1に等しい場合であっても、ph_gdr_or_irap_pic_flagおよびph_gdr_pic_flagの値は1としてシグナリングされることが許容されている。1つのIRAPピクチャまたは1つのGDRピクチャのNALユニットが同じnal_unit_typeを有していなければならないため、このようなシグナリングシナリオは、許容されるべきではない。
一例では、PPS内のpps_mixed_nalu_types_in_pic_flagの値に対して、ピクチャヘッダ内のフラグph_gdr_or_irap_pic_flagの存在を条件付けることを提案する。具体的には、pps_mixed_nalu_types_in_pic_flagの値が0に等しい場合にのみph_gdr_or_irap_pic_flagがシグナリングされる。その他の場合、フラグpps_mixed_nalu_types_in_pic_flagが1に等しい場合、フラグph_gdr_or_irap_pic_flagはシグナリングされず、かつ0であると推測される。表12は、提案した修正を適用したものを例示している。
一例では、フラグpps_mixed_nalu_types_in_pic_flagが1に等しい場合、シグナリングされたフラグph_gdr_or_irap_pic_flagの対応する値が1に等しくなることを要求するために、1つのビットストリーム適合制約を提案する。具体的には、提案するビットストリーム適合制約は、以下のように特定することができる。
1に等しいph_gdr_or_irap_pic_flagは、現在のピクチャがGDRまたはIRAPピクチャであることを特定する。0に等しいph_gdr_or_irap_pic_flagは、現在のピクチャがGDRピクチャではなく、かつIRAPピクチャである場合もあるし、そうでない場合もあることを特定する。pps_mixed_nalu_types_in_pic_flagの値が1に等しい場合、ph_gdr_or_irap_pic_flagの値は0に等しいものとする。
一例では、pps_mixed_nalu_types_in_pic_flagのシグナリングを、PPSレベルから、ピクチャレベル、スライスレベル、またはその他の符号化レベルに移行することを提案する。例えば、フラグがピクチャヘッダに移行されると仮定すると、フラグの名前はph_mixed_nalu_type_in_pic_flagに変更される可能性がある。追加として、ph_gdr_or_irap_pic_flagのシグナリングを条件付けるためにフラグを使用することを提案する。具体的には、フラグph_mixed_nalu_type_in_pic_flagが0に等しい場合にのみph_gdr_or_rap_pic_flagがシグナリングされる。その他の場合、フラグph_mixed_nalu_type_in_pic_flagが1の場合、フラグph_gdr_or_rap_pic_flagsはシグナリングされず、かつ0であると推測される。別の例では、ph_mixed_nalu_type_in_pic_flagの値が1に等しい場合、ph_gdr_or_irap_pic_flagの値は0に等しくなければならないといったビットストリーム適合制約を加えることを提案する。さらに別の例では、ph_mixed_nalu_type_in_pic_flagの存在を条件付けるためにph_gdr_or_irap_pic_flagを使用することを提案する。具体的には、ph_gdr_or_rap_pic_flagの値が0に等しい場合にのみフラグph_mixed_nalu_type_in_pic_flagがシグナリングされる。その他の場合、ph_gdr_or_rap_pic_flagの値が1に等しい場合、フラグph_mixed_nalu_type_in_pic_flagはシグナリングされず、かつ常に0であると推測される。
一例では、IRAPピクチャでもGDRピクチャでもないピクチャのみにpps_mixed_nalu_types_in_pic_flagの値を適用することを提案する。具体的には、このような方法によって、pps_mixed_nalu_types_in_pic_flagの意味を以下のように修正する必要がある。
1に等しいpps_mixed_nalu_types_in_pic_flagは、PPSを参照するIRAPピクチャでもGDRピクチャでもない各ピクチャが2つ以上のVCL NALユニットを有し、かつVCL NALユニットは同じ値のnal_unit_typeを有していないことを特定する。0に等しいpps_mixed_nalu_types_in_pic_flagは、PPSを参照するIRAPピクチャでもGDRピクチャでもない各ピクチャが1つまたは複数のVCL NALユニットを有し、かつPPSを参照する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有していることを特定する。
他方では、現在のVVC規格では、1つのGDRピクチャのNALユニットの全てがGDR_NUTに等しい同じnal_unit_typeを有していなければならないことが要求される。pps_mixed_nal_types_in_pic_flagの対応する値が0に等しくなるようにGDRピクチャの定義に以下のビットストリーム適合制約が適用される。
段階的復号化リフレッシュ(GDR)ピクチャ:各VCL NALユニットがGDR_NUTに等しいnal_unit_typeを有するピクチャである。GDRピクチャに対するpps_mixed_nalu_types_in_pic_flagの値は0に等しい。ピクチャに対するpps_mixed_nalu_types_in_pic_flagが0に等しく、かつピクチャの任意のスライスがGDR_NUTであるnal_unit_typeを有する場合、ピクチャの全ての他のスライスは、同じ値のnal_unit_typeを有し、かつピクチャの最初のスライスの受信後にピクチャがGDRピクチャであると認識される。
別の実施形態では、NALユニットヘッダからGDR NALユニットタイプを削除するの同時に、現在のピクチャがGDRピクチャであるかどうかを示すシンタックス要素ph_gdr_or_irap_pic_flagおよびph_gdr_pic_flagのみを使用することを提案する。
pps_mixed_nalu_types_in_pic_flagの制約がIRAPピクチャおよびGDRピクチャの両方に適用される上記の方法とは異なり、以下では、制約がIRAPピクチャに適用されるが、GDRピクチャには適用されない3つの方法を提案する。
一例では、PPS内のpps_mixed_nalu_types_in_pic_flagの値に対して、ピクチャヘッダ内のフラグph_gdr_pic_flagの存在を条件付けることを提案する。具体的には、pps_mixed_nalu_types_in_pic_flagの値が0に等しい場合にのみフラグph_gdr_pic_flagがシグナリングされる。その他の場合、フラグpps_mixed_nalu_types_in_pic_flagが1に等しい場合、フラグph_gdr_pic_flagはシグナリングされず、かつ0であると推測され、すなわち、現在のピクチャは1つのGDRピクチャにはなり得ない。対応するピクチャヘッダテーブル(表13)は、提案したシグナリング条件が適用された後、以下のように修正される。
1に等しいph_gdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャであることを特定する。0に等しいph_gdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャでないことを特定する。存在しない場合、ph_gdr_pic_flagの値は、pps_mixed_nalu_types_in_pic_flagが0の場合は0に等しく、pps_mixed_nalu_types_in_pic_flagが1の場合はph_gdr_or_irap_pic_flagの値に等しいと推測される。sps_gdr_enabled_flagが0に等しい場合、ph_gdr_pic_flagの値は、0に等しいものとする。
一例では、ph_gdr_or_irap_pic_flagが1であり、かつpps_mixed_nalu_types_in_pic_flagが1である場合ph_gdr_pic_flagは1に等しくなければならないといった1つのビットストリーム適合制約を導入することを提案し、これは、以下のように特定される:
1に等しいph_gdr_pic_flagは、PHに関連付けられたピクチャはGDRピクチャであることを特定する。0に等しいph_gdr_pic_flagは、PHに関連付けられたピクチャはGDRピクチャではないことを特定する。存在しない場合、ph_gdr_pic_flagの値は、0に等しいと推測される。sps_gdr_enabled_flagが0に等しい場合、ph_gdr_pic_flagの値は、0に等しいものとする。ph_gdr_or_irap_pic_flagが1に等しく、かつpps_mixed_nalu_types_in_pic_flagが1に等しい場合、ph_gdr_pic_flagの値は1に等しくなければならない。ph_gdr_or_irap_pic_flagが1に等しく、ph_gdr_pic_flagが0に等しい場合、PHに関連付けられたピクチャはIRAPピクチャである。
一例では、非IRAPピクチャのみにフラグpps_mixed_nalu_types_in_pic_flagを適用することを提案する。具体的には、この方法では、pps_mixed_nalu_types_in_pic_flagの意味は以下のように修正される必要がある:
1に等しいpps_mixed_nalu_types_in_pic_flagは、PPSを参照する各非IRAPピクチャが2つ以上のVCL NALユニットを有し、かつVCL NALユニットが同じ値のnal_unit_typeを有していないことを特定する。0に等しいpps_mixed_nalu_types_in_pic_flagは、PPSを参照する各非IRAPピクチャが1つまたは複数のVCL NALユニットを有し、かつPPSを参照する各ピクチャのVCL NALユニットが同じ値のnal_unit_typeを有することを特定する。
上記方法は、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、デジタル信号プロセッサ(Digital Signal Processor:DSP)、デジタル信号処理デバイス(Digital Signal Processing Device:DSPD)、プログラマブル論理デバイス(Programmable Logic Device:PLD)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサまたはその他の電子的コンポーネントを含む、1つまたは複数の回路を備えた装置を使用して実行することができる。装置は、前述の方法を実施するために、他のハードウェアまたはソフトウェアコンポーネントと組み合わせた回路を使用してもよい。上記に開示した各モジュール、サブモジュール、ユニット、またはサブユニットは、1つまたは複数の回路を使用して少なくとも部分的に実装されてよい。
図6は、本開示のいくつかの実装形態に従ったビデオ符号化のための例示的装置を示すブロック図である。装置600は、モバイル電話、タブレットコンピュータ、デジタルブロードキャスト端末、タブレットデバイスまたは携帯情報端末などの端末であってよい。
図6に示すように、装置600は、処理コンポーネント602、メモリ604、電源供給コンポーネント606、マルチメディアコンポーネント608、オーディオコンポーネント610、入力/出力(Input/Output:I/O)インターフェース612、センサコンポーネント614、および通信コンポーネント616のうち1つまたは複数を含んでいてもよい。
処理コンポーネント602は、通常、表示、電話、データ通信、カメラ操作および録音動作に関する操作など、装置600の全体的な操作を制御する。処理コンポーネント602は、上記方法のステップの全てまたは一部を完了するための命令を実行する1つまたは複数のプロセッサ620を含んでいてもよい。さらに、処理コンポーネント602は、処理コンポーネント602と他のコンポーネントとの間の相互作用を促進する1つまたは複数のモジュールを含んでいてもよい。例えば、処理コンポーネント602は、マルチメディアコンポーネント608と処理コンポーネント602との間の相互作用を促進するマルチメディアモジュールを含んでいてもよい。
メモリ604は、装置600の操作をサポートするために様々なタイプのデータを記憶するように構成される。そのようなデータの例としては、装置600上で動作する任意のアプリケーションまたは方法に対する命令、連絡先データ、電話帳データ、メッセージ、写真、ビデオ、などが挙げられる。メモリ604は、任意のタイプの揮発性もしくは不揮発性記憶デバイスまたはこれらの組み合わせによって実装されてもよく、またはメモリ604は、静的ランダムアクセスメモリ(Static Random Access Memory:SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(Electrically Erasable Programmable Read-Only Memory:EEPROM)、消去可能プログラマブル読み取り専用メモリ(Erasable Programmable Read-Only Memory:EPROM)、プログラマブル読み取り専用メモリ(Programmable Read-Only Memory:PROM)、読み取り専用メモリ(Read-Only Memory:ROM)、磁気メモリ、フラッシュメモリ、磁気ディスクまたはコンパクトディスクであってもよい。
電源供給コンポーネント606は、装置600の異なるコンポーネントに電力を供給する。電源供給コンポーネント606は、電源供給管理システム、1つまたは複数の電源供給部、および装置600の電力を生成、管理、および分配することに関する他のコンポーネントを含んでいてもよい。
マルチメディアコンポーネント608は、装置600とユーザとの間の出力インターフェースを提供するスクリーンを含む。いくつかの例では、スクリーンは、液晶ディスプレイ(Liquid Crystal Display:LCD)およびタッチパネル(Touch Panel:TP)を含む場合がある。スクリーンがタッチパネルを含む場合、スクリーンは、ユーザからの入力信号を受信するタッチスクリーンとして実装されてよい。タッチパネルは、タッチパネルへの接触、スライド、およびジェスチャを検出する1つまたは複数のタッチセンサを含んでいてもよい。タッチセンサは、接触またはスライド動作の境界のみを検出するだけではなく、接触またはスライド動作に関連する期間および圧力も検出することができる。いくつかの例では、マルチメディアコンポーネント608は、フロントカメラおよび/またはリアカメラを含んでいてもよい。装置600が、撮影モードまたはビデオモードなどの動作モードの場合、フロントカメラおよび/またはリアカメラは、外部マルチメディアデータを受信することができる。
オーディオコンポーネント610は、音声信号を出力および/または入力するように構成される。例えば、オーディオコンポーネント610は、マイクロフォン(MICrophone:MIC)を含む。装置600が、コールモード、録音モード、および音声認識モードなどの動作モードの場合、マイクロフォンは、外部音声信号を受信するように構成される。受信された音声信号は、さらに、メモリ604に記憶されるか、または通信コンポーネント616を介して送信されてよい。いくつかの例では、オーディオコンポーネント610は、音声信号を出力するスピーカーをさらに含んでいてもよい。
I/Oインターフェース612は、処理コンポーネント602と周辺装置インターフェースモジュールとの間にインターフェースを形成する。上記の周辺装置インターフェースモジュールは、キーボード、クリックホイール、ボタンなどであってもよい。これらのボタンとしては、ホームボタン、ボリュームボタン、スタートボタン、およびロックボタンを挙げることができるが、これらに限定されない。
センサコンポーネント614は、装置600に関する異なる態様の状態評価を提供するための1つまたは複数のセンサを含む。例えば、センサコンポーネント614は、装置600のオン/オフ状態、およびコンポーネントの相対位置を検出することができる。例えば、コンポーネントは、装置600のディスプレイおよびキーパッドである。センサコンポーネント614はまた、装置600または装置600のコンポーネントの配置変化、装置600に対するユーザの接触の存在もしくは不存在、装置600の方向もしくは加速/減速、および装置600の温度変化を検出することもできる。センサコンポーネント614は、なんらかの物理的接触を伴わずに近くの対象物の存在を検出するように構成された近接センサを含んでいてもよい。センサコンポーネント614は、イメージングアプリケーションで使用されるCMOSまたはCCD画像センサなどの光学的センサを含んでいてもよい。いくつかの例では、センサコンポーネント614は、加速センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、または温度センサをさらに含んでいてもよい。
通信コンポーネント616は、装置600と他のデバイスとの間の有線または無線通信を促進するように構成される。装置600は、WiFi、4Gまたはこれらの組み合わせなどの通信規格に基づいて、無線ネットワークにアクセスすることができる。一例では、通信コンポーネント616は、ブロードキャスト信号またはブロードキャスト関連情報を、ブロードキャストチャネルを介して外部ブロードキャスト管理システムから受信する。一例では、通信コンポーネント616は、短距離通信を促進するための近距離無線通信(Near Field Communication:NFC)モジュールをさらに含んでいてもよい。例えば、NFCモジュールは、無線周波数識別情報(Radio Frequency IDentification:RFID)技術、赤外線データ協会(Infrared Data Association:IrDA)技術、超広帯域(Ultra-Wide Band:UWB)技術、ブルートゥース(登録商標)(BlueTooth:BT)技術、および他の技術に基づいて実装されてよい。
一例では、装置600は、前述の方法を実施するために、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、ログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサまたはその他の電子的要素のうち1つまたは複数によって実装されてよい。
非一時的コンピュータ可読記憶媒体は、例えば、ハードディスクドライブ(Hard Disk Drive:HDD)、ソリッドステートドライブ(Solid-State Drive:SSD)、フラッシュメモリ、ハイブリッドドライブもしくはソリッドステートハイブリッドドライブ(Solid-State Hybrid Drive:SSHD)、読み取り専用メモリ(ROM)、コンパクトディスク読み取り専用メモリ(Compact Disc Read-Only Memory:CD-ROM)、磁気テープ、フロッピーディスクなどであってよい。
図7は、本開示のいくつかの実装形態に従ったビデオ符号化の例示的プロセスを示すフロー図である。
ステップ702で、プロセッサ620は、PPSを参照するか、それに対応するか、またはそれに関連付けられたピクチャが1つまたは複数のNALユニットを含んでいるかどうか、および、1つまたは複数のNALユニットが同じNALユニットタイプを有しているかどうかを特定するPPS内の第1のシンタックス要素を受信する。
ステップ704で、プロセッサ620は、PHを参照するか、それに対応するか、またはそれに関連付けられたピクチャがIRAPピクチャまたはGDRピクチャであるかどうかを特定するPH内の第2のシンタックス要素を受信する。
ステップ706で、プロセッサ620は、第2のシンタックス要素の値に基づいて第1のシンタックス要素の値を判定する。
いくつかの例では、プロセッサ620は、復号器に実装される。
いくつかの例では、1に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが2つ以上のVCL NALユニットを含んでおり、かつ2つ以上のVCL NALユニットが同じNALユニットタイプを有していないことを特定し、また0に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが1つまたは複数のVCL NALユニットを含んでおり、かつ1つまたは複数のVCL NALユニットが同じNALユニットタイプを有していることを特定する。
いくつかの例では、1に等しい第2のシンタックス要素は、PHを参照するか、それに対応するか、またはそれに関連付けられたピクチャがIRAPピクチャまたはGDRピクチャであることを特定し、また0に等しい第2のシンタックス要素は、PHを参照するか、それに対応するか、またはそれに関連付けられたピクチャが、IRAPピクチャでもGDRピクチャでもないことを特定する。
いくつかの例では、プロセッサ620は、ピクチャがIRAPピクチャまたはGDRピクチャであると判定するのに応じて、第1のシンタックス要素の値が0になるように要求するために、第1のシンタックス要素に対して制約を適用することによって、第2のシンタックス要素の値に基づいて第1のシンタックス要素の値を制約する。
図8は、本開示のいくつかの実装形態に従ったビデオ符号化の例示的プロセスを示すフ
ロー図である。
ステップ802で、プロセッサ620は、ピクチャが1つまたは複数のNALユニットを含むかどうか、および、1つまたは複数のNALユニットが同じNALユニットタイプを有するかどうかを特定する第1のシンタックス要素を受信する。
ステップ804で、プロセッサ620は、第1のシンタックス要素に基づいて、ピクチャに関連付けられたPH内の第2のシンタックス要素を判定する。
いくつかの例では、プロセッサ620は、復号器に実装される。
いくつかの例では、第2のシンタックス要素は、ピクチャがGDRピクチャまたはIRAPピクチャであるかどうかを特定する。
いくつかの例では、第1のシンタックス要素はピクチャに関連付けられたPPS内でシグナリングされる。
いくつかの例では、第1のシンタックス要素は、前述したようにpps_mixed_nalu_types_in_pic_flagであってもよい。
いくつかの例では、プロセッサ620は、第1のシンタックス要素が0に等しいと判定するのに応じて、第2のシンタックス要素がPH内でシグナリングされると判定することと、第1のシンタックス要素が1に等しいと判定するのに応じて、第2のシンタックス要素がPH内でシグナリングされないと判定し、かつ第2のシンタックス要素が0であると推測することとによって、第1のシンタックス要素に基づいてピクチャに関連付けられたPH内の第2のシンタックス要素を制約し、ここで、1に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが2つ以上のNALユニットを含んでおり、かつ2つ以上のNALユニットが同じNALユニットタイプを有していないことを特定し、また0に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが1つまたは複数のNALユニットを含んでおり、かつ1つまたは複数のNALユニットが同じNALユニットタイプを有していることを特定する。さらに、1に等しい第2のシンタックス要素は、ピクチャがGDRピクチャまたはIRAPピクチャであることを特定し、また0に等しい第2のシンタックス要素は、ピクチャがIRAPピクチャでもGDRピクチャでもないことを特定する。
いくつかの例では、プロセッサ620は、第1のシンタックス要素および第2のシンタックス要素の両方を受信することと、第1のシンタックス要素が1に等しいと判定するのに応じて、受信した第2のシンタックス要素の値が0になるように要求するために1つの制約を適用することとによって、第1のシンタックス要素に基づいてピクチャに関連付けられたPH内の第2のシンタックス要素を制約する。1に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが2つ以上のNALユニットを含んでおり、かつ2つ以上のNALユニットが同じNALユニットタイプを有していないことを特定し、また0に等しい第2のシンタックス要素は、ピクチャがIRAPピクチャでもGDRピクチャでもないことを特定する。第1のシンタックス要素は、前述したようにpps_mixed_nalu_types_in_pic_flagであってもよい。
いくつかの例では、第1のシンタックス要素は、ピクチャに関連付けられたPH内でシグナリングされる。いくつかの例では、第1のシンタックス要素は、前述したようにph_mixed_nalu_types_in_pic_flagであってもよい。
いくつかの例では、プロセッサ620は、第1のシンタックス要素が0に等しいと判定するのに応じて、第2のシンタックス要素がPH内でシグナリングされると判定することと、第1のシンタックス要素が1に等しいと判定するのに応じて、第2のシンタックス要素がPH内でシグナリングされないと判定し、かつ第2のシンタックス要素は0であると推測することとによって、第1のシンタックス要素に基づいてPH内の第2のシンタックス要素を制約する。1に等しい第1のシンタックス要素は、PHを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが、2つ以上のNALユニットを含んでおり、かつ2つ以上のNALユニットが同じNALユニットタイプを有していないことを特定し、また0に等しい第1のシンタックス要素は、PHを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが1つまたは複数のNALユニットを含んでおり、かつ1つまたは複数のNALユニットが同じNALユニットタイプを有することを特定する。1に等しい第2のシンタックス要素は、ピクチャがGDRピクチャまたはIRAPピクチャであることを特定し、また0に等しい第2のシンタックス要素は、ピクチャがIRAPピクチャでもGDRピクチャでもないことを特定する。いくつかの例では、第2のシンタックス要素は、前述したようにph_gdr_or_rap_pic_flagであってもよい。
いくつかの例では、プロセッサ620は、第1のシンタックス要素および第2のシンタックス要素の両方を受信することと、第1のシンタックス要素が1に等しいと判定するのに応じて、受信した第2のシンタックス要素の値が0になるように要求するために1つの制約を適用することとによって、第1のシンタックス要素に基づいてPH内の第2のシンタックス要素を制約する。1に等しい第1のシンタックス要素は、PHを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが2つ以上のNALユニットを含んでおり、かつ2つ以上のNALユニットが同じNALユニットタイプを有していないことを特定し、また0に等しい第2のシンタックス要素は、ピクチャがGDRピクチャでもIRAPピクチャでもないことを特定する。
いくつかの例では、第2のシンタックス要素は、ピクチャがGDRピクチャであるかどうかを特定し、また第1のシンタックス要素は、ピクチャに関連付けられたPPS内でシグナリングされる。さらに、プロセッサ620は、第1のシンタックス要素が0に等しいと判定するのに応じて、第2のシンタックス要素がPH内でシグナリングされると判定することと、第1のシンタックス要素が1に等しいと判定するのに応じて、第2のシンタックス要素がPH内でシグナリングされないと判定し、かつ第2のシンタックス要素の値は0であると推測することとによって、第1のシンタックス要素に基づいてピクチャに関連付けられたPH内でシグナリングされる第2のシンタックス要素を制約する。1に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが、2つ以上のNALユニットを含んでおり、かつ2つ以上のNALユニットが同じNALユニットタイプを有していないことを特定し、また0に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが1つまたは複数のNALユニットを含んでおり、かつ1つまたは複数のNALユニットが同じNALユニットタイプを有することを特定する。0に等しい第2のシンタックス要素は、PHに関連付けられたピクチャがIRAPピクチャでもGDRピクチャでもないことを特定する。
いくつかの例では、プロセッサ620は、第2のシンタックス要素がPH内でシグナリングされないと判定するのに応じて第1のシンタックス要素の値をさらに判定し、第1のシンタックス要素の値が0であると判定するのに応じて、第2のシンタックス要素の値は0であると推測し、かつ第1のシンタックス要素の値が1であると判定するのに応じて第2のシンタックス要素の値が、PH内でシグナリングされる第3のシンタックス要素の値であると推測する。第3のシンタックス要素は、ピクチャがGDRピクチャまたはIRAPピクチャであるかどうかを特定する。
いくつかの例では、プロセッサ620は、さらに、PPS内でシグナリングされた有効フラグの値に従って、PH内の第2のシンタックス要素の値を判定する。有効フラグは、ピクチャがGDRピクチャとして有効であるかどうかを特定するためのものである。さらに、プロセッサ620は、有効フラグの値が0に等しいと判定するのに応じて第2のシンタックス要素の値が0であると判定する。いくつかの例では、有効フラグは、前述したようにsps_gdr_enabled_flagであってもよい。
いくつかの例では、第2のシンタックス要素は、ピクチャがGDRピクチャであるかどうかを特定し、また第1のシンタックス要素は、ピクチャに関連付けられたPPS内でシグナリングされる。さらに、プロセッサ620は、第1のシンタックス要素およびPH内でシグナリングされた第3のシンタックス要素に基づいて、ピクチャに関連付けられたPH内で第2のシンタックス要素がシグナリングされるように制約することによって、第1のシンタックス要素に基づいてピクチャに関連付けられたPH内でシグナリングされる第2のシンタックス要素を制約する。第3のシンタックス要素は、ピクチャがGDRピクチャまたはIRAPピクチャであるかどうかを特定する。いくつかの例では、第3のシンタックス要素は、前述したようにph_gdr_or_irap_pic_flagであってよい。
いくつかの例では、プロセッサ620は、さらに、第3のシンタックス要素が1に等しく、かつ第1のシンタックス要素が0に等しいと判定するのに応じて、第2のシンタックス要素が1であると判定する。0に等しい第1のシンタックス要素は、PPSを参照するか、それに対応するか、またはそれに関連付けられた各ピクチャが1つまたは複数のNALユニットを含んでおり、かつ1つまたは複数のNALユニットが同じNALユニットタイプを有していることを特定する。1に等しい第2のシンタックス要素は、PHに関連付けられたピクチャがGDRピクチャであることを特定し、また1に等しい第3のシンタックス要素は、ピクチャがGDRピクチャまたはIRAPピクチャであることを特定する。
図9は、本開示のいくつかの実装形態に従ったビデオ符号化の例示的プロセスを示すフ
ロー図である。ステップ902で、プロセッサ620はシンタックス要素を受信する。シンタックス要素は、前述したようにピクチャに関連付けられたPPS内でシグナリングされるpps_mixed_nalu_types_in_pic_flagであってよい。ステップ904で、プロセッサ620はシンタックス要素の値に基づいて復号化プロセスを実施する。
いくつかの例では、ピクチャに対するシンタックス要素が0に等しく、かつピクチャの任意のスライスがGDR_NUTに等しいnal_unit_typeを有する場合、GDRピクチャのシンタックス要素の値は0に等しく、ピクチャの他の全てのスライスは同じ値のnal_unit_typeを有し、かつピクチャの最初のスライスの受信後にピクチャがGDRピクチャであると認識される。
いくつかの例では、プロセッサ620は、シンタックス要素の値が0に等しく、かつピクチャのスライスがGDR_NUTに等しいNALユニットタイプを含んでいると判定するのに応じて、ピクチャの他の全てのスライスが同じNALユニットタイプを含んでおり、かつピクチャの最初のスライスの受信後にピクチャがGDRピクチャであると判定してもよい。
いくつかの例では、プロセッサ620は、復号器に実装される。
図10は、本開示のいくつかの実装形態に従ったビデオ符号化の例示的プロセスを示すフロー図である。ステップ1002で、プロセッサ620は、PPSに対応するピクチャが1つまたは複数のNALユニットを含んでいるかどうか、および、1つまたは複数のNALユニットが同じNALユニットタイプを有しているかどうかを特定するPPS内の第1のシンタックス要素を受信する。
ステップ1004で、プロセッサ620は、PHに対応するピクチャがIRAPピクチャまたはGDRピクチャであるかどうかを特定するPH内の第2のシンタックス要素を受信する。
ステップ1006で、プロセッサ620は、第1のシンタックス要素の値に基づいて第2のシンタックス要素の値を判定する。
いくつかの例では、プロセッサ620は、復号器に実装されていてもよい。
いくつかの例では、1に等しい第1のシンタックス要素は、PPSに対応する各ピクチャが2つ以上のVCL NALユニットを含んでおり、かつ2つ以上のVCL NALユニットが同じNALユニットタイプを有していないことを特定し、また0に等しい第1のシンタックス要素は、PPSに対応する各ピクチャが1つまたは複数のVCL NALユニットを含んでおり、かつ1つまたは複数のVCL NALユニットが同じNALユニットタイプを有していることを特定する。
いくつかの例では、1に等しい第2のシンタックス要素は、PHに対応するピクチャがIRAPピクチャまたはGDRピクチャであることを特定し、また0に等しい第2のシンタックス要素は、PHに対応するピクチャが、IRAPピクチャでもGDRピクチャでもないことを特定している。
いくつかの例では、プロセッサ620は、他のスライスのNALタイプがスライスのNALタイプと同じになるように要求するためにピクチャの他のスライスのNALタイプに対して第1の制約を適用し、かつ第2のシンタックス要素の値が1になるように要求するように第2のシンタックス要素に対して第2の制約を適用してもよい。
いくつかの例では、ビデオ符号化のための非一時的コンピュータ可読記憶媒体を提供する。非一時的コンピュータ可読記憶媒体は、1つまたは複数のコンピュータプロセッサ620によって実行されると、1つまたは複数のコンピュータプロセッサ620に図7に示した方法を実施させるコンピュータ実行可能命令を記憶する
いくつかの例では、ビデオ符号化のための非一時的コンピュータ可読記憶媒体を提供する。非一時的コンピュータ可読記憶媒体は、1つまたは複数のコンピュータプロセッサ620によって実行されると、1つまたは複数のコンピュータプロセッサ620に図8に示した方法を実施させるコンピュータ実行可能命令を記憶する
いくつかの例では、ビデオ符号化のための非一時的コンピュータ可読記憶媒体を提供する。非一時的コンピュータ可読記憶媒体は、1つまたは複数のコンピュータプロセッサ620によって実行されると、1つまたは複数のコンピュータプロセッサ620に図9に示した方法を実施させるコンピュータ実行可能命令を記憶する
いくつかの例では、ビデオ符号化のための非一時的コンピュータ可読記憶媒体を提供する。非一時的コンピュータ可読記憶媒体は、1つまたは複数のコンピュータプロセッサ620によって実行されると、1つまたは複数のコンピュータプロセッサ620に図10に示した方法を実施させるコンピュータ実行可能命令を記憶する
本開示の説明は、例示の目的で提示したが、本開示を網羅するまたは制限することを意図していない。いくつかの修正、変形、および代替の実装形態が、上記の説明および関連する図面で提示した教示の利益を有する当業者にとって明らかであろう。
これらの例は、開示の原理を説明し、当業者が様々な実装形態に関する開示を理解し、意図された特定の用途に適した様々な修正を加えた基礎となる原則および様々な実装形態を最善に利用できるようにするために選択され、記載された。したがって、開示の範囲は、開示された実装形態の具体例に限定されるものではなく、修正およびその他の実装形態が、本開示の範囲に含まれることを意図していると理解されるべきである。

Claims (5)

  1. ビデオコーディングのための方法であって、
    復号器によって、ピクチャパラメータセット(Picture Parameter Set:PPS)に対応するピクチャが2つ以上のネットワーク抽象化層(Network Abstraction Layer:NAL)ユニットを含んでいるかどうか、および、前記2つ以上のNALユニットが同じNALユニットタイプを有しているかどうかを特定する、前記PPS内の第1のシンタックス要素を受信することと、
    前記復号器によって、ピクチャヘッダ(Picture Header:PH)に対応するピクチャがイントラランダムアクセスポイント(Intra Random Access Point:IRAP)ピクチャまたは段階的復号化リフレッシュ(Gradual Decoding Refresh:GDR)ピクチャであるかどうかを特定する、前記PH内の第2のシンタックス要素を受信することと、
    前記復号器によって、前記第2のシンタックス要素の値に基づいて前記第1のシンタックス要素の値を判定することと、
    を含む方法であって、
    前記第2のシンタックス要素の値に基づいて前記第1のシンタックス要素の値を判定することは、前記第2のシンタックス要素の値が1であると判定するのに応じて、前記復号器によって、前記第1のシンタックス要素の値が0であると判定し、0である前記第1のシンタックス要素の前記値は、前記PPSに対応する各ピクチャが2つ以上のVCL NALユニットを含んでおり、かつ前記2つ以上のVCL NALユニットが同じNALユニットタイプを有していることを特定し、1である前記第2のシンタックス要素の前記値は、前記PHに対応する前記ピクチャがIRAPピクチャまたはGDRピクチャであることを特定すること、
    を含む、方法。
  2. 1に等しい前記第1のシンタックス要素の前記値は、前記PPSに対応する各ピクチャが2つ以上のビデオ符号化層(Video Coding Layer:VCL)NALユニットを含んでおり、かつ前記2つ以上のVCL NALユニットが同じNALユニットタイプを有していないことを特定し、0に等しい前記第2のシンタックス要素の前記値は、前記PHに対応する前記ピクチャがGDRピクチャではないことを特定する、
    請求項1に記載の方法。
  3. ビデオコーディングのための装置であって、
    1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサによって実行される命令を記憶するように構成されたメモリとを備え、
    前記1つまたは複数のプロセッサは、前記命令が実行されると、請求項1または2に記載の方法を実施するように構成される、装置。
  4. ビデオコーディングのための非一時的コンピュータ可読記憶媒体であって、1つまたは複数のコンピュータプロセッサによって実行されると、前記1つまたは複数のコンピュータプロセッサに請求項1または2に記載の方法を実施させる、コンピュータ実行可能命令を記憶する、非一時的コンピュータ可読記憶媒体。
  5. プロセッサによって実行されると、請求項1または2に記載の方法を実施する命令を有する、コンピュータ可読記憶媒体に記憶されたプログラム。
JP2022570739A 2020-05-20 2021-05-20 ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびプログラム Active JP7422901B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023184964A JP2024023200A (ja) 2020-05-20 2023-10-27 ビデオ符号化の際のシンタックス要素のシグナリングの方法および装置
JP2024031365A JP2024059937A (ja) 2020-05-20 2024-03-01 ビデオ符号化のための方法、非一時的コンピュータ可読記憶媒体、コンピュータプログラム、および、ビデオ符号化方法によって生成されるビットストリームを記憶する方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063027718P 2020-05-20 2020-05-20
US63/027,718 2020-05-20
PCT/US2021/033502 WO2021236988A1 (en) 2020-05-20 2021-05-20 Methods and apparatuses for signaling of syntax elements in video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023184964A Division JP2024023200A (ja) 2020-05-20 2023-10-27 ビデオ符号化の際のシンタックス要素のシグナリングの方法および装置

Publications (2)

Publication Number Publication Date
JP2023522482A JP2023522482A (ja) 2023-05-30
JP7422901B2 true JP7422901B2 (ja) 2024-01-26

Family

ID=78707695

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2022570739A Active JP7422901B2 (ja) 2020-05-20 2021-05-20 ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびプログラム
JP2023184964A Pending JP2024023200A (ja) 2020-05-20 2023-10-27 ビデオ符号化の際のシンタックス要素のシグナリングの方法および装置
JP2024031365A Pending JP2024059937A (ja) 2020-05-20 2024-03-01 ビデオ符号化のための方法、非一時的コンピュータ可読記憶媒体、コンピュータプログラム、および、ビデオ符号化方法によって生成されるビットストリームを記憶する方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2023184964A Pending JP2024023200A (ja) 2020-05-20 2023-10-27 ビデオ符号化の際のシンタックス要素のシグナリングの方法および装置
JP2024031365A Pending JP2024059937A (ja) 2020-05-20 2024-03-01 ビデオ符号化のための方法、非一時的コンピュータ可読記憶媒体、コンピュータプログラム、および、ビデオ符号化方法によって生成されるビットストリームを記憶する方法

Country Status (7)

Country Link
US (1) US20230110988A1 (ja)
EP (1) EP4154541A4 (ja)
JP (3) JP7422901B2 (ja)
KR (2) KR20240042167A (ja)
CN (2) CN117278750A (ja)
MX (1) MX2022014528A (ja)
WO (1) WO2021236988A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170111642A1 (en) * 2015-10-14 2017-04-20 Qualcomm Incorporated Support of random access and switching of layers and sub-layers in multi-layer video files
WO2021236888A1 (en) * 2020-05-20 2021-11-25 Beijing Dajia Internet Information Technology Co., Ltd. General constraint information and signaling of syntax elements in video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BROSS, Benjamin et al.,Versatile Video Coding (Draft 9),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 18th Meeting: by teleconference, 15-24 April 2020, [JVET-R2001-vA],JVET-R2001 (version 10),ITU-T,2020年05月15日,<URL:https://jvet-experts.org/doc_end_user/documents/18_Alpbach/wg11/JVET-R2001-v10.zip>: JVET-R2001-vA.docx: pp.45-52,113-130
CHEN, Lulin et al.,AHG9: On signalling the mixed NAL unit type flag,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 18th Meeting: by teleconference, 15-24 April 2020, [JVET-R0085-v1],JVET-R0085 (version 1),ITU-T,2020年04月03日,<URL:https://jvet-experts.org/doc_end_user/documents/18_Alpbach/wg11/JVET-R0085-v1.zip>: JVET-R0085-v1.docx: pp.1-5
COBAN, Muhammed et al.,AHG9: On mixed nal unit type signalling and PPS cleanup,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 18th Meeting: by teleconference, 15-24 April 2020, [JVET-R0315],JVET-R0315 (version 3),ITU-T,2020年04月11日,<URL:https://jvet-experts.org/doc_end_user/documents/18_Alpbach/wg11/JVET-R0315-v3.zip>: JVET-R0315.docx: pp.1-7
XIU, Xiaoyu et al.,AHG9: On IRAP and GDR picture signaling in picture header,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 19th Meeting: by teleconference, 22 June -1 July 2020, [JVET-S0135],JVET-S0135 (version 1),ITU-T,2020年05月23日,<URL:https://jvet-experts.org/doc_end_user/documents/19_Teleconference/wg11/JVET-S0135-v1.zip>: JVET-S0135.docx: pp.1-2

Also Published As

Publication number Publication date
EP4154541A4 (en) 2023-10-25
JP2024059937A (ja) 2024-05-01
CN117278750A (zh) 2023-12-22
JP2024023200A (ja) 2024-02-21
MX2022014528A (es) 2023-02-27
WO2021236988A1 (en) 2021-11-25
KR20230004941A (ko) 2023-01-06
CN115516864A (zh) 2022-12-23
EP4154541A1 (en) 2023-03-29
JP2023522482A (ja) 2023-05-30
US20230110988A1 (en) 2023-04-13
KR20240042167A (ko) 2024-04-01

Similar Documents

Publication Publication Date Title
JP7337948B2 (ja) エンコーダ、デコーダ、および対応する方法
US20230031699A1 (en) Methods and apparatuses for signaling of syntax elements in video coding
US20230040224A1 (en) Methods and apparatuses for signaling of syntax elements in video coding
JP7422901B2 (ja) ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびプログラム
CN115668941A (zh) 视频编解码中语法元素的信令
WO2021236888A1 (en) General constraint information and signaling of syntax elements in video coding
KR102667418B1 (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR20240074008A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR20240074908A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR20240074907A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR20240074009A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230111

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231027

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231107

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: 20231219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240116

R150 Certificate of patent or registration of utility model

Ref document number: 7422901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150