JP2023520326A - エンコーダ、デコーダ、および対応する方法 - Google Patents

エンコーダ、デコーダ、および対応する方法 Download PDF

Info

Publication number
JP2023520326A
JP2023520326A JP2022557698A JP2022557698A JP2023520326A JP 2023520326 A JP2023520326 A JP 2023520326A JP 2022557698 A JP2022557698 A JP 2022557698A JP 2022557698 A JP2022557698 A JP 2022557698A JP 2023520326 A JP2023520326 A JP 2023520326A
Authority
JP
Japan
Prior art keywords
video
value
syntax element
sps
bitstream
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.)
Pending
Application number
JP2022557698A
Other languages
English (en)
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 JP2023520326A publication Critical patent/JP2023520326A/ja
Pending legal-status Critical Current

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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/187Methods 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 scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

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

Abstract

デコーディングデバイスによって実装されるビデオまたは画像のビットストリームのデコーディング方法であって、上記ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、上記方法は、現在のSPSを参照する各符号化レイヤビデオシーケンスに存在することが許される時間的サブレイヤの最大数を決定するために用いられる第1のシンタックス要素を取得する段階であって、上記第1のシンタックス要素の値が0から第1の値の範囲にある段階と、上記第1の値が、第2のシンタックス要素が上記SPSによって参照される場合に、上記ビデオパラメータセットを参照する各符号化ビデオシーケンスにおいてレイヤに存在することを許される時間的サブレイヤの最大数を決定するために使用される第2のシンタックス要素の値である、段階と、上記第1のシンタックス要素の値に基づいて、上記ビットストリームをデコーディングする段階と、を含む。

Description

[関連出願の相互参照]
本特許出願は、2020年3月24日に出願された国際特許出願PCT/EP2020/058208の優先権を主張する。前述の特許出願の開示は、その全体が参照により本明細書に組み込まれる。
本願の実施形態は、一般的に、画像処理の分野に関し、より具体的には、ビデオコーディングに関する。
ビデオコーディング(ビデオエンコーディングおよびデコーディング)は、例えば、放送デジタルTV、インターネットおよびモバイルネットワークを介したビデオ送信、またはビデオチャット、ビデオ会議、DVDおよびブルーレイディスク、ビデオコンテンツの取得および編集システム、セキュリティアプリケーションのカムコーダー等のリアルタイム会話アプリケーションといった、広範なデジタルビデオアプリケーションで使用される。
比較的短いビデオを描画するのであってもなお、必要とされるビデオデータの量は、実質的にかなりのものであり得、その結果、限定的な帯域幅容量を有する通信ネットワークを介してデータがストリームされるかまたは別の形で通信されることになる場合に困難が生じる場合がある。したがって、ビデオデータは一般的に、現代の遠隔通信ネットワークを介して通信される前に圧縮される。ビデオのサイズは、メモリリソースが限定的である場合があるので、ビデオがストレージデバイス上に保存される場合にも問題となり得る。ビデオ圧縮デバイスは、しばしば、ソースにおけるソフトウェアおよび/またはハードウェアを用いて、送信または保存の前にビデオデータをコードすることにより、デジタルビデオイメージを表現するのに必要なデータの量を低減させる。その後、圧縮データは、デスティネーションにおいて、ビデオデータをデコードするビデオ圧縮解除デバイスによって受信される。限定的なネットワークリソースおよびますます増加する高ビデオ品質の需要に鑑みて、画質をほとんどまたは全く犠牲にせずに圧縮比を改善する、改善された圧縮および解凍技術が望まれている。
本願の実施形態は、独立請求項によるエンコーディングおよびデコーディングのための装置および方法を提供する。
前述の目的および他の目的が、独立請求項の主題によって達成される。従属請求項、明細書および図からはさらなる実施形態が明らかになる。
第1の態様によれば、本発明は、デコーディングデバイスによって実装されるビデオまたは画像のビットストリームのデコーディング方法に関し、ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、この方法は、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素(例えば、sps_max_sublayers_minus1)(の値)を取得する段階であって、第1のシンタックス要素の値が0から第1の値の範囲であり、第1の値が、第2のシンタックス要素がSPSによって参照される場合に、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される第2のシンタックス要素(例えば、vps_max_sublayers_minus1)の値である段階と、第1のシンタックス要素の値に基づいてビットストリームをデコーディングする段階と、を含む。
SPSによって第2のシンタックス要素が参照される条件(第1のシンタックス要素の範囲、すなわち第1の値が依存する)は、第2のシンタックス要素がビットストリームに存在することを含んでもよい。換言すれば、第2のシンタックス要素がSPSによって参照されないことは、「第2のシンタックス要素がビットストリームに存在しないこと」を含んでもよい。
特に、SPSによって第2のシンタックス要素が参照される場合にのみ、第1のシンタックス要素の値が0から第1の値の範囲にあることを保持することができる。
実施態様によれば、第1の値は、特に、第2のシンタックス要素がSPSによって参照されない場合にのみ、予め設定された値(例えば、6)である。
実施態様によれば、第2のシンタックス要素は、VPSにある。
VPSはオプションのパラメータセットである。例えば、単層ビットストリームの場合、ビットストリーム中にVPSが存在しないか、または参照されない(その結果、第2のシンタックス要素がSPSによって参照されることがあり得ない)場合がある。したがって、少なくとも第2のシンタックス要素がSPSによって参照される場合、単層ビットストリームについて第1のシンタックス要素の範囲を決定するために第2のシンタックス要素を用いることはビデオコーディングの実装を保証する。特に、現在のSPSを参照する各CLVSに存在することが許される時間的サブレイヤの最大数は、ビットストリームにVPSが存在するかどうかにかかわらず、十分に定義される。
実施態様によれば、ビットストリームをデコーディングすることは、第1のシンタックス要素の値に基づいてデコーディング能力情報を取得することと、デコーディング能力情報(例えばdpb_parameters)に基づいてビットストリームをデコーディングすることと、を含んでもよい。
実施態様によれば、デコーディング能力情報は、DPBシンタックス要素を含み、デコーディング能力情報に基づいてビットストリームをデコーディングすることは、DPBシンタックス要素の値に基づいてDPBを構成することを含み、方法は、DPBを用いてビットストリームをデコーディングしてビデオシーケンスを再構築することをさらに含んでもよい。
実施態様によれば、デコーディング能力情報は、DPBシンタックス要素を含み、デコーディング能力情報に基づいてビットストリームをデコーディングすることは、使用されるDPBが、ビデオシーケンスを再構築するためにDPBシンタックス要素の値によって指定される要件を満たすことを決定することに基づいて、ビットストリームをデコーディングすることを含んでもよい。
実施態様によれば、第1のシンタックス要素は、SPSにある。
第2の態様によれば、本発明は、エンコーディングデバイスによって実装されるビデオまたは画像のビットストリームのエンコーディング方法に関し、ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、この方法は、第2のシンタックス要素がSPSによって参照されるかどうかを決定する段階であって、第2のシンタックス要素(例えば、vps_max_sublayers_minus1)は、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される段階と、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)において存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素の値を、第1のシンタックス要素の範囲に基づいて決定する段階であって、この範囲は0から第1の値であり、第1の値は第2のシンタックス要素がSPSによって参照されると決定した場合の第2のシンタックス要素の値である段階と、および、第1のシンタックス要素の値をビットストリームにエンコーディングする段階と、を含む。
特に、第2のシンタックス要素がSPSによって参照されると決定された場合にのみ、第1のシンタックス要素の値が0から第1の値の範囲にあることを保持してもよい。
実施態様によれば、ビットストリームをエンコーディングする段階は、第1のシンタックス要素の値に基づいてデコーディング能力情報をビットストリームにエンコーディングする段階を含んでもよい。
実施態様によれば、第1の値は、特に、第2のシンタックス要素がSPSによって参照されない場合にのみ、予め設定された値(例えば、6)である。
実施態様によれば、第2のシンタックス要素は、VPSにある。
実施態様によれば、第1のシンタックス要素は、SPSにある。
第3の態様によれば、本発明は、(符号化)ビデオビットストリームをデコーディングするための装置に関し、この装置は、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために用いられる第1のシンタックス要素(の値)を取得するように構成された取得ユニットを備え、第1のシンタックス要素の値は0から第1の値の範囲にあり、第1の値が、第2のシンタックス要素がSPSによって参照される場合に、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される第2のシンタックス要素の値であり、第1のシンタックス要素の値に基づいてビットストリームをデコーディングするように構成されたデコーディングユニットを備える。
第4の態様によれば、本発明は、ビデオビットストリームをエンコーディングする装置に関し、この装置は、第2のシンタックス要素がSPSによって参照されるかどうかを決定するように構成された決定ユニットを備え、第2のシンタックス要素(例えば、vps_max_sublayers_minus1)は、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用され、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)において存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素の値を、第1のシンタックス要素の範囲に基づいて決定し、この範囲は0から第1の値であり、第1の値は第2のシンタックス要素がSPSによって参照されると決定された場合の第2のシンタックス要素の値であり、ビットストリームに第1のシンタックス要素の値をエンコーディングするよう構成されるエンコーディングユニットを備える。
本発明の第1の態様による方法は、本発明の第3の態様に係る装置によって実行することができる。本発明の第3の態様による装置のさらなる特徴および実施形態は、本発明の第1の態様による方法の特徴および実施形態に対応する。
本発明の第2の態様による方法は、本発明の第4の態様による装置によって実行することができる。本発明の第4の態様による装置のさらなる特徴および実施形態は、本発明の第2の態様による方法の特徴および実施形態に対応する。
上述の方法は、それぞれデコーディングデバイスまたはエンコーディングデバイスに実装することができ、したがって、上述の例のいずれか1つによってビデオビットストリームのエンコーディング方法を実行するための処理回路を含むエンコーダが提供される。さらに、1または複数のプロセッサと、プロセッサに連結され、プロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備えるエンコーダであって、プログラミングは、プロセッサによって実行される場合、上述の例のいずれか1つによるビデオビットストリームのエンコーディングの方法を実行するようにエンコーダを構成することを特徴とするエンコーダが提供される。同様に、上述の例のいずれか1つによってビデオビットストリームのデコーディング方法を実行するための処理回路を含み、1または複数のプロセッサと、プロセッサに連結され、プロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを含むデコーダであって、プログラミングが、プロセッサによって実行される場合、上述の例のいずれか1つにしたがってビデオビットストリームのデコーディング方法を実行するようにデコーダを構成するデコーダが、提供される。
さらに、コンピュータまたはプロセッサ上で実行された場合に、上述の例のいずれか1つによる方法を実行するためのプログラムコードを含むコンピュータプログラム製品が提供される。同様に、コンピュータデバイスによって実行される場合、コンピュータデバイスに上述の例のいずれか1つの方法を実行させるプログラムコードを保持する非一時的コンピュータ可読媒体が提供される。
第5の態様によれば、本発明は、ビデオビットストリームを含む非一時的記憶媒体に関し、ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を備え、ビットストリームは、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために用いられる第1のシンタックス要素をさらに備え、第1のシンタックス要素の値は0から第1の値の範囲にあり、第1の値は、第2のシンタックス要素がSPSによって参照される場合、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)においてレイヤに存在することが許される時間的サブレイヤの最大数を決定するために用いられる第2のシンタックス要素の値である。
実施態様によれば、第2のシンタックス要素がSPSによって参照されない場合、第1の値は予め設定された値である。
1または複数の実施形態の詳細は、添付図面および以下の説明に記載されている。他の機能、目的、および利点は、明細書、図面、および特許請求の範囲から明らかになるであろう。
本発明の以下の実施形態は、添付の図および図面を参照してより詳細に説明される。
本発明の実施形態を実装するよう構成されるビデオコーディングシステムの例を示すブロック図である。 本発明の実施形態を実装するよう構成されるビデオコーディングシステムの別の例を示すブロック図である。 本発明の実施形態を実装するよう構成されるビデオエンコーダの例を示すブロック図である。 本発明の実施形態を実装するよう構成されるビデオデコーダの例示的な構造を示すブロック図である。 エンコーディング装置またはデコーディング装置の例を示すブロック図である。 エンコーディング装置またはデコーディング装置の別の例を示すブロック図である。 スケーラブルビデオコーディングのレイヤとサブレイヤに関する例である。 タイル、スライスおよびサブ画像の例を示す図である。 コンテンツ配信サービスを実現するコンテンツ供給システム3100の例示的な構造を示すブロック図である。 端末デバイスの例の構造を示すブロック図である。 一実施形態によるビデオビットストリームのデコーディング方法を示す図である。 一実施形態によるビデオビットストリームのエンコーディング方法を示す図である。 一実施形態によるビデオビットストリームのデコーディング方法を示す図である。 一実施形態によるビデオビットストリームのエンコーディング方法を示す図である。 以下、別途明示的に指定されていない限り、同一の参照符号は、同一または少なくとも機能的に等価な特徴を指す。
以下の説明では、本開示の一部を形成し、発明の実施形態の具体的態様または本発明の実施形態を使用することができる具体的態様を例示として示す添付図面を参照する。本発明の実施形態は他の態様で使用されてもよく、図に示されない構造的または論理的変更を含んでもよいことが理解される。したがって、以下の詳細な説明は、限定する意味で解釈されず、本発明の範囲は、添付の特許請求の範囲によって定義される。
例えば、説明された方法に関連する開示は、方法を実行するように構成された対応するデバイスまたはシステムにも当てはまり得、逆もまた同様であることが理解される。例えば、1または複数の特定の方法の段階が説明される場合、対応するデバイスは、説明される1または複数の方法の段階を実行するための、例えば、機能ユニットなどの1または複数のユニット(例えば、1または複数の段階を実行する1つのユニット、または複数の段階のうちの1または複数を各々が実行する複数のユニット)を、そのような1または複数のユニットが図において明示的に説明されていないかまたは示されていないときであっても、含んでもよい。他方で、例えば、特定の装置が、例えば、機能ユニットなどの1または複数のユニットに基づいて説明される場合、対応する方法は、1または複数のユニットの機能を実行するために1つの段階(例えば、1または複数のユニットの機能を実行する1つの段階、または複数のユニットのうちの1または複数の機能を各々が実行する複数の段階)を、そのような1または複数の段階が図において明示的に説明されていないかまたは示されていないときであっても、含んでもよい。さらに、特に別段の記載がない限り、本明細書において説明される様々な例示的な実施形態および/または態様の特徴が互いに組み合わされ得ることに留意されたい。
ビデオコーディングは典型的には、ビデオまたはビデオシーケンスを形成する一連の画像の処理を意味する。「画像」という用語の代わりに、「フレーム」または「イメージ」という用語がビデオコーディングの分野での同義語として用いられる場合がある。ビデオコーディング(または一般的にコーディング)は、ビデオエンコーディングおよびビデオデコーディングの2つの部分を含む。ビデオエンコーディングは、ソース側で実行され、典型的には、(より効率的な保存および/または送信のために)ビデオ画像を表現するために要求されるデータ量を低減させるように、元のビデオ画像を処理(例えば、圧縮による)することを含む。ビデオデコーディングは、デスティネーション側で実行され、典型的には、ビデオ画像を再構築するように、エンコーダと比較して逆の処理を含む。ビデオ画像(または一般的に画像)の「コーディング」に言及する実施形態は、ビデオ画像またはそれぞれのビデオシーケンスの「エンコーディング」または「デコーディング」に関すると理解されるものとする。エンコーディング部分とデコーディング部分との組み合わせは、コーデック(コーディングおよびデコーディング)とも称される。
無損失ビデオコーディングの場合、元のビデオ画像を再構築でき、すなわち、再構築されたビデオ画像は元のビデオ画像と同じ品質である(保存中または送信中に伝送損失またはその他のデータ損失がないと仮定して)。不可逆ビデオコーディングの場合、ビデオ画像を表現するデータ量を低減するために、例えば量子化によるさらなる圧縮が実行されるが、これはデコーダにおいて完全には再構築できない、すなわち、再構築されたビデオ画像の品質は、元のビデオ画像の品質に比較して低下または劣化する。
いくつかのビデオコーディング規格は、「不可逆ハイブリッドビデオコーデック」のグループに属する(すなわち、サンプル領域における空間的および時間的予測と、変換領域における量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオシーケンスの各画像は、典型的には、非重複ブロックのセットへと区分化され、コーディングは、典型的には、ブロックレベルで実行される。換言すれば、エンコーダにおいて、ビデオは、例えば、空間的(画像内)予測および/または時間的(画像間)予測を使用して予測ブロックを生成し、現在のブロック(現在処理されている/処理されることになるブロック)から予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換するとともに変換領域における残差ブロックを量子化して、送信されることになるデータ量を低減(圧縮)することによって、典型的にはブロック(ビデオブロック)レベルで処理される、すなわちエンコードされ、一方で、デコーダにおいて、現在のブロックを表現のために再構築するために、エンコーダと比較して逆の処理がエンコードまたは圧縮されたブロックに適用される。さらに、エンコーダがデコーダ処理ループを繰り返すことにより、後続のブロックの処理のために、すなわちコーディングのために、両方が同一の予測(例えば、イントラおよびインター予測)および/または再構築物を生成することになる。ビデオコーディングシステム10の以下の実施形態では、ビデオエンコーダ20、およびビデオデコーダ30が、図1~3に基づいて説明される。
図1Aは、本願の技術を使用し得る例示的なコーディングシステム10、例えばビデオコーディングシステム10(または略してコーディングシステム10)を示す概略ブロック図である。ビデオコーディングシステム10のビデオエンコーダ20(または略してエンコーダ20)およびビデオデコーダ30(または略してデコーダ30)は、本願において説明される様々な例にしたがって技術を実行するように構成され得るデバイスの例を表す。図1Aに示すように、コーディングシステム10は、エンコードされた画像データ21を、例えば、このエンコードされた画像データ13をデコードするためにデスティネーションデバイス14に提供するように構成されているソースデバイス12を備える。
ソースデバイス12は、エンコーダ20を備え、加えて、すなわち任意選択で、画像ソース16と、前処理装置(または前処理ユニット)18、例えば画像前処理装置18と、通信インタフェースまたは通信ユニット22とを備えてよい。画像ソース16は、任意の種類の撮像デバイス、例えば、現実世界の画像をキャプチャするカメラ、および/または、任意の種類の画像生成デバイス、例えば、コンピュータアニメーション画像を生成するコンピュータグラフィクスプロセッサ、または、現実世界の画像、コンピュータ生成画像(例えば、スクリーンコンテンツ、仮想現実(VR)画像)、および/またはそれらの任意の組み合わせ(例えば、拡張現実(AR)画像)を取得および/または提供する任意の種類の他のデバイスを含むかまたはそれらのデバイスであってよい。画像ソースは、上述の画像の任意のものを保存する任意の種類のメモリまたはストレージであってよい。
前処理装置18および前処理ユニット18によって実行される処理と区別するように、画像または画像データ17は、生画像または生画像データ17とも称され得る。
前処理装置18は、(生)の画像データ17を受信するとともに、画像データ17に対して前処理を実行して、前処理された画像19または前処理された画像データ19を取得するように構成されている。前処理装置18によって実行される前処理は、例えば、トリム、カラーフォーマット変換(例えば、RGBからYCbCr)、色補正、またはノイズ除去を含んでよい。
前処理ユニット18は任意選択のコンポーネントであってよいことが理解できる。
ビデオエンコーダ20は、前処理された画像データ19を受信するとともに、エンコードされた画像データ21を提供するように構成されている(さらなる詳細は、例えば図2に基づいて下記で説明される)。
ソースデバイス12の通信インタフェース22は、通信チャネル13を介して、エンコードされた画像データ21を受信するとともに、エンコードされた画像データ21(またはその任意のさらなる処理バージョン)を、保存または直接再構築のために、別のデバイス、例えばデスティネーションデバイス14または任意の他のデバイスに送信するよう構成されてよい。
デスティネーションデバイス14は、デコーダ30(例えばビデオデコーダ30)を備え、加えて、すなわち任意選択で、通信インタフェースまたは通信ユニット28と、ポストプロセッサ32(または後処理ユニット32)と、ディスプレイデバイス34とを備えてよい。
デスティネーションデバイス14の通信インタフェース28は、エンコードされた画像データ21(またはその任意のさらなる処理バージョン)を、例えばソースデバイス12から直接または任意の他のソース、例えばストレージデバイス、例えばエンコードされた画像データストレージデバイスから受信するとともに、エンコードされた画像データ21をデコーダ30に提供するように構成されている。
通信インタフェース22および通信インタフェース28は、ソースデバイス12とデスティネーションデバイス14との間で、直接通信リンク、例えば、直接的な有線もしくは無線接続を介して、または、任意の種類のネットワーク、例えば、有線もしくは無線ネットワークもしくはそれらの任意の組み合わせ、もしくは、任意の種類のプライベートおよびパブリックネットワークもしくはそれらの任意の種類の組み合わせを介して、エンコードされた画像データ21またはエンコードされたデータ13を送信または受信するように構成されてよい。
通信インタフェース22は、例えば、エンコードされた画像データ21を適切なフォーマットに、例えばパケットにパッケージ化する、および/または、通信リンクまたは通信ネットワークを介した送信のための任意の種類の送信エンコーディングまたは処理を用いて、エンコードされた画像データを処理するように構成されてよい。
通信インタフェース22のカウンターパートを形成する通信インタフェース28は、例えば、送信されるデータを受信するとともに、任意の種類の対応する送信デコーディングまたは処理および/またはデパッケージングを用いて送信データを処理して、エンコードされた画像データ21を取得するように構成されてよい。
通信インタフェース22および通信インタフェース28は両方とも、図1Aにおいてソースデバイス12からデスティネーションデバイス14に向く通信チャネル13の矢印で示すように単方向通信インタフェースとして、または、双方向通信インタフェースとして構成されてよく、例えば、メッセージを送信および受信する、例えば、接続を設定し、通信リンクおよび/またはデータ送信、例えばエンコードされた画像データ送信に関連する任意の他の情報を確認およびやりとりするように構成されてよい。
デコーダ30は、エンコードされた画像データ21を受信するとともに、デコードされた画像データ31またはデコードされた画像31を提供するように構成されている(さらなる詳細は、例えば図3または図5に基づいて下記で説明される)。
デスティネーションデバイス14のポストプロセッサ32は、デコードされた画像データ31(再構築画像データとも呼ばれる)、例えばデコードされた画像31を後処理して、後処理された画像データ33、例えば後処理された画像33を取得するように構成されている。後処理ユニット32により実行される後処理は、例えば、デコードされた画像データ31を、例えば、ディスプレイデバイス34による表示のために準備する目的で、例えば、カラーフォーマット変換(例えば、YCbCrからRGBへ)、色補正、トリム、もしくは再サンプリング、または任意の他の処理を含んでよい。
デスティネーションデバイス14のディスプレイデバイス34は、画像を例えばユーザまたは視聴者に表示するために、後処理された画像データ33を受信するように構成されている。ディスプレイデバイス34は、再構築画像を表現するための任意の種類のディスプレイ、例えば、一体型または外付けのディスプレイまたはモニタであってもよく、またはこれを含んでもよい。ディスプレイは、例えば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(LCoS)、デジタル光プロセッサ(DLP)、または任意の種類の他のディスプレイを含んでよい。
図1Aはソースデバイス12とデスティネーションデバイス14とを別個のデバイスとして示しているが、デバイスの実施形態は、それらの両方または両方の機能、すなわち、ソースデバイス12または対応する機能と、デスティネーションデバイス14または対応する機能とを備えてもよい。そのような実施形態では、ソースデバイス12または対応する機能およびデスティネーションデバイス14または対応する機能は、同じハードウェアおよび/またはソフトウェアを使用して、または別個のハードウェアおよび/またはソフトウェアまたはそれらの任意の組み合わせによって実装され得る。
本説明に基づいて当業者には明らかであるように、図1Aに示すような、異なるユニットの機能またはソースデバイス12および/またはデスティネーションデバイス14内の機能の存在および(正確な)分割は、実際のデバイスおよびアプリケーションに応じて変わり得る。
エンコーダ20(例えば、ビデオエンコーダ20)またはデコーダ30(例えば、ビデオデコーダ30)またはエンコーダ20およびデコーダ30の両方は、1または複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ハードウェア、ビデオコーディング専用またはそれらの任意の組み合わせ等の、図1Bに示すような処理回路を介して実装されてよい。エンコーダ20は、図2のエンコーダ20および/または本明細書において説明される任意の他のエンコーダシステムまたはエンコーダサブシステムに関連して論じられる様々なモジュールを実施するために、処理回路46を介して実装され得る。デコーダ30は、図3のデコーダ30および/または本明細書に記載の任意の他のデコーダシステムまたはサブシステムに関連して論じる様々なモジュールを実施するために処理回路46を介して実装されてよい。処理回路は、後で論じるように様々な工程を実行するように構成されてよい。図5に示すように、本技術がソフトウェアにおいて部分的に実装される場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアのための命令を保存してよく、ハードウェア内で1または複数のプロセッサを用いて命令を実行して、本開示の技術を実行してよい。ビデオエンコーダ20およびビデオデコーダ30のいずれかは、図1Bに示すように、例えば、単一のデバイス内の組み合わされたエンコーダ/デコーダ(コーデック)の一部として統合されてよい。
ソースデバイス12およびデスティネーションデバイス14は、任意の種類のハンドヘルドまたはステーショナリデバイス、例えば、ノートブックまたはラップトップコンピュータ、携帯電話、スマートフォン、タブレットまたはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲームコンソール、ビデオストリーミングデバイス(コンテンツサービスサーバまたはコンテンツ配信サーバ等)、ブロードキャスト受信機デバイス、ブロードキャスト送信機デバイス等を含む、広範なデバイスのいずれかを備えてよく、オペレーティングシステムを用いないまたは任意の種類のオペレーティングシステムを用いてよい。
いくつかの場合、ソースデバイス12およびデスティネーションデバイス14は、無線通信に対応してよい。したがって、ソースデバイス12およびデスティネーションデバイス14は、無線通信デバイスとしてよい。いくつかの場合、図1Aに示すビデオコーディングシステム10は、単に例であり、本願の技術は、エンコーディングデバイスとデコーディングデバイスとの間の任意のデータ通信を必ずしも含まないビデオコーディング設定(例えば、ビデオエンコーディングまたはビデオデコーディング)に適用されてよい。他の例において、データは、ローカルメモリから取得され、ネットワークを介してストリーム等される。ビデオエンコーディングデバイスは、データをメモリにエンコードして格納してよく、および/または、ビデオデコーディングデバイスは、データをメモリからデコードして取得してよい。いくつかの例において、エンコーディングおよびデコーディングは、互いに通信しないが単にデータをメモリにエンコードするおよび/またはデータをメモリから取得するとともにデコードするデバイスによって実行される。
説明の便宜上、本発明の実施形態は、例えば、高効率ビデオコーディング(HEVC)または多目的ビデオコーディング(VVC)の参照ソフトウェア、ITU-Tビデオコーディング・エキスパート・グループ(VCEG)およびISO/IECモーション・画像・エキスパート・グループ(MPEG)のビデオコーディングに関するジョイント・コラボレーション・チーム(JCT-VC)によって開発された次世代ビデオコーディング規格を参照することによって、本明細書に記載される。当業者であれば、本発明の実施形態がHEVCまたはVVCに限定されるものではないことを理解するであろう。
[エンコーダおよびエンコーディング方法]
図2は、本願の技術を実行するように構成されている例示的なビデオエンコーダ20の概略ブロック図を示している。図2の例において、ビデオエンコーダ20は、入力201(または入力インタフェース201)と、残差計算ユニット204と、変換処理ユニット206と、量子化ユニット208と、逆量子化ユニット210と、逆変換処理ユニット212と、再構築ユニット214と、ループフィルタユニット220と、デコードされた画像バッファ(DPB)230と、モード選択ユニット260と、エントロピーエンコーディングユニット270と、出力272(または出力インタフェース272)とを備える。モード選択ユニット260は、インター予測ユニット244と、イントラ予測ユニット254と、区分化ユニット262とを含んでもよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニットを含んでよい(図示せず)。図2に示されるビデオエンコーダ20は、ハイブリッドビデオエンコーダ、またはハイブリッドビデオコーデックによるビデオエンコーダとも称され得る。
残差計算ユニット204と、変換処理ユニット206と、量子化ユニット208と、モード選択ユニット260とは、エンコーダ20の順方向信号経路を形成するものとして言及されてよく、一方、逆量子化ユニット210と、逆変換処理ユニット212と、再構築ユニット214と、バッファ216と、ループフィルタ220と、デコードされた画像バッファ(DPB)230と、インター予測ユニット244と、イントラ予測ユニット254とは、ビデオエンコーダ20の逆方向信号経路を形成するものとして言及されてよい。ビデオエンコーダ20の逆方向信号経路は、デコーダの信号経路に対応する(図3のビデオデコーダ30を参照)。逆量子化ユニット210と、逆変換処理ユニット212と、再構築ユニット214と、ループフィルタ220と、デコードされた画像バッファ(DPB)230と、インター予測ユニット244と、イントラ予測ユニット254とは、ビデオエンコーダ20の「内蔵デコーダ」を形成するものとも言及される。
[画像および画像区分化(画像およびブロック)]
エンコーダ20は、例えば、入力201を介して、画像17(または画像データ17)、例えば、ビデオまたはビデオシーケンスを形成する一連の画像のうちの画像を受信するように構成されてよい。受信された画像または画像データは、前処理された画像19(または前処理された画像データ19)であってもよい。簡潔にするために、以下の説明は画像17を指す。画像17は、現在の画像または符号化される画像とも称され得る(特に、ビデオコーディングにおいて、現在の画像を他の画像、例えば、同じビデオシーケンス、すなわち現在の画像も含むビデオシーケンスの、以前にエンコード済みおよび/またはデコードされた画像から区別するために)。
(デジタル)画像は、強度値を持つサンプルの2次元アレイまたは行列であるか、またはそれとみなされ得る。アレイ内のサンプルは、画素(画像要素の略称)またはペルとも称され得る。アレイまたは画像の水平および垂直方向(または軸)のサンプル数は、画像のサイズおよび/または解像度を定義する。色を表現するために、典型的には3つの色成分が利用され、すなわち、画像は、3つのサンプルアレイで表されてもまたはこれを含んでもよい。RBG形式または色空間では、画像は対応する赤、緑、および青のサンプルアレイを含む。しかしながら、ビデオコーディングでは、各画素は、典型的には輝度およびクロミナンス形式または色空間、例えばYCbCrで表され、これには、Y(代わりにLが用いられる場合もある)で示される輝度成分と、CbおよびCrで示される2つのクロミナンス成分とが含まれる。輝度(または略してルマ)成分Yは、明るさまたは(例えば、グレースケール画像でのような)グレーレベルの強度を表し、2つのクロミナンス(または略してクロマ(chroma))成分であるCbおよびCrは、色度または色情報成分を表す。したがって、YCbCr形式の画像は、輝度サンプル値(Y)の輝度サンプルアレイと、クロミナンス値(CbおよびCr)の2つのクロミナンスサンプルアレイとを含む。RGB形式の画像は、YCbCr形式に転換または変換され得、その逆もまた同様であり、このプロセスは、色変換または転換としても知られている。画像がモノクロの場合、画像は輝度サンプルアレイのみを含んでよい。したがって、画像は、例えば、モノクロ形式におけるルマサンプルのアレイ、または、4:2:0、4:2:2、および4:4:4のカラー形式におけるルマサンプルのアレイおよびクロマサンプルの2つの対応するアレイであってよい。
ビデオエンコーダ20の実施形態は、画像17を複数の(典型的には非重複)画像ブロック203に区分化するように構成されている画像区分化ユニット(図2には示されない)を備えてよい。これらのブロックは、ルートブロック、マクロブロック(H.264/AVC)またはコーディングツリーブロック(CTB)またはコーディングツリーユニット(CTU)(H.265/HEVCおよびVVC)とも称され得る。画像区分化ユニットは、ビデオシーケンスの全ての画像およびブロックサイズを定義する対応するグリッドに同じブロックサイズを使用するか、または、画像または画像のサブセットもしくはグループ間でブロックサイズを変化させて、各画像を対応するブロックに区分化するように構成されてよい。
さらなる実施形態において、ビデオエンコーダは、画像17のブロック203、例えば、画像17を形成する1つ、いくつかの、または全てのブロックを直接受信するように構成されてよい。画像ブロック203は、現在の画像ブロックまたは符号化される画像ブロックとも称され得る。
画像17と同様に、画像ブロック203は再度、画像17より小さい寸法であるが、強度値(サンプル値)を持つサンプルの2次元アレイまたはマトリックスであるか、または、それとみなすことができる。換言すれば、ブロック203は、例えば、1つのサンプルアレイ(例えば、モノクロ画像17の場合はルマアレイ、または、カラー画像の場合はルマもしくはクロマアレイ)、または3つのサンプルアレイ(例えば、カラー画像17の場合はルマおよび2つのクロマアレイ)、または、適用されるカラーフォーマットに応じた任意の他の数および/または種類のアレイを備えてよい。ブロック203の水平および垂直方向(または軸)のサンプル数は、ブロック203のサイズを定義する。したがって、ブロックは、例えば、サンプルのM×N(M列×N行)アレイ、または変換係数のM×Nアレイであってよい。
図2に示すビデオエンコーダ20の実施形態は、画像17をブロック毎にエンコードするように構成され得、例えば、エンコードおよび予測は、ブロック203毎に実行される。
図2に示すビデオエンコーダ20の実施形態は、スライス(ビデオスライスとも称される)を使用することによって画像を区分化および/またはエンコードするようにさらに構成され得、ここで画像は、1または複数のスライスを使用して区分化またはエンコードされ得(通常は重複しない)、各スライスは、1または複数のブロック(例えば、CTU)を含んでもよい。
図2に示すビデオエンコーダ20の実施形態は、タイルグループ(ビデオタイルグループとも称される)および/またはタイル(ビデオタイルとも称される)を使用することによって画像を区分化および/またはエンコードするようにさらに構成され得、画像は、1または複数のタイルグループ(通常は重複しない)を使用して区分化またはエンコードされ得、各タイルグループは、例えば1または複数のブロック(例えばCTU)または1または複数のタイルを含み得、各タイルは、例えば長方形の形状であり得、1または複数のブロック(例えばCTU)、例えば完全なブロックまたは部分的なブロックを含んでもよい。
[残差計算]
残差計算ユニット204は、例えば、サンプル毎(画素毎)に画像ブロック203のサンプル値から予測ブロック265のサンプル値を減算し、サンプル領域における残差ブロック205を取得することによって、画像ブロック203および予測ブロック265に基づいて(予測ブロック265に関するさらなる詳細は後で提供される)、残差ブロック205(残差205とも称される)を計算するように構成されてよい。
[変換]
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、例えば、離散コサイン変換(DCT)または離散サイン変換(DST)を適用し、変換領域における変換係数207を取得するように構成されてよい。変換係数207は、変換残差係数とも称されてよく、変換領域における残差ブロック205を表す。
変換処理ユニット206は、H.265/HEVCに指定された変換等のDCT/DSTの整数近似を適用するように構成されてよい。直交DCT変換に比較して、そのような整数近似は、典型的には特定の係数によってスケーリングされる。順変換および逆変換によって処理される残差ブロックのノルムを保存するべく、変換プロセスの一部として追加のスケーリング係数が適用される。スケーリング係数は、典型的には、シフト演算に関して2のべき乗であるスケーリング係数、変換係数のビット深度、確度と実装コストとの間のトレードオフなどのような特定の制約に基づいて選択される。例えば、特定のスケーリング係数が、例えば、逆変換処理ユニット212による逆変換(および、例えばビデオデコーダ30における逆変換処理ユニット312による対応する逆変換)に指定され、例えば、エンコーダ20における変換処理ユニット206による順方向変換のための対応するスケーリング係数が、相応に指定されてよい。
ビデオエンコーダ20の実施形態は(それぞれ変換処理ユニット206)は、変換パラメータ、例えば単数または複数の変換のタイプを、例えば、直接またはエントロピーエンコーディングユニット270を介してエンコードもしくは圧縮してから出力するように構成されてよく、それにより、例えば、ビデオデコーダ30は、デコーディングのための変換パラメータを受信して使用してよい。
[量子化]
量子化ユニット208は、例えば、スカラ量子化またはベクトル量子化を適用することによって、変換係数207を量子化して、量子化係数209を取得するように構成されてよい。量子化係数209は、量子化変換係数209または量子化残差係数209とも称され得る。
量子化プロセスは、変換係数207のいくつかまたは全てに関連付けられたビット深度を減少させ得る。例えば、量子化中にnビット変換係数がmビットの変換係数に切り捨てられてよく、nはmより大きい。量子化の程度は、量子化パラメータ(QP)を調整することによって変更されてよい。例えば、スカラ量子化の場合、より細かいまたはより粗い量子化を達成するために、異なるスケーリングが適用されてよい。量子化段階サイズが小さいほどより細かい量子化に対応し、一方で、量子化段階サイズが大きいほど粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示され得る。量子化パラメータは、例えば、適用可能な量子化ステップサイズの予め定義されたセットへのインデックスであり得る。例えば、小さな量子化パラメータは細かい量子化(小さな量子化段階サイズ)に対応し得、大きな量子化パラメータは粗い量子化(大きな量子化段階サイズ)に対応し得るか、または逆もまた同様である。量子化は、量子化段階サイズによる除算を含んでよく、例えば逆量子化ユニット210による対応するおよび/または逆量子化解除は、量子化段階サイズによる乗算を含んでよい。いくつかの規格、例えばHEVCに従った実施形態は、量子化段階サイズを決定するのに量子化パラメータを使用するように構成されてよい。概して、量子化段階サイズは、除算を含む方程式の固定小数点近似を使用する量子化パラメータに基づいて算出され得る。残差ブロックのノルムを復元するために、量子化および量子化解除に追加のスケーリング係数を導入し得、これは、量子化段階サイズおよび量子化パラメータの方程式の固定小数点近似で使用されるスケーリングに起因して変更され得る。例示的な一実装態様では、逆変換および量子化解除のスケーリングは組み合わされ得る。代替的には、カスタマイズされた量子化テーブルが使用され、例えばビットストリームにおいてエンコーダからデコーダにシグナリングされてよい。量子化は不可逆演算であり、損失は量子化段階サイズの増加に伴って増加する。
ビデオエンコーダ20の実施形態(それぞれの量子化ユニット208)は、量子化パラメータ(QP)、例えば直接かまたはエントロピーエンコーディングユニット270を介してエンコードしてから出力するように構成されてよく、それにより、例えば、ビデオデコーダ30は、デコーディングのための量子化パラメータを受信して適用してよい。
[逆量子化]
逆量子化ユニット210は、例えば、量子化ユニット208と同じ量子化段階サイズに基づいてまたはそれを使用して量子化ユニット208によって適用された量子化スキームの逆を適用することによって、量子化係数に対して量子化ユニット208の逆量子化を適用し、量子化解除係数211を取得するように構成されている。量子化解除係数211は、量子化解除残差係数211とも称され得、典型的には量子化による損失に起因して変換係数とは同一でないが、変換係数207に対応する。
[逆変換]
逆変換処理ユニット212は、変換処理ユニット206によって適用された変換の逆変換、例えば、逆離散コサイン変換(DCT)または逆離散サイン変換(DST)または他の逆変換を適用し、サンプル領域における再構築残差ブロック213(または対応する量子化解除係数213)を取得するように構成されている。再構築残差ブロック213は、変換ブロック213とも称され得る。
[再構築]
再構築ユニット214(例えば、加算器または合算器214)は、例えば、サンプル毎に、再構築残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することによって、変換ブロック213(すなわち、再構築残差ブロック213)を予測ブロック265に加算し、サンプル領域における再構築ブロック215を取得するように構成されている。
[フィルタ]
ループフィルタユニット220(または、略して「ループフィルタ」220)は、再構築ブロック215をフィルタして、フィルタリングされたブロック221を取得する、または、一般的に、再構築サンプルをフィルタして、フィルタリングされたサンプルを取得するように構成されている。ループフィルタユニットは、例えば、画素遷移を平滑化するか、またはそうでなければビデオ品質を改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応型オフセット(SAO)フィルタ、または、1または複数の他のフィルタ、例えば、バイラテラルフィルタ、適応ループフィルタ(ALF)、シャープ処理、平滑化フィルタもしくは協調フィルタ、または、それらの任意の組み合わせなどの1または複数のループフィルタを含んでもよい。ループフィルタユニット220が、ループフィルタ内にあるものとして図2に示されているが、他の構成では、ループフィルタユニット220はポストループフィルタとして実装されてもよい。フィルタリングされたブロック221は、フィルタリングされた再構築ブロック221とも称され得る。
ビデオエンコーダ20の実施形態(それぞれループフィルタユニット220)は、ループフィルタパラメータを(サンプル適応オフセット情報等)、例えば、直接またはエントロピーエンコーディングユニット270を介してエンコードしてから出力するように構成されてよく、それにより、例えば、デコーダ30は、デコーディングのために同じループフィルタパラメータまたはそれぞれのループフィルタを受信して適用してよい。
[デコードされた画像バッファ]
デコードされた画像バッファ(DPB)230は、ビデオエンコーダ20によってビデオデータをエンコーディングするための参照画像、または一般的に参照画像データを保存するメモリであってよい。DPB230は、シンクロナスDRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)等の様々なメモリデバイスのうちの任意のものによって形成されてよい。デコードされた画像バッファ(DPB)230は、1または複数のフィルタリングされたブロック221を保存するように構成されてよい。デコードされた画像バッファ230はさらに、同じ現在の画像または異なる画像、例えば以前の再構築画像の他の以前にフィルタリングされたブロック、例えば以前に再構築されたフィルタリングされたブロック221を格納するように構成されてよく、完全な、以前に再構築された、すなわちデコードされた画像(対応する参照ブロックおよび参照サンプル)および/または部分的に再構築された現在の画像(対応する参照ブロックおよび参照サンプル)を、例えばインター予測のために提供してよい。デコードされた画像バッファ(DPB)230は、例えば、再構築ブロック215がループフィルタユニット220によってフィルタリングされていない場合、1または複数のフィルタリングされていない再構築ブロック215、または一般的に、フィルタリングされていない再構築サンプル、または、再構築ブロックもしくはサンプルの任意の他のさらに処理されたバージョンを保存するように構成されてもよい。
[モード選択(区分化および予測)]
モード選択ユニット260は、区分化ユニット262と、インター予測ユニット244と、イントラ予測ユニット254とを備え、元の画像データ、例えば元のブロック203(現在の画像17の現在のブロック203)、および再構築画像データ、例えば、同じ(現在の)画像のおよび/または1または複数の以前のデコードされた画像からの、例えばデコードされた画像バッファ230もしくは他のバッファ(例えば、図示しないラインバッファ)からのフィルタリング済みおよび/またはフィルタリングされていない再構築サンプルもしくはブロックを受信または取得するように構成されている。再構築画像データは、予測ブロック265または予測因子265を取得するために、予測、例えばインター予測またはイントラ予測のための参照画像データとして使用される。
モード選択ユニット260は、現在のブロック予測モード(区分化を含まない)のための区分化および予測モード(例えば、イントラまたはインター予測モード)を決定または選択し、対応する予測ブロック265を生成するように構成されてよく、予測ブロック265は、残差ブロック205の計算のためおよび再構築ブロック215の再構築のために使用される。
モード選択ユニット260の実施形態は、区分化および予測モード(例えば、モード選択ユニット260によってサポートされているものまたはモード選択ユニット260に利用可能なものから)選択するように構成されてよく、これにより、最良のマッチング、または換言すれば、最小残差(最小残差は、送信または保存のための圧縮率がより良好であることを意味する)、または、最小シグナリングオーバヘッド(最小シグナリングオーバヘッドは、送信または保存のための圧縮率がより良好であることを意味する)、またはこれらの両方を考慮したもしくはバランスを取ったものを提供する。モード選択ユニット260は、レート歪み最適化(RDO)に基づいて区分化および予測モードを決定する、すなわち、最小レート歪みを提供する予測モードを選択するように構成されてよい。この文脈において「最良」、「最小」、「最適」などのような用語は、全般的な「最良」、「最小」、「最適」などを必ずしも指さず、値が閾値または他の制約を超過または下回り、潜在的に「最適未満選択」につながるが複雑性および処理時間を低減するような、終了または選択基準の達成を指してもよい。
換言すれば、区分化ユニット262は、例えば、四分木区分化(QT)、二分木区分化(BT)、もしくは三分木区分化(TT)、またはそれらの任意の組み合わせを繰り返し用いて、ブロック203をより小さいブロック区分またはサブブロック(再度ブロックを形成する)に区分化するように、また、例えば、ブロック区分またはサブブロックの各々のための予測を実行するように構成されてよく、モード選択は、区分化されたブロック203の木構造の選択を含み、予測モードは、ブロック区分またはサブブロックの各々に適用される。
以下では、例示的なビデオエンコーダ20によって実行される、区分化(例えば、区分化ユニット260による)および予測処理(インター予測ユニット244およびイントラ予測ユニット254による)をより詳細に説明する。
[区分化]
区分化ユニット262は、現在のブロック203をより小さい区分、例えば、正方形または長方形サイズのより小さいブロックに区分化(または分割)してよい。これらのより小さいブロック(サブブロックとも称され得る)は、さらにより小さい区分にさらに区分化されてよい。これは、ツリー区分化もしくは階層的ツリー区分化とも称され、ここで、例えばルートツリーレベル0(階層レベル0、深度0)にあるルートブロックは、再帰的に区分化、例えば、次に低いツリーレベル、例えばツリーレベル1(階層レベル1、深度1)にあるノードの2または2より多いブロックに区分化されてよく、これらのブロックは、例えば終了基準が達成されたことで、例えば最大ツリー深度または最小ブロックサイズに達したことで、区分化が終了するまで、次に低いレベル、例えばツリーレベル2(階層レベル2、深度2)の2または2より多いブロックに再度区分化されるなどしてよい。さらに区分化されないブロックは、ツリーのリーフブロックまたはリーフノードとも称される。2つの区分への区分化を用いるツリーは、二分木(BT)と称され、3つの区分への区分化を用いるツリーは、三分木(TT)と称され、4つの区分への区分化を用いるツリーは、四分木(QT)と称される。
前で言及したように、本明細書で使用される「ブロック」という用語は、画像の部分、特に正方形または長方形部分であってよい。例えば、HEVCおよびVVCを参照すると、ブロックは、コーディングツリーユニット(CTU)、コーディングユニット(CU)、予測ユニット(PU)、および変換ユニット(TU)であり得る、または、それに対応し得る、および/または、対応するブロック、例えば、コーディングツリーブロック(CTB)、コーディングブロック(CB)、変換ブロック(TB)、または、予測ブロック(PB)に対応し得る。
例えば、コーディングツリーユニット(CTU)は、3つのサンプルアレイを有する画像のルマサンプルのCTB、クロマサンプルの2つの対応するCTB、または、モノクロ画像のもしくはサンプルをコードするために使用された3つの別個のカラー平面およびシンタックス構造を用いて符号化された画像のサンプルのCTBであるか、またはそれらを含んでよい。対応して、コーディングツリーブロック(CTB)は、CTBへの構成要素の分割が区分化であるように、或るNの値に関してサンプルのN×Nブロックであってよい。コーディングユニット(CU)は、ルマサンプルのコーディングブロック、3つのサンプルアレイを有する画像のクロマサンプルの2つの対応するコーディングブロック、または、モノクロ画像のもしくはサンプルを符号化するために使用された3つの別個のカラー平面およびシンタックス構造を用いて符号化された画像のサンプルのコーディングブロックであるか、またはそれらを含んでよい。それに対応して、コーディングブロック(CB)は、コーディングブロックへのCTBの分割が区分化であるように、ある値MおよびNについてのM×Nブロックのサンプルであり得る。
例えばHEVCに従う実施形態において、コーディングツリーユニット(CTU)は、コーディングツリーとして表される四分木構造を用いることによってCUに分割されてよい。インター画像(時間的)予測またはイントラ画像(空間的)予測のどちらを用いて画像エリアを符号化するかの決定は、CUレベルで行われる。各CUは、PUの分割タイプによって、1つ、2つまたは4つのPUへさらに分割され得る。1つのPUの内部では、同じ予測処理が適用され、関連情報はPUベースでデコーダに送信される。PUの分割タイプに基づいて予測処理を適用することによって残差ブロックを取得した後に、CUは、CUについてのコーディングツリーと同様の別の四分木構造に、したがって、変換ユニット(TU)に区分化できる。
例えば、多目的ビデオコーディング(VVC)と称される、現在開発中の最新のビデオコーディング規格に従う実施形態において、組み合わされた四分木および二分木(QTBT)区分化は、例えば、コーディングブロックを区分化するのに使用される。QTBTブロック構造では、CUは、正方形または長方形のいずれかを有し得る。例えば、コーディングツリーユニット(CTU)はまず、四分木構造によって区分化される。クアッドツリーリーフノードはさらに、二分木または三値(またはトリプル)ツリー構造によって区分化される。区分化ツリーリーフノードは、コーディングユニット(CU)と称され、そのセグメンテーションは、任意のさらに区分化を伴うことなく、予測および変換処理に使用される。これは、CU、PUおよびTUがQTBTコーディングブロック構造内で同じブロックサイズを有することを意味する。並行して、複数の区分化、例えば、三分木区分化が、QTBTブロック構造と一緒に使用され得る。
一例において、ビデオエンコーダ20のモード選択ユニット260は、本明細書に記載の区分化技術の任意の組み合わせを実行するように構成されてよい。
上述したように、ビデオエンコーダ20は、(例えば予め決定された)予測モードの設定から、最良または最適な予測モードを決定または選択するように構成されている。予測モードの設定は、例えば、イントラ予測モードおよび/またはインター予測モードを含んでよい。
[イントラ予測]
イントラ予測モードの設定は、35の異なるイントラ予測モード、例えば、DC(またはミーン)モードおよび平面モードのような無方向性モード、もしくは、例えばHEVCにおいて定義されているような、方向性モードを含んでよく、または、67の異なるイントラ予測モード、例えば、DC(またはミーン)モードおよび平面モードのような無方向性モード、もしくは、例えばVVCに定義されている、方向性モードを含んでよい。
イントラ予測ユニット254は、同じ現在の画像の隣接ブロックの再構築サンプルを使用して、イントラ予測モードの設定のうちのイントラ予測モードによって、イントラ予測ブロック265を生成するように構成されている。
イントラ予測ユニット254(または一般的にモード選択ユニット260)は、イントラ予測パラメータ(またはブロックのために選択されたイントラ予測モードを示す一般的な情報)を、エンコードされた画像データ21に含まれるようにシンタックス要素266の形態でエントロピーエンコーディングユニット270に出力するようにさらに構成され、それにより、例えば、ビデオデコーダ30は、デコーディングのための予測パラメータを受信して使用してよい。
[インター予測]
インター予測モードの設定(または可能な)は、利用可能な参照画像(すなわち、例えばDBP230に保存された、以前の少なくとも部分的にデコードされた画像)および他のインター予測パラメータ、例えば、最良にマッチする参照ブロックの検索に使用されたのは、参照画像の全体なのかもしくは参照画像の一部のみ、例えば、現在のブロックのエリアの周りの検索窓エリアなのか、および/または、例えば、画素補間、例えばハーフ/セミペルおよび/またはクオータペル補間が適用されたか、または適用されていないかに依拠する。
上述の予測モードに加えて、スキップモードおよび/または直接モードが適用されてもよい。
インター予測ユニット244は、動き予測(ME)ユニットおよび動き補償(MC)ユニット(両方とも図2には図示せず)を備えてよい。動き推定ユニットは、画像ブロック203(現在の画像17の現在の画像ブロック203)およびデコードされた画像231、または、少なくとも1または複数の以前の再構築ブロック、例えば、1または複数の他の/異なる以前のデコードされた画像231の再構築ブロックを動き予測のために受信または取得するよう構成され得る。例えば、ビデオシーケンスは、現在の画像、および、以前のデコードされた画像231を含んでもよい、または、換言すれば、現在の画像および以前のデコードされた画像231は、ビデオシーケンスを形成する一連の画像の一部であり得る、または、それを形成し得る。
エンコーダ20は、例えば、複数の他の画像のうちの同じまたは異なる画像の複数の参照ブロックから参照ブロックを選択し、インター予測パラメータとして参照画像(または参照画像インデックス)および/または参照ブロックの位置(x、y座標)と現在のブロックの位置との間のオフセット(空間的オフセット)を動き推定ユニットに提供するように構成してよい。このオフセットは、動きベクトル(MV)とも呼ばれる。
動き補償ユニットは、インター予測パラメータを取得、例えば受信するとともに、そのインター予測パラメータに基づいてまたはそれを使用してインター予測を実行して、インター予測ブロック265を取得するように構成されている。動き補償ユニットによって実行される動き補償は、動き予測によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成し、場合によってサブ画素精度までの補間を実行することを伴ってよい。補間フィルタリングは、既知の画素サンプルから追加の画素サンプルを生成してよく、したがって、画像ブロックをコードするのに用いられ得る候補予測ブロックの数を潜在的に増加させる。現在の画像ブロックのPUのための動きベクトルを受信すると、動き補償ユニットは、参照画像リストのうちの1つにおいて動きベクトルが指し示す予測ブロックを位置特定してよい。
動き補償ユニットはまた、ビデオスライスの画像ブロックをデコードする際にビデオデコーダ30によって使用されるブロックおよびビデオスライスに関連するシンタックス要素を生成することができる。スライスおよびそれぞれのシンタックス要素に加えて、または代替的に、タイルグループおよび/またはタイル、ならびに、それぞれのシンタックス要素が生成または使用され得る。
[エントロピーコーディング]
エントロピーエンコーディングユニット270は、例えば、エントロピーエンコーディングアルゴリズムまたはスキーム(例えば、可変長コーディング(VLC)スキーム、コンテキスト適応VLCスキーム(CAVLC)、算術コーディングスキーム、バイナリゼーション、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率インターバル区分化エントロピー(PIPE)コーディング、または、別のエントロピーエンコーディング方法もしくは技術)、またはバイパス(無圧縮)を、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に適用し、例えばエンコードされたビットストリーム21の形態で出力272を介して出力できるエンコードされた画像データ21を取得するように構成され、それにより、例えば、ビデオデコーダ30は、デコーディングのためのパラメータを受信して使用してよい。エンコードされたビットストリーム21は、ビデオデコーダ30に送信、または、後でビデオデコーダ30によって送信または取得するためにメモリに保存されてよい。
ビデオエンコーダ20の他の構造的変形を、ビデオストリームをエンコードするのに用いることができる。例えば、非変換ベースのエンコーダ20は、特定のブロックまたはフレームのための変換処理ユニット206を用いずに直接的に残差信号を量子化できる。別の実装において、エンコーダ20は、単一のユニットに組み合わされた量子化ユニット208および逆量子化ユニット210を有することができる。
[デコーダおよびデコーディング方法]
図3は、本願の技術を実行するように構成されているビデオデコーダ30の例を示している。ビデオデコーダ30は、例えばエンコーダ20によってエンコードされた、エンコードされた画像データ21(例えば、エンコードされたビットストリーム21)を受信して、デコードされた画像331を取得するように構成されている。エンコードされた画像データまたはビットストリームは、エンコードされた画像データをデコードするための情報、例えば、エンコードされたビデオスライス(および/またはタイルグループまたはタイル)の画像ブロックおよび関連するシンタックス要素を表すデータを含む。図3の例では、デコーダ30は、エントロピーデコーディングユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構築ユニット314(例えば、合算器314)、ループフィルタ320、デコードされた画像バッファ(DBP)330、モード適用ユニット360、インター予測ユニット344、およびイントラ予測ユニット354を備える。インター予測ユニット344は、動き補償ユニットであるかまたはこれを備えてよい。ビデオデコーダ30は、いくつかの例では、図2のビデオエンコーダ100に関連して説明されたエンコーディングパスに対して、概して、逆のデコーディングパスを実行してよい。
エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構築ユニット214、ループフィルタ220、デコードされた画像バッファ(DPB)230、インター予測ユニット344、およびイントラ予測ユニット354も、ビデオエンコーダ20の「内蔵デコーダ」を形成するものとして言及される。したがって、逆量子化ユニット310は、逆量子化ユニット110と機能的に同一であってよく、逆変換処理ユニット312は、逆変換処理ユニット212と機能的に同一であってよく、再構築ユニット314は、再構築ユニット214と機能的に同一であってよく、ループフィルタ320は、ループフィルタ220と機能的に同一であってよく、デコードされた画像バッファ330は、デコードされた画像バッファ230と機能的に同一であってよい。したがって、ビデオエンコーダ20のそれぞれのユニットおよび機能について提供される説明は、ビデオデコーダ30のそれぞれのユニットおよび機能に対応して適用される。
[エントロピーデコーディング]
エントロピーデコーディングユニット304は、ビットストリーム21(または一般的にエンコードされた画像データ21)をパースし、例えば、エンコードされた画像データ21にエントロピーデコーディングを実行して、例えば量子化係数309および/またはデコードされたコーディングパラメータ(図3には図示せず)、例えば、インター予測パラメータ(例えば、参照画像インデックスおよび動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素のいずれかまたは全てを取得するように構成されている。エントロピーデコーディングユニット304は、エンコーダ20のエントロピーエンコーディングユニット270に関して記載されたエンコーディングスキームに対応するデコーディングアルゴリズムまたはスキームを適用するように構成されてよい。エントロピーデコーディングユニット304は、インター予測パラメータ、イントラ予測パラメータ、および/または他のシンタックス要素をモード適用ユニット360に、また他のパラメータをデコーダ30の他のユニットに提供するようにさらに構成されてよい。ビデオデコーダ30は、ビデオスライスレベルでおよび/またはビデオブロックレベルで、シンタックス要素を受信してよい。スライスおよびそれぞれのシンタックス要素に加えて、または代替的に、タイルグループおよび/またはタイル、ならびに、それぞれのシンタックス要素が受信および/または使用され得る。
[逆量子化]
逆量子化ユニット310は、エンコードされた画像データ21から量子化パラメータ(QP)(または一般的に逆量子化に関連する情報)および量子化係数を受信する(例えばエントロピーデコーディングユニット304によって、例えば解析および/またはデコードすることによって)とともに、量子化パラメータに基づいて、デコードされた量子化係数309に逆量子化を適用し、変換係数311とも称され得る量子化解除係数311を取得するように構成されてよい。逆量子化プロセスは、量子化の程度、また同様に適用されるべき逆量子化の程度を決定するために、ビデオスライス(またはタイルもしくはタイルグループ)内のビデオブロック毎にビデオエンコーダ20によって決定される量子化パラメータの使用を含んでよい。
[逆変換]
逆変換処理ユニット312は、変換係数311とも称される量子化解除係数311を受信するとともに、サンプル領域における再構築残差ブロック213を取得するべく、量子化解除係数311に変換を適用するように構成されてよい。再構築残差ブロック213は、変換ブロック313とも称され得る。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、または概念的に同様の逆変換プロセスであってよい。逆変換処理ユニット312は、エンコードされた画像データ21から変換パラメータまたは対応する情報を受信し(例えばエントロピーデコーディングユニット304によって、例えば解析および/またはデコードすることによって)、量子化解除係数311に適用されるべき変換を決定するようにさらに構成されてよい。
[再構築]
再構築ユニット314(例えば、加算器または合算器314)は、再構築残差ブロック313を予測ブロック365に加算し、例えば、再構築残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、サンプル領域における再構築ブロック315を取得するように構成されてよい。
[フィルタ]
ループフィルタユニット320(コーディングループ内またはコーディングループの後のいずれかにある)は、例えば、画素遷移を円滑にするように、またはビデオ品質を別様に改善するように、再構築ブロック315をフィルタして、フィルタリングされたブロック321を取得するように構成されている。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応型オフセット(SAO)フィルタ、または、1または複数の他のフィルタ、例えば、バイラテラルフィルタ、適応ループフィルタ(ALF)、シャープ処理、平滑化フィルタ、または協調フィルタ、またはそれらの任意の組み合わせなど、1または複数のループフィルタを含んでもよい。ループフィルタユニット320が、ループフィルタ内にあるものとして図3に示されているが、他の構成では、ループフィルタユニット320はポストループフィルタとして実装されてもよい。
[デコードされた画像バッファ]
画像のデコードされたビデオブロック321は、その後、デコードされた画像バッファ330に保存され、デコードされた画像バッファ330は、デコードされた画像331を他の画像の後続の動き補償のためのおよび/またはそれぞれ表示を出力するための参照画像として保存する。デコーダ30は、例えば出力312を介して、ユーザに提示または視聴させるために、デコードされた画像311を出力するように構成されている。
[予測]
インター予測ユニット344は、インター予測ユニット244(特に、動き補償ユニット)と同一であってよく、イントラ予測ユニット354は、インター予測ユニット254と機能的に同一であってよく、エンコードされた画像データ21から受信(例えば、エントロピーデコーディングユニット304によって、例えば、解析および/またはデコードすることによって)された区分化および/または予測パラメータまたはそれぞれの情報に基づいて分割または区分化の決定および予測を実行する。モード適用ユニット360は、再構築画像、ブロック、またはそれぞれのサンプル(フィルタリング済みまたはフィルタリングされていない)に基づいてブロック毎に予測(イントラまたはインター予測)を実行し、予測ブロック365を取得するように構成されてよい。
ビデオスライスがイントラ符号化(I)スライスとして符号化される場合、モード適用ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードおよび現在の画像の以前にデコードされたブロックからのデータに基づいて、現在のビデオスライスの画像ブロックに対する予測ブロック365を生成するように構成される。
ビデオ画像がインター符号化(すなわち、BまたはP)スライスとして符号化されている場合、モード適用ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、動きベクトルおよびエントロピーデコーディングユニット304から受信された他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロック365を生成するように構成されている。インター予測では、予測ブロックは、複数の参照画像リストのうちの1つに含まれる複数の参照画像のうちの1つから生成されてよい。ビデオデコーダ30は、リスト0およびリスト1という基準フレームリストを、デフォルトの構築技術を用いて、DPB330に保存された参照画像に基づいて構築してよい。同一または同様のことが、スライス(例えばビデオスライス)に追加的または代替的にタイルグループ(例えばビデオタイルグループ)および/またはタイル(例えばビデオタイル)を使用する実施形態について、または、それによって適用され得る。例えば、ビデオは、I、P、またはBタイルグループおよび/またはタイルを使用して符号化され得る。
モード適用ユニット360は、動きベクトルまたは関連情報および他のシンタックス要素を解析することによって、現在のビデオスライスのビデオブロックのための予測情報を決定するように構成され、デコードされている現在のビデオブロックのための予測ブロックを生成するために上述の予測情報を使用する。例えば、モード適用ユニット360は、受信されたシンタックス要素のいくつかを用いて、ビデオスライスのビデオブロックを符号化するのに用いられた予測モード(例えば、イントラまたはインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)、スライスのための参照画像リストのうちの1または複数に関する構築情報、スライスの各インターエンコードされたビデオブロック毎の動きベクトル、スライスのインター符号化されたビデオブロック毎のインター予測ステータス、および現在のビデオスライス内のビデオブロックをデコードするための他の情報を決定する。同一または同様のことが、スライス(例えばビデオスライス)に追加的または代替的にタイルグループ(例えばビデオタイルグループ)および/またはタイル(例えばビデオタイル)を使用する実施形態について、または、それによって適用され得る。例えば、ビデオは、I、P、またはBタイルグループおよび/またはタイルを使用して符号化され得る。
図3に示されるビデオデコーダ30の実施形態は、スライス(ビデオスライスとも称される)を使用して、画像を区分化および/またはデコードするように構成されてよく、画像は、1または複数のスライス(典型的には非重複)を使用して区分化またはデコードされてよく、各スライスは、1または複数のブロック(例えば、CTU)を含んでよい。
図3に示されるビデオデコーダ30の実施形態は、タイルグループ(ビデオタイルグループとも称される)および/またはタイル(ビデオタイルとも称される)を使用して、画像を区分化および/またはデコードするように構成されてよく、画像は、1または複数のタイルグループ(典型的には非重複)を使用して区分化またはデコードされてよく、各タイルグループは、例えば、1または複数のブロック(例えば、CTU)もしくは1または複数のタイルを含んでよく、各タイルは、例えば、長方形の形状であってよく、1または複数のブロック(例えば、CTU)、例えば、完全なまたは部分的なブロックを含んでよい。
ビデオデコーダ30の他の変更形態を、エンコードされた画像データ21をデコードするのに用いることができる。例えば、デコーダ30は、ループフィルタリングユニット320を用いずに、出力ビデオストリームを生成することができる。例えば、非変換ベースのデコーダ30は、特定のブロックまたはフレームのための逆変換処理ユニット312を用いずに、残差信号を直接的に逆量子化することができる。別の実装において、ビデオデコーダ30は、単一のユニットに組み合わされた逆量子化ユニット310および逆変換処理ユニット312を有することができる。
エンコーダ20およびデコーダ30において、現在の段階の処理結果は、さらに処理されて、その後、次の段階に出力されてよいことが理解されるべきである。例えば、補間フィルタリング、動きベクトル導出またはループフィルタリングの後に、クリップまたはシフト等のさらなる操作を、補間フィルタリング、動きベクトル導出またはループフィルタリングの処理結果に対して実行してよい。
さらなる操作を、現在のブロックの導出された動きベクトル(限定しないが、アフィンモードの制御点動きベクトル、アフィン、平面、ATMVPモードにおけるサブブロック動きベクトル、時間的な動きベクトル等を含む)に適用してよいことに留意すべきである。例えば、動きベクトルの値は、その表現ビットによって予め定義された範囲に制限される。動きベクトルの表現ビットがbitDepthである場合、即ち、その範囲は、-2^(bitDepth-1)~2^(bitDepth-1)-1であり、ここで、「^」はべき乗を意味する。例えば、bitDepthが16に等しく設定されている場合、その範囲は-32768~32767であり、bitDepthが18に等しく設定されている場合、その範囲は-131072~131071である。例えば、導出された動きベクトル(例えば、1つの8×8ブロックにおける4つの4×4サブブロックのMV)の値は、4つの4×4サブブロックMVの整数部分の間の最大差が、1画素以下など、N画素以下であるように制限される。ここで、bitDepthによって動きベクトルを制限する2つの方法を提供する。
方法1:フロー演算によりオーバフローMSB(最上位ビット)を除去する。
Figure 2023520326000002
Figure 2023520326000003
Figure 2023520326000004
Figure 2023520326000005
mvxは、イメージブロックまたはサブブロックの動きベクトルの水平成分であり、mvyは、イメージブロックまたはサブブロックの動きベクトルの垂直成分であり、uxおよびuyは、中間値を示す。
例えば、式(1)および(2)の適用後、mvxの値が-32769である場合、結果として得られる値は32767である。コンピュータシステムにおいて、十進数は、2の補数として保存される。-32769の2の補数は、1,0111,1111,1111,1111(17ビット)であり、その後、MSBが破棄されるので、結果として得られる2の補数は、式(1)および(2)を適用することによる出力と同じである0111,1111,1111,1111(十進数は32767である)である。
Figure 2023520326000006
Figure 2023520326000007
Figure 2023520326000008
Figure 2023520326000009
操作は、式(5)~(8)に示すように、mvpおよびmvdの合計中に適用されてよい。
方法2:値をクリップしてオーバフローMSBを除去する。
Figure 2023520326000010
ここで、vxは画像ブロックまたはサブブロックの動きベクトルの水平成分、vyは画像ブロックまたはサブブロックの動きベクトルの垂直成分、x、y、zはそれぞれMVクリップ処理の3つの入力値に対応し、関数Clip3の定義は以下のとおりである。
Figure 2023520326000011
図4は、本開示の一実施形態によるビデオコーディングデバイス400の概略図である。
ビデオコーディングデバイス400は、本明細書に記載の開示される実施形態を実装するのに好適なものである。一実施形態において、ビデオコーディングデバイス400は、図1Aのビデオデコーダ30等のデコーダ、または、図1Aのビデオエンコーダ20等のエンコーダであってよい。
ビデオコーディングデバイス400は、データを受信するための入口ポート410(または、入力ポート410)および受信器ユニット(Rx)420と、データを処理するためのプロセッサ、論理ユニット、または中央演算処理装置(CPU)430と、データを送信するための送信器ユニット(Tx)440および出口ポート450(または出力ポート450)と、データを保存するためのメモリ460とを備える。ビデオコーディングデバイス400は、入口ポート410、受信器ユニット420、送信器ユニット440、および、光または電気信号の出入りのための出口ポート450に連結されている、光/電気(OE)構成要素および電気/光(EO)構成要素を備えてもよい。
プロセッサ430は、ハードウェアおよびソフトウェアによって実装される。プロセッサ430は、1または複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、FPGA、ASIC、およびDSPとして実装されてよい。プロセッサ430は、入口ポート410、受信器ユニット420、送信器ユニット440、出口ポート450、およびメモリ460と通信する。プロセッサ430は、コーディングモジュール470を備える。コーディングモジュール470は、上述した開示される実施形態を実装する。例えば、コーディングモジュール470は、様々なコーディング演算を実装、処理、準備、または提供する。したがって、コーディングモジュール470を含むことにより、ビデオコーディングデバイス400の機能の大幅な改善が提供され、ビデオコーディングデバイス400の異なる状態への変換がもたらされる。代替的に、コーディングモジュール470は、メモリ460に保存されてプロセッサ430により実行される命令として実装される。
メモリ460は、1または複数のディスク、テープドライブ、およびソリッドステートドライブを備えてよく、プログラムが実行のために選択された場合のようなプログラムを保存するとともに、プログラム実行中に読み取られる命令およびデータを保存するために、オーバーフローデータストレージデバイスとして使用されてよい。メモリ460は、例えば、揮発性および/または不揮発性であってよく、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(TCAM)、および/または、スタティックランダムアクセスメモリ(SRAM)であってよい。
図5は、例示的な実施形態に従い、図1のソースデバイス12およびデスティネーションデバイス14のいずれかまたは両方として使用され得る装置500の簡略ブロック図である。
装置500におけるプロセッサ502は、中央演算処理装置とすることができる。代替的に、プロセッサ502は、既存の、または、今後開発される、情報を操作または処理することができる任意の他のタイプのデバイス、または、複数のデバイスであり得る。開示される実装は、示されているような単一のプロセッサ、例えばプロセッサ502を用いて実施され得るが、速度および効率上の利点は、1つより多くのプロセッサを用いて達成され得る。
装置500におけるメモリ504は、実装において、リードオンリメモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスとすることができる。任意の他の好適なタイプのストレージデバイスが、メモリ504として用いられ得る。メモリ504は、バス512を用いてプロセッサ502によってアクセスされるコードおよびデータ506を備えることができる。メモリ504は、オペレーティングシステム508およびアプリケーションプログラム510をさらに備えることができ、アプリケーションプログラム510は、プロセッサ502が本明細書に記載の方法を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510は、アプリケーション1~Nを含むことができ、アプリケーション1~Nは、本明細書に記載の方法を実行するビデオコーディングアプリケーションをさらに含む。
装置500は、ディスプレイ518等の、1または複数の出力デバイスも備えることができる。ディスプレイ518は、一例において、ディスプレイと、タッチ入力を検知するように動作可能なタッチセンサ素子とを組み合わせたタッチセンサ式ディスプレイであってよい。ディスプレイ518は、バス512を介してプロセッサ502に連結され得る。
単一のバスとして本明細書に示したが、装置500のバス512は、複数のバスから構成することができる。さらに、セカンダリストレージ514は、装置500の他のコンポーネントに直接的に連結されてもよく、またはネットワークを介してアクセスされてもよく、メモリカードなどの単一の統合されたユニットまたは複数のメモリカードなどの複数のユニットを備えてよい。したがって、装置500は、多種多様な構成で実装することができる。
[背景技術]
[パラメータセット]
パラメータセットは、基本的に同様で、同じ基本的な設計目標(すなわち、ビットレート効率、エラー耐性、およびシステム層インタフェースの提供)を共有している。HEVC(H.265)には、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、および画像パラメータセット(PPS)を含むパラメータセットの階層が存在し、それらはAVCおよびVVCにおいて自らのカウンターパートと同様である。各スライスは、スライスをデコードするのに使用される情報にアクセスするために、単一のアクティブPPS、SPSおよびVPSを参照する。PPSは、画像内の全てのスライスに適用される情報を含むので、画像内の全てのスライスは同じPPSを参照しなければならない。異なる画像内のスライスも、同じPPSを参照することが可能である。同様に、SPSは、同じ符号化ビデオシーケンスで全ての画像に適用される情報を含む。
PPSは個別の画像ごとに異なり得るが、符号化ビデオシーケンスにおける多くのまたは全ての画像が同じPPSを参照することは一般的である。パラメータセットを再利用することは、共有された情報を複数回送信する必要性を回避するので、ビットレートが効率的にさせる。それはまた、パラメータセットのコンテンツを、それが損失されないことを確実にするべく、いくつかのより信頼できる外部の通信リンクによって搬送されるまたはビットストリーム内で頻繁に繰り返されることを可能にするので、損失に強い。
シーケンスパラメータセット(SPS):各画像ヘッダにあるシンタックス要素が参照するPPSにあるシンタックス要素の内容によって決定される、ゼロまたはそれ以上のCLVSS全体に適用されるシンタックス要素を含むシンタックス構造。
パラメータセット(VPSまたはSPSなど)は、通常、Raw Byte Sequence Payload(RBSP)という形態でカプセル化されている。RBSPは、NALユニットでカプセル化された整数バイトを含むシンタックス構造であり、空であるか、またはシンタックス要素を含むデータストリングビット列の後にRBSPストップビットと、0に等しいゼロまたはそれ以上の後続ビットが続く形式のいずれかである。
NALユニットは、後に続くデータのタイプを示すインジケーションと、必要に応じてエミュレーション防止バイトが入り混じる(Raw Byte Sequence Payload)RBSPの形式でそのデータを含むバイトを含むシンタックス構造である。エミュレーション防止バイトは、例えば、0×03に等しいバイトである。
一般的に、ビットストリーム中のNALユニットは2つのクラスに分割することができる。ビデオコーディングレイヤ(VCL)NALユニットと非VCL NALユニットである。画像の必須符号化データを提供しないパラメータセット(VPSまたはSPSなど)を含むNALユニットは、非VCL NALユニットタイプに属する。これに対して、画像の必須符号化データ(I画像符号化ビデオデータなど)を含むNALユニットをVCL NALユニットと呼ぶ。
表5のVVC Draft8では、各NALユニットのNALユニットタイプとその分類が定義されている。
さらなる詳細は、VVC Draft8を参照されたい。
換言すれば、まずパラメータセットがRBSPにカプセル化され、さらにRBSPがNALユニットにカプセル化される。パラメータセットがRBSPにカプセル化される場合、RBSPがバイト整合されていることを確認するべく、いくつかの余分なダミービットが付加されることがある。RBSPをNALユニットでカプセル化する場合、NALユニットヘッダの先頭にNALユニットヘッダが付加される。NALユニットヘッダは、以下のシンタックス要素を持つ。
Figure 2023520326000012
forbidden_zero_bitは0に等しいものとする。
nuh_reserved_zero_bitは0に等しいものとする。
nuh_layer_idは、VCL NALユニットが属するレイヤの識別子、または非VCL NALユニットが適用されるレイヤの識別子を指定する。
nal_unit_typeは、NALユニットタイプを指定し、すなわち表5のVVC Draft8に規定されるNALユニットに含まれるRBSPデータ構造のタイプを指定する。
nuh_temporal_id_plus1マイナス1は、NALユニットの時間的識別子を指定する。
[スケーラブルビデオコーディング、レイヤおよびビデオパラメータセット(VPS)]
スケーラブルビデオコーディングは、ビデオを複数のレイヤでコーディングするメカニズムを提供し、各レイヤは同じビデオシーンの異なる品質表現を表す。基準層(BL)は、最も低い品質表現である。1または複数のエンハンスメントレイヤ(ELS)は、下位レイヤを参照して符号化され、改善されたビデオ品質を提供することができる。スケーラブル符号化されたビデオビットストリームのレイヤのサブセットをデコードすると、全ビットストリームをデコードした場合よりも低い結果であるが、依然として許容できる品質のビデオという結果となる。このため、ビットレートの低下により通常ビデオ品質の劣化がより激しくなり、しばしば急速に視聴に耐えられない品質になることがあるノンスケーラブルのビデオビットストリームと比較して、より緩やかな劣化が可能になる。
スケーラブルビデオシーケンスには、時間的スケーラビリティ、空間的スケーラビリティ、品質的スケーラビリティなどを含む、複数の種類のスケーラビリティが存在する。図6は、空間的および時間的スケーラビリティの両方を示す例を提供する。図6では、異なる解像度で符号化された2つのレイヤが存在する。BLは低い解像度、ELはより高い解像度であり、デコーダはBL、ELのいずれか、または両方のデコードを提供することで、空間的スケーラビリティを達成する。空間的スケーラビリティに加えて、時間的スケーラビリティも符号化レイヤの中で達成される。この例では、各符号化レイヤは2つの時間的サブレイヤに分割され、それぞれ時間IDの0と1によってラベル付けされる。時間的スケーラビリティは、デコーダが時間的サブレイヤ0(時間IDは0に等しい)のいずれかまたはサブレイヤ0と1の両方のデコードを提供することで達成される。
異なるレイヤの画像は、異なるレイヤID、例えば、シンタックス要素nuh_layer_idで割り当てられる。符号化レイヤビデオシーケンス(CLVS)は、nuh_layer_idが同じ値である一連の画像であり、デコーディング順で、特別な符号化レイヤビデオシーケンス開始符号化画像(CLVSS、例えばイントラ画像)、後続のCLVSS画像ではないゼロまたはそれ以上の画像から構成され、それまでの全ての後続画像を含むが、CLVSS画像であるいかなる後続画像は含まない。
VPSが適用できる符号化ビデオシーケンス(CVS)は、1または複数の符号化レイヤビデオシーケンス(CLVS)で構成される。図6の例では、BLとELの最初の画像がCLVSS画像であり、全ての他の画像はCLVSS画像ではないと仮定すると、これは2つのCLVSSから構成されるCVSとなる。
レイヤは独立レイヤまたは従属レイヤを含み、従属レイヤの予測は、その1または複数の参照レイヤを参照してインターレイヤ予測を使用する必要があり、参照レイヤのレイヤIDは従属レイヤのレイヤIDよりも低くてもよい。インターレイヤ予測を用いずに、独立レイヤを予測する。
出力のために同時に関連付けられる異なるレイヤに属する画像は、アクセスユニット(AU)を形成する。例えば、図6では、画像Aと画像Bは同じAUに属している。
図7は、画像を4つのタイル(2つのタイル列と2つのタイル行)、4つの長方形スライス、および3つのサブ画像に分割したものを示す。
ITU JVET-Q2001-v13のVPSのレイヤとサブレイヤの情報の一部のスナップショットを以下の表のいくつかの部分に示し、ダウンロードリンクは以下の通りである。
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/17_Brussels/wg11/JVET-Q2001-v13.zip.
本出願の残りの部分では、この文献を簡略化してVVC Draft8と呼ぶ。
Figure 2023520326000013
VVC Draft8によると、
vps_video_parameter_set_idは、他のシンタックス要素(例えば、SPS)が参照するためのVPSの識別子を提供する。vps_video_parameter_set_idの値は0より大きいものとする。
vps_max_layers_minus1 plus1は、VPSを参照する各CVSで許される最大レイヤ数を指定する。
vps_max_sublayers_minus1 plus1は、VPSを参照する各CVSのレイヤに存在してよい時間的サブレイヤの最大数を指定する。vps_max_sublayers_minus1の値は、0から6までを含む範囲であるものとする。
vps_all_layers_same_num_sublayers_flagが1に等しい場合、VPSを参照している各CVSの全てのレイヤで、時間的サブレイヤの数が同じであることを指定する。vps_all_layers_same_num_sublayers_flagが0に等しい場合、VPSを参照している各CVSのレイヤは、同じ数の時間的サブレイヤを持っていてもよく、または持っていなくてもよいことを指定する。存在しない場合、vps_all_layers_same_num_sublayers_flagの値は1に等しいと推定される。存在しない場合、vps_max_layers_minus1は0に等しいこと、または、vps_max_sublayers_minus1は0に等しいことは、CVS内に最大1つのレイヤ、またはCVS内に最大1つのサブレイヤがあることを意味する。
vps_all_independent_layers_flagが1に等しい場合、CVSの全てのレイヤがインターレイヤ予測を用いずに独立に符号化されることを指定する。vps_all_independent_layers_flagが0に等しい場合、CVSの1または複数のレイヤがインターレイヤ予測を用いることができることを指定する。存在しない場合、vps_all_independent_layers_flagの値は1に等しいと推定される。CVSに複数のレイヤがある場合のみ、このフラグが立つことは理解できる。
vps_layer_id[i]は、i番目のレイヤのnuh_layer_idの値を指定する。任意の2つの非負の整数値mとnについて、mがnより小さい場合、vps_layer_id[m]の値はvps_layer_id[n]より小さいものとする。
vps_independent_layer_flag[i]が1に等しい場合、インデックスiのレイヤはインターレイヤ予測を使用しないことを指定する。vps_independent_layer_flag[i]が0に等しい場合、インデックスiのレイヤはインターレイヤ予測を使用することができ、0からi-1までを含む範囲のjのシンタックス要素vps_direct_ref_layer_flag[i][j]がVPSに存在することを指定する。存在しない場合、vps_independent_layer_flag[i]の値は1に等しいと推定される。
vps_direct_ref_layer_flag[i][j]が0に等しい場合、インデックスjのレイヤはインデックスiのレイヤの直接参照レイヤでないことを指定する。vps_direct_ref_layer_flag[i][j]が1に等しい場合、インデックスjのレイヤがインデックスiのレイヤの直接参照レイヤであることを指定する。vps_direct_ref_layer_flag[i][j]が0からvps_max_layers_minus1までを含む範囲のiとjに存在しない場合、0と等しいと推定される。vps_independent_layer_flag[i]が0に等しい場合、vps_direct_ref_layer_flag[i][j]の値が1と等しくなるように、0からi-1までを含む範囲で少なくとも1つの値のjが存在するものとする。
VPSでシグナリングされた他のシンタックス要素もあるが、本発明にはあまり関係ない。詳細な説明は、VVC Draft8を参照されたい。
[シーケンスパラメータセット(SPS)]
SPSは、符号化ビデオシーケンスの1または複数の層に適用されるパラメータを含み、符号化ビデオシーケンス内で画像から画像に変更されない。通常、1つのSPSは1つのCLVSに適用され、どのVPSを参照しているかを表すVPS識別子が含まれる。異なるCLVSSに適用される複数のSPSが同一のVPSを参照する場合、それらのSPSのVPS識別子は同一であるものとする。
以下の表のいくつかの部分は、VVC Draft8におけるSPSのレイヤ関連シンタックス要素のシグナリングの一部のスナップショットを示す。
Figure 2023520326000014
[DPBパラメータのシンタックス]
Figure 2023520326000015
sps_seq_parameter_set_idは、他のシンタックス要素(例えば、画像パラメータセット)が参照するための、SPSの識別子を提供する。
sps_video_parameter_set_idは、0より大きい場合、SPSが参照するVPSのvps_video_parameter_set_idの値を指定する。
sps_video_parameter_set_idが0に等しい場合、以下が適用される。
-SPSはVPSを参照しない。
-SPSを参照している各CLVSをデコーディングする場合、VPSは参照しない。
-vps_max_layers_minus1の値は0に等しいと推定される。
-CVSは1つのレイヤのみを含む(すなわち、CVS内の全てのVCL NALユニットはnuh_layer_idは同じ値でなければならない)。
-GeneralLayerIdx[nuh_layer_id]の値は0に等しいと推定される。
-vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は1に等しいと推定される。
変数GeneralLayerIdx[nuh_layer_id]は、以下の処理を用いて取得する。
Figure 2023520326000016
iのための0からvps_max_layers_minus1までを含む、vps_max_layers_minus1とvps_layer_id[i]の値は、VPSでシグナリングされる。
iのための1からvps_max_layers_minus1までを含む、vps_independent_layer_flag[i]の値は、VPSでシグナリングされる。
VVC Draft8によると、
sps_max_sublayers_minus1 plus1は、SPSを参照する各CLVSに存在し得る時間的サブレイヤの最大数を指定する。sps_max_sublayers_minus1の値は、0からvps_max_sublayers_minus1までを含む範囲であるものとする。
本明細書の仕様に準拠したビットストリームでは、sps_reserved_zero_4bitsは0に等しいものとする。sps_reserved_zero_4bitsの他の値は、ITU-T | ISO/IECによる将来の使用のために確保される。
sps_ptl_dpb_hrd_params_present_flagが1に等しい場合、SPSにprofile_tier_level( )シンタックス構造と、dpb_parameters( )シンタックス構造とが存在し、general_hrd_parameters( )シンタックス構造と、ols_hrd_parameters( )シンタックス構造もSPSに存在してもよいことを指定する。sps_ptl_dpb_hrd_params_present_flagが0に等しい場合は、これら4つのシンタックス構造のいずれもSPSに存在しないことを指定する。sps_ptl_dpb_hrd_params_present_flagの値はvps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]と等しいものとする。
sps_general_hrd_params_present_flagは、general_hrd_parameters( )と、ols_hrd_parameters( )のシグナリングを許可しない。したがって、sps_ptl_dpb_hrd_params_present_flagが1に等しくても、general_hrd_parameters( )と、ols_hrd_parameters( )のシグナリングは保証されない。しかしながら、シンタックス構造profile_tier_level( )と、dpb_parameters( )は、sps_ptl_dpb_hrd_params_present_flagのフラグにより直接コントロールされる。したがって、sps_ptl_dpb_hrd_params_present_flagの値が1に等しい場合、これら2つのシンタックスは必ずシグナリングされる。profile_tier_level( )と、dpb_parameters( )と、general_hrd_parameters( )と、ols_hrd_parameters( )のシンタックス構造の詳細は、VVC Draft8を参照されたい。また、sps_ptl_dpb_hrd_params_present_flagというシンタックスには制限があり、それを含むSPSが独立レイヤに(すなわち、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しい)適用される場合、値は1に等しいものとする。
inter_layer_ref_pics_present_flagが0に等しい場合、CLVS内の符号化画像のインター予測にILRPが使用されないことを指定する。inter_layer_ref_pics_present_flagが1に等しい場合、CLVS内の1または複数の符号化画像のインター予測にILRPが使用される可能性があることを指定する。sps_video_parameter_set_idが0に等しい場合、inter_layer_ref_pics_present_flagの値は0に等しいと推定される。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しい場合、inter_layer_ref_pics_present_flagの値は0に等しいものとする。
ILRPとはインターレイヤ参照画像の略語で、同じAUでnuh_layer_idが現在の画像のnuh_layer_idより小さい画像のインター予測に使用される画像を表す用語である。例えば、図6において、画像Aを画像Bのインター予測に使用する場合、Aは画像BのILRPとなる。
dpb_parameters( )シンタックス構造は、1または複数のOLSのDPBサイズ、最大画像順序再設定数、および最大レイテンシの情報を提供する。
VPSにdpb_parameters( )シンタックス構造が含まれる場合、dpb_parameters( )シンタックス構造が適用されるOLSはVPSによって指定される。SPSにdpb_parameters( )シンタックス構造が含まれる場合、SPSを参照するレイヤのうち最下位レイヤであるレイヤのみを含むOLSに適用され、この最下位レイヤは独立レイヤである。
dpb_max_dec_pic_buffering_minus1[i] plus1は、Htidがiに等しい場合のDPBの最大要求サイズを画像保存バッファの単位で指定する。dpb_max_dec_pic_buffering_minus1[i]の値は、0からMaxDpbSize-1までを含む範囲であるものとし、MaxDpbSizeはA.4.2節に指定する。iが0より大きい場合、dpb_max_dec_pic_buffering_minus1[i]はdpb_max_dec_pic_buffering_minus1[i-1]より大きいまたはそれと等しいものとする。subLayerInfoFlagが0に等しいことにより、dpb_max_dec_pic_buffering_minus1[i]が0からMaxSubLayersMinus1-1までを含む範囲で存在しない場合、dpb_max_dec_pic_buffering_minus1[MaxSubLayersMinus1]と等しいものと推定される。
dpb_max_num_reorder_pics[i]は、Htidがiに等しい場合、OLS内の任意の画像に先行し、出力順序でその画像にデコーディング順で後続することができるOLS内の画像の最大許容個数を指定する。dpb_max_num_reorder_pics[i]の値は、0からdpb_max_dec_pic_buffering_minus1[i]までを含む範囲であるものとする。iが0より大きい場合、dpb_max_num_reorder_pics[i]はdpb_max_num_reorder_pics[i-1]より大きいまたはこれと等しいものとする。subLayerInfoFlagが0に等しいことにより、0からMaxSubLayersMinus1-1までを含む範囲内のiについてdpb_max_num_reorder_pics[i]が存在しない場合、dpb_max_num_reorder_pics[MaxSubLayersMinus1]と等しいと推定される。0に等しくないdpb_max_latency_increase_plus1[i]は、MaxLatencyPictures[i]の値の計算に用いられ、Htidがiに等しい場合、OLS内の任意の画像に出力順序で先行し、その画像にデコーディング順で後続できるOLS内の画像の最大数を指定する。
dpb_max_latency_increase_plus1[i]が0に等しくない場合、MaxLatencyPictures[i]の値は以下のように指定される。
MaxLatencyPictures[i]=dpb_max_num_reorder_pics[i]+dpb_max_latency_increase_plus1[i]-1(106)である。
dpb_max_latency_increase_plus1[i]が0に等しい場合、対応する制限は表されない。
dpb_max_latency_increase_plus1[i]の値は、0から232-2までを含む範囲であるものとする。subLayerInfoFlagが0に等しいことにより、dpb_max_latency_increase_plus1[i]が0からMaxSubLayersMinus1-1までを含む範囲のiに存在しない場合、dpb_max_latency_increase_plus1[MaxSubLayersMinus1]と等しいことが推定される。
inter_layer_ref_pics_present_flagの値は、2つの制限がある。sps_video_parameter_set_idの値が0に等しい場合、すなわちCVS内にレイヤが1つしかない場合は、inter_layer_ref_pics_present_flagの値は0に等しいものとする。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値が1に等しい場合、すなわち現在のCLVSが独立レイヤである場合、inter_layer_ref_pics_present_flagの値は0に等しいものとする。
sps_video_parameter_set_id、sps_ptl_dpb_hrd_params_present_flag、およびinter_layer_ref_pics_present_flagのシンタックス要素のシグナリングは、いくつかの場合、冗長情報がシグナリングされることが確認された。
以下に提案する実施形態は、これらのシンタックス要素に起因するそのような冗長性を一掃することに努め、したがって、シグナリング効率を改善させる。
第1実施形態によれば、シンタックス要素sps_ptl_dpb_hrd_params_present_flagは、sps_video_parameter_set_idの値が0に等しくない場合にのみシグナリングされ、以下のようにハイライトされる。
表1:SPSのシンタックス要素
Figure 2023520326000017
その理由は、sps_video_parameter_set_idが0に等しい場合、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は1に等しいものとし、sps_ptl_dpb_hrd_params_present_flagの値はvps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値に等しい、すなわち1であるものとする。したがって、sps_ptl_dpb_hrd_params_present_flagの値をシグナリングする必要はない。その代わり、sps_video_parameter_set_idの値が0に等しい場合、その値は1と推定される。
sps_ptl_dpb_hrd_params_present_flagの意味が以下のように変更され、追加部分がハイライトされる。
sps_ptl_dpb_hrd_params_present_flagが1に等しい場合、SPSにprofile_tier_level( )シンタックス構造とdpb_parameters( )シンタックス構造が存在し、general_hrd_parameters( )シンタックス構造とols_hrd_parameters( )シンタックス構造もSPSに存在できることが指定される。sps_ptl_dpb_hrd_params_present_flagが0に等しい場合、これら4つのシンタックス構造のいずれもSPSに存在しないことが指定される。sps_ptl_dpb_hrd_params_present_flagの値はvps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]と等しいものとする。存在しない場合、sps_ptl_dpb_hrd_params_present_flagの値は1に等しいと推定される。
第2実施形態によれば、シンタックス要素inter_layer_ref_pics_present_flagは、シンタックス要素sps_ptl_dpb_hrd_params_present_flagおよびsps_video_parameter_set_idに基づいて、以下のようにシグナリングされる。
表2:SPSのシンタックス要素
Figure 2023520326000018
その理由は、sps_video_parameter_set_idが0に等しい場合、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は1に等しいものとし、inter_layer_ref_pics_present_flagの値は0に等しいものとするからである。同様に、sps_ptl_dpb_hrd_params_present_flagの値が1に等しい場合、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は同じであり、すなわち、1であるものとする。したがって、inter_layer_ref_pics_present_flagの意味に適用される制約によって、inter_layer_ref_pics_present_flagの値は0に等しいものとする。
この2つの場合、inter_layer_ref_pics_present_flagの値をシグナリングする必要はない。その代わり、その値は0と推定される。inter_layer_ref_pics_present_flagの意味を以下のように変更し、変更点をハイライトする。
inter_layer_ref_pics_present_flagが0に等しい場合、CLVSの符号化画像のインター予測にILRPが使用されないことを指定する。inter_layer_ref_pics_present_flagが1に等しい場合、CLVS内の1または複数の符号化画像のインター予測にILRPが使用される可能性があることを指定する。存在しない場合、inter_layer_ref_pics_present_flagの値は0に等しいと推定される。
第3実施形態によれば、シンタックス要素inter_layer_ref_pics_present_flagは、シンタックス要素sps_video_parameter_set_idに基づいて、以下のようにシグナリングされる。
表3:SPSのシンタックス要素
Figure 2023520326000019
その理由は、sps_video_parameter_set_idが0に等しい場合、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は1に等しいものとし、inter_layer_ref_pics_present_flagの値は0に等しいものとするからである。この場合、inter_layer_ref_pics_present_flagの値をシグナリングする必要はない。その代わり、その値は0と推定される。inter_layer_ref_pics_present_flagの意味を以下のように変更し、変更点をハイライトする。
inter_layer_ref_pics_present_flagが0に等しい場合,CLVSの符号化画像のインター予測にILRPが使用されないことを指定する。inter_layer_ref_pics_present_flagが1に等しい場合、CLVS内の1または複数の符号化画像のインター予測にILRPが使用される可能性があることを指定する。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しい場合、inter_layer_ref_pics_present_flagの値は0に等しいものとする。存在しない場合、inter_layer_ref_pics_present_flagの値は0に等しいと推定される。
第4実施形態によれば、シンタックス要素inter_layer_ref_pics_present_flagは、シンタックス要素sps_ptl_dpb_hrd_params_present_flagに基づいて、以下のようにシグナリングされる。
表4:SPSのシンタックス要素
Figure 2023520326000020
その理由は、sps_ptl_dpb_hrd_params_present_flagの値が1に等しい場合、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は同じ、すなわち1であるものとするからである。したがって、inter_layer_ref_pics_present_flagの意味に適用される制約によって、inter_layer_ref_pics_present_flagの値は0に等しいものとする。
この場合、inter_layer_ref_pics_present_flagの値をシグナリングする必要はない。その代わり、その値は0と推定される。inter_layer_ref_pics_present_flagの意味を以下のように変更し、変更点をハイライトする。
inter_layer_ref_pics_present_flagが0に等しい場合、CLVSの符号化画像のインター予測にILRPが使用されないことを指定する。inter_layer_ref_pics_present_flagが1に等しい場合、CLVS内の1または複数の符号化画像のインター予測にILRPが使用される可能性があることを指定する。sps_video_parameter_set_idが0に等しい場合、inter_layer_ref_pics_present_flagの値は0に等しいものとする。存在しない場合、inter_layer_ref_pics_present_flagの値は0に等しいと推定される。
第5実施形態によれば、シンタックス要素inter_layer_ref_pics_present_flagは、シンタックス要素sps_ptl_dpb_hrd_params_present_flagおよびsps_video_parameter_set_idに基づいて、以下のようにシグナリングされる。
表5:SPSのシンタックス要素
Figure 2023520326000021
その理由は、sps_video_parameter_set_idが0に等しい場合、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は1に等しいものとし、inter_layer_ref_pics_present_flagの値は0に等しいものとするからである。同様に、sps_ptl_dpb_hrd_params_present_flagの値が1に等しい場合、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は同じ、すなわち1に等しいものとする。
したがって、inter_layer_ref_pics_present_flagの意味に適用される制約によって、inter_layer_ref_pics_present_flagの値は0に等しいものとする。
この2つの場合、inter_layer_ref_pics_present_flagの値をシグナリングする必要はない。その代わり、その値は0と推定される。inter_layer_ref_pics_present_flagの意味を以下のように変更し、変更点をハイライトする。
inter_layer_ref_pics_present_flagが0に等しい場合、CLVSの符号化画像のインター予測にILRPが使用されないことを指定する。inter_layer_ref_pics_present_flagが1に等しい場合、CLVS内の1または複数の符号化画像のインター予測にILRPが使用される可能性があることを指定する。存在しない場合、inter_layer_ref_pics_present_flagの値は0に等しいと推定される。
VPSはビットストリームには必要ないNALユニットである。したがって、VPS内のいくつかのシンタックス要素が常に利用可能でない場合がある。しかしながら、SPSのいくつかのシンタックス要素の意味は、VPSのシンタックス要素に依存しており、問題となる可能性がある。
例えば、sps_max_sublayers_minus1の意味は、以下のように定義される。
sps_max_sublayers_minus1 plus1は、SPSを参照する各CLVSに存在し得る時間的サブレイヤの最大数を指定する。sps_max_sublayers_minus1の値は、0からvps_max_sublayers_minus1までを含む範囲であるものとする。
しかしながら、VPSがビットストリームに存在せず、シンタックス要素vps_max_sublayers_minus1に推定値が定義されていない場合、sps_max_sublayers_minus1に対する上述の範囲制約:
「sps_max_sublayers_minus1の値は、0からvps_max_sublayers_minus1までを含む範囲であるものとする」は定義されない。
VPSがビットストリームに存在しない場合を考慮して、sps_max_sublayers_minus1の意味を以下のように変更する。
sps_max_sublayers_minus1 plus1は、SPSを参照する各CLVSに存在し得る時間的サブレイヤの最大数を指定する。VPSが存在する場合、sps_max_sublayers_minus1の値は0からvps_max_sublayers_minus1までを含む範囲であるものとする。VPSが存在しない場合、sps_max_sublayers_minus1の値は、0から6までを含む範囲であるものとする。
sps_max_sublayers_minus1 plus1は、SPSを参照する各CLVSに存在し得る時間的サブレイヤの最大数を指定する。vps_max_sublayers_minus1が存在する場合、sps_max_sublayers_minus1の値は0からvps_max_sublayers_minus1までを含む範囲であるものとする。vps_max_sublayers_minus1が存在しないか、または推定される場合、sps_max_sublayers_minus1の値は0から6までを含む範囲であるものとする。
以下は、上述の実施形態に示されたような本出願のエンコーディング方法およびデコーディング方法の適用、ならびにそれらを使用するシステムの説明である。
図8は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、キャプチャデバイス3102、端末デバイス3106を含み、任意選択で、ディスプレイ3126を含む。キャプチャデバイス3102は、通信リンク3104を介して端末デバイス3106と通信する。通信リンクは、上述した通信チャネル13を含んでよい。通信リンク3104は、限定されるものではないが、WIFI(登録商標)、イーサネット(登録商標)、ケーブル、無線(3G/4G/5G)、USBまたはこれらの任意の種類の組み合わせなどを含む。
キャプチャデバイス3102は、データを生成し、上述の実施形態に示されたようなエンコーディング方法によってデータをエンコードすることができる。代替的に、キャプチャデバイス3102は、データをストリーミングサーバ(図示せず)に配信してよく、サーバは、データをエンコードして、エンコードされたデータを端末デバイス3106に送信する。キャプチャデバイス3102は、限定されるものではないが、カメラ、スマートフォンまたはパッド、コンピュータまたはラップトップ、ビデオ会議システム、PDA、車載デバイスまたはそれらのいずれかの組み合わせなどを含む。例えば、上述したように、キャプチャデバイス3102はソースデバイス12を含んでよい。データがビデオを含む場合、キャプチャデバイス3102に含まれるビデオエンコーダ20は、ビデオエンコーディング処理を実際に実行してよい。データがオーディオ(すなわち、音声)を含む場合、キャプチャデバイス3102に含まれるオーディオエンコーダは、オーディオエンコーディング処理を実際に実行してよい。いくつかの実際のシナリオについて、キャプチャデバイス3102は、それらを一緒に多重化することにより、エンコードされたビデオおよびオーディオデータを配信する。他の実際のシナリオについて、例えば、ビデオ会議システムにおいて、エンコードされたオーディオデータおよびエンコードされたビデオデータは多重化されない。キャプチャデバイス3102は、エンコードされたオーディオデータおよびエンコードされたビデオデータを別個に端末デバイス3106に配信する。
コンテンツ供給システム3100では、端末デバイス310がエンコードされたデータを受信して再生する。端末デバイス3106は、データ受信および復元機能を有するデバイスであり、例えば、スマートフォンまたはパッド3108、コンピュータまたはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、セットトップボックス(STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、パーソナルデジタルアシスタント(PDA)3122、車載デバイス3124、またはそれらのいずれかの組み合わせや、上述したエンコードされたデータをデコードできるものなどであってよい。例えば、上述したように、端末デバイス3106はデスティネーションデバイス14を含んでよい。エンコードされたデータがビデオを含む場合、端末デバイスに含まれるビデオデコーダ30は、ビデオデコーディングを実行することを優先させる。エンコードされたデータがオーディオを含む場合、端末デバイスに含まれるオーディオデコーダは、オーディオデコーディング処理を実行することを優先させる。
そのディスプレイを有する端末デバイス、例えば、スマートフォンまたはパッド3108、コンピュータまたはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、パーソナルデジタルアシスタント(PDA)3122、または車載デバイス3124の場合、端末デバイスは、デコードされたデータをそのディスプレイに供給することができる。ディスプレイを搭載していない端末デバイス、例えば、STB3116、ビデオ会議システム3118またはビデオ監視システム3120について、外部ディスプレイ3126は、デコードされたデータを受信および示すために、内部で接触される。
本システムにおける各デバイスがエンコーディングまたはデコーディングを実行する場合、上述の実施形態で示したような画像エンコーディングデバイスまたは画像デコーディングデバイスを用いることができる。
図9は、端末デバイス3106の構造の例を示す図である。端末デバイス3106がキャプチャデバイス3102からストリームを受信した後に、プロトコル処理ユニット3202は、ストリームの送信プロトコルを分析する。プロトコルは、限定されるものではないが、リアルタイムストリーミングプロトコル(RTSP)、ハイパーテキストトランスファープロトコル(HTTP)、HTTPライブストリーミングプロトコル(HLS)、MPEG-DASH、リアルタイムトランスポートプロトコル(RTP)、リアルタイムメッセージングプロトコル(RTMP)、または、これらの任意の種類の組み合わせなどを含む。プロトコル処理ユニット3202がストリームを処理した後、ストリームファイルが生成される。当該ファイルは、逆多重化ユニット3204に出力される。逆多重化ユニット3204は、多重化されたデータをエンコードされたオーディオデータおよびエンコードされたビデオデータに分離できる。上述したように、いくつかの実際のシナリオについて、例えば、ビデオ会議システムでは、エンコードされたオーディオデータおよびエンコードされたビデオデータは多重化されていない。この状況において、エンコードされたデータは、逆多重化ユニット3204を通すことなく、ビデオデコーダ3206およびオーディオデコーダ3208へ送信される。
この逆多重化処理により、ビデオエレメンタリストリーム(ES)と、オーディオESと、任意選択でサブタイトルが生成される。上述の実施形態において説明したように、ビデオデコーダ30を含むビデオデコーダ3206は、上述の実施形態に示されるようなデコーディング方法により、ビデオESをデコードしてビデオフレームを生成し、このデータを同期ユニット3212に供給する。オーディオデコーダ3208は、オーディオESをデコードしてオーディオフレームを生成し、このデータを同期ユニット3212に供給する。代替的に、ビデオフレームは、それを同期ユニット3212に供給する前に、(図9には図示せず)バッファに格納されてよい。同様に、オーディオフレームは、それを同期ユニット3212に供給する前に、(図9には図示せず)バッファに格納されてよい。
同期ユニット3212は、ビデオフレームとオーディオフレームを同期させ、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に供給する。例えば、同期ユニット3212は、ビデオおよびオーディオ情報の提示を同期させる。情報は、符号化されたオーディオおよびビジュアルデータの提示に関するタイムスタンプ、および、データストリーム自体の配信に関するタイムスタンプを用いてシンタックスで符号化してよい。
ストリームに字幕が含まれている場合、字幕デコーダ3210は、字幕をデコードし、それをビデオフレームおよびオーディオフレームと同期させ、ビデオ/オーディオ/字幕をビデオ/オーディオ/字幕ディスプレイ3216に供給する。
以上の説明にしたがって、ビデオビットストリームのデコーディング方法と、ビデオビットストリームのエンコーディング方法が本明細書で提供される。これに対応して、(符号化)ビデオビットストリームをデコーディングするための装置およびビデオビットストリームをデコーディングするための装置が本明細書に提供される。
図10は、デコーディングデバイスによって実装されるビデオビットストリームをデコーディング方法を示し、ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、この方法は:現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素(例えば、sps_max_sublayers_minus1)(の値)を取得する段階1010であって、第1のシンタックス要素の値が0から第1の値の範囲であり、第1の値が、第2のシンタックス要素がSPSによって参照される場合に、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される第2のシンタックス要素(例えば、vps_max_sublayers_minus1)の値である段階と、第1のシンタックス要素の値に基づいてビットストリームをデコーディングする段階1020と、を含む。
ビットストリームは、無線ネットワークまたは有線ネットワークによって取得してもよいことに留意されたい。ビットストリームは、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、ラジオ、マイクロ波、WIFI、ブルートゥース(登録商標)、LTEまたは5Gなどの無線技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合がある。ビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットストリームまたはバイトストリームの形態で、1または複数の符号化ビデオシーケンス(CVS)を形成するアクセスユニット(AU)のシーケンスの表現を形成する、ビットのシーケンスであってよい。
具体例では、ビットストリームフォーマットはネットワーク抽象化レイヤ(NAL)ユニットストリームとバイトストリームの関係を指定し、そのいずれかをビットストリームと呼ぶ。
ビットストリームの形式は、NALユニットストリーム形式またはバイトストリーム形式の2つの形式の内の1つであってよい。NALユニットストリーム形式は、概念的にはより「基本的」なタイプである。NALユニットストリーム形式は、NALユニットと呼ばれる一連のシンタックス構造で構成される。このシーケンスは、デコーディング順に並んでいる。NALユニットストリームにおけるNALユニットのデコーディング順(および内容)には制約が課せられている。
バイトストリーム形式は、NALユニットをデコーディング順に並べ、各NALユニットに開始コードプレフィクスとゼロまたはそれ以上の0値バイトをプレフィクスしてバイトのストリームを形成することにより、NALユニットストリーム形式から構築することができる。このバイトのストリーム内でユニークな開始コードプレフィクスパターンの位置を検索することで、バイトストリーム形式の中からNALユニットストリーム形式を抽出することができる。
図11は、エンコーディングデバイスによって実装されるビデオビットストリームのエンコーディング方法を示し、ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、この方法は、第2のシンタックス要素がSPSによって参照されるかどうかを決定する段階1110であって、第2のシンタックス要素(例えば、vps_max_sublayers_minus1)は、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される段階と、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)において存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素の値を、第1のシンタックス要素の範囲に基づいて決定する段階1120であって、この範囲は0から第1の値であり、第1の値は第2のシンタックス要素がSPSによって参照されると決定した場合の第2のシンタックス要素の値である段階と、および、第1のシンタックス要素の値をビットストリームにエンコーディングする段階1130と、を含む。
上述の方法は、以下に記載するように、ビデオデコーディング装置またはビデオエンコーディング装置(ビットストリームを生成する)においてそれぞれ実装することができる。
図12に示すように、本明細書で提供する一実施形態によるビデオデコーディング装置1200は、取得ユニット1210とデコーディングユニット1220とから構成される。図13に示すように、本明細書で提供される一実施形態によるビデオエンコーディング装置1300は、決定ユニット1310とエンコーディングユニット1320とから構成される。
図12に示すビデオデコーディング装置1200に含まれる取得ユニット1210は、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために用いられる第1のシンタックス要素(の値)を取得するように構成され、第1のシンタックス要素の値は0から第1の値の範囲にあり、第1の値が、第2のシンタックス要素がSPSによって参照される場合に、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される第2のシンタックス要素の値である。図12に示すビデオデコーディング装置1200に含まれるデコーディングユニット1220は、第1のシンタックス要素の値に基づいてビットストリームをデコーディングするように構成されている。
ここで、取得ユニット1210は、エントロピーデコーディングユニット304であってもよい。デコーディングユニット1220は、ビットストリームのデコーディングに用いられる図3に示す1または複数のユニットで構成されてもよい。
図13に示すビデオエンコーディング装置1300に含まれる決定ユニット1310は、第2のシンタックス要素がSPSによって参照されるかどうかを決定するように構成され、第2のシンタックス要素(例えば。vps_max_sublayers_minus1)は、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用され、現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)において存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素の値を、第1のシンタックス要素の範囲に基づいて決定し、この範囲は0から第1の値であり、第1の値は第2のシンタックス要素がSPSによって参照されると決定された場合の第2のシンタックス要素の値である。図13に示すビデオエンコーディング装置1300に含まれるエンコーディングユニット1320は、第1のシンタックス要素の値をビットストリームにエンコーディングするように構成される。
ここで、エンコーディングユニット1320は、エントロピーエンコーディングユニット270であってもよい。決定ユニット1220は、図2に示す1または複数のユニットで構成されてもよい。
図12に示すビデオデコーディング装置1200は、図1A、図1B、および図3に示すデコーダ30や、図9に示すビデオデコーダ3206であってもよく、またはこれらで構成してもよい。また、デコーディングデバイス1200は、図4に示すビデオコーディングデバイス400、図5に示す装置500、および図8に示す端末デバイス3106で構成してもよい。図13に示すエンコーディングデバイス1300は、図1A、図1B、図3に示すエンコーダ20であってもよいし、または、図1A、図1B、図3に示すエンコーダ20を含んでもよい。さらに、エンコーディングデバイス1200は、図4に示すビデオコーディングデバイス400、図5に示す装置500、および図8に示すキャプチャデバイス3102で構成してもよい。
本発明は、上述のシステムに限定されるものではなく、上述の実施形態における画像エンコーディングデバイスまたは画像デコーディングデバイスのいずれかを、他のシステム、例えば、自動車システムに組み込むことも可能である。
特に、以下のさらなる態様も本明細書に提供され、これらは、態様1~17に列挙される。
(項目1)
デコーディングデバイスによって実装されるビデオまたは画像のビットストリームのデコーディング方法の態様であって、前記ビットストリームは、現在のシーケンスパラメータセット(SPS)を表すデータを含み、
ビットストリームを解析することによって少なくとも1つのシンタックス構造(例えば、profile_tier_level()、dpb_parameters()、general_hrd_parameters()またはols_hrd_parameters())がSPSに存在するかどうかを指定する第1のシンタックス要素(例えば、sps_ptl_dpb_hrd_params_present_flag)を取得する段階であって、前記存在条件が満たされる場合、前記存在条件は、第2のシンタックス要素(例えば、sps_video_parameter_set_id)の値が予め設定された値(例えば、0)に等しくないことを含む段階と、前記第1のシンタックス要素の値に基づいて、前記少なくとも1つのシンタックス構造を取得する段階と、
前記少なくとも1つのシンタックス構造に基づいて前記ビットストリームをデコーディングする段階と、を備える方法の態様。
(項目2)
前記第2のシンタックス要素は、現在のSPSが参照する、または現在のSPSがVPSを参照しないことを示すビデオパラメータセット(VPS)の識別子を指定する、態様1に記載の方法の態様。
(項目3)
前記存在条件が満たされていない場合、前記第1のシンタックス要素の値はデフォルト値(例えば1)に等しいと推定される、態様1から2に記載の方法の態様。
(項目4)
デコーディングデバイスによって実装されるビデオまたは画像のビットストリームのデコーディング方法の態様であって、シーケンスパラメータセット(SPS)を表すデータを含むビットストリームが現在の符号化レイヤビデオシーケンス(CLVS)に適用され、
存在条件が満たされる場合、ビットストリームを解析することによって、CLVSにおける1または複数の符号化画像のインター予測のためにインターレイヤ参照画像(ILRP)が使用されてもよいかどうかを指定する第1のシンタックス要素(例えばinter_layer_ref_pics_present_flag)を取得する段階であって、前記存在条件は、第2のシンタックス要素(例えばsps_video_parameter_set_id)の値が予め設定された値(例えば0)に等しくないことを含む段階と、
前記第1のシンタックス要素の値に基づいて、現在のCLVSにおける現在の画像を予測する段階と、を備える方法の態様。
(項目5)
前記第2のシンタックス要素は、現在のSPSが参照する、または、現在のSPSがVPSを参照しないことを示す、ビデオパラメータセット(VPS)の識別子を指定する、態様4に記載の方法の態様。
(項目6)
前記存在条件が満たされていない場合、前記第1のシンタックス要素の値は、デフォルト値(例えば0)に等しいと推定される、態様4から5に記載の方法の態様。
(項目7)
デコーディングデバイスによって実装されるビデオまたは画像のビットストリームのデコーディング方法の態様であって、シーケンスパラメータセット(SPS)を表すデータを含むビットストリームが現在の符号化レイヤビデオシーケンス(CLVS)に適用され、
存在条件が満たされる場合に、ビットストリームを解析することによって、CLVSにおける1または複数の符号化画像のインター予測のためにインターレイヤ参照画像(ILRP)が使用され得るかどうかを指定する第1のシンタックス要素(例えばinter_layer_ref_pics_present_flag)を取得する段階であって、前記存在条件は、第2のシンタックス要素(例えば、sps_ptl_dpb_hrd_params_present_flag)の値が予め設定された値(例えば、1)に等しくないことを含み、前記第2のシンタックス要素は、ビットストリームに表されるシーケンスパラメータセット(SPS)内に少なくとも1つのシンタックス構造(例えば、profile_tier_level()、dpb_parameters()、general_hrd_parameters()、またはols_hrd_parameters ())が存在するかどうかを指定する段階と、
前記第1のシンタックス要素の値に基づいて、現在のCLVSにおける現在の画像を予測する段階と、を備える方法の態様。
(項目8)
態様7に記載の方法において、存在条件が満たされていない場合、前記第1のシンタックス要素の値はデフォルト値(例えば、0)に等しいと推定される態様。
(項目9)
デコーディングデバイスによって実装されるビデオまたは画像のビットストリームのデコーディング方法の態様であって、前記ビットストリームは、現在のシーケンスパラメータセット(SPS)を表すデータを含み、
現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在し得る時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素(例えばsps_max_sublayers_minus1)を取得する段階であって、前記第1のシンタックス要素の値は0から第1の値の範囲にあり、前記第1の値は第2のシンタックス要素(例えば、vps_max_sublayers_minus1)の値であり、第2のシンタックス要素がビットストリーム中に存在する場合に、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)中のレイヤに存在し得る時間的サブレイヤの最大数を決定するために使用される段階と、
前記第1のシンタックス要素の値に基づいて前記ビットストリームをデコーディングする段階と、を備える方法の態様。
(項目10)
前記ビットストリームをデコーディングすることは、前記デコーディング能力情報を取得することと、前記デコーディング能力情報に基づいて前記ビットストリームをデコーディングすることとを含む、態様9に記載の方法の態様。
(項目11)
前記第2のシンタックス要素が前記ビットストリームに存在しない場合、前記第1の値は予め設定された値である、態様9または10に記載の方法の態様。
(項目12)
前記第2のシンタックス要素が前記ビットストリームに存在することは、前記VPSが前記ビットストリームに存在することを構成し、前記第2のシンタックス要素が前記ビットストリームに存在しないことは、VPSがビットストリームに存在しないことを構成する、態様9から11のいずれか一つに記載の方法の態様。
(項目13)
態様9に記載の方法の態様で、CVSは1または複数のCLVSを含み、VPSはゼロまたはそれ以上のSPSで参照される態様。
(項目14)
態様1から13のいずれか一つに記載の方法を実行するための処理回路を備えるデコーダ(30)の態様。
(項目15)
コンピュータ上またはプロセッサ上で実行される場合、先行する態様のいずれか一つに記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品の態様。
(項目16)
デコーダの態様であって、
1または複数のプロセッサと、
前記プロセッサに連結され、前記プロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体であって、前記プログラミングは、前記プロセッサにより実行された場合、先行する態様のいずれか1つに記載の方法を実行するよう前記デコーダを構成する、非一時的コンピュータ可読記憶媒体と
を備える、デコーダ。
(項目17)
コンピュータデバイスによって実行される場合、前記コンピュータデバイスに先行する態様のいずれか1つに記載の方法を実行させるプログラムコードを保持する、非一時的コンピュータ可読媒体の態様。
[数学演算子]
本出願で使用される数学演算子は、Cプログラミング言語で使用されるそれらと同様である。しかしながら、整数除算および算術シフト演算の結果はより厳密に定義され、べき乗および実数値除算などの追加の演算が定義される。番号およびカウントの方式は概して0から始まり、例えば「第1」は0番目と同等であり、「第2」は1番目と同等であり、以降も同様である。
[算術演算子]
以下の算術演算子を以下のように定義する。
Figure 2023520326000022
[論理演算子]
以下の論理演算子は、以下のように定義される。
Figure 2023520326000023
[関係演算子]
以下の関係演算子は、以下のように定義される。
> よりも大きい
>= より大きいまたは等しい
< より小さい
<= より小さいまたは等しい
= = 等しい
!= 等しくない
関係演算子が、値「na」(非該当)を割り当てられているシンタックス要素または変数に適用される場合、値「na」は、そのシンタックス要素または変数の区別的な値として扱われる。値「na」は、任意の他の値に等しくないとみなされる。
[ビット単位演算子]
以下のビット単位の演算子は以下のように定義する。
& :ビット単位の「and」。整数引数で演算する場合、整数値の2の補数表現で演算する。別の項より少ないビットを含む二進項に対して演算を行う場合、そのより短い項は、0に等しいより上位のビットを加算することによって拡張される。
| :ビット単位の「or」。整数引数で演算する場合、整数値の2の補数表現で演算する。別の項より少ないビットを含む二進項に対して演算を行う場合、そのより短い項は、0に等しいより上位のビットを加算することによって拡張される。
^ :ビット単位の「排他的or」。整数引数で演算する場合、整数値の2の補数表現で演算する。別の項より少ないビットを含む二進項に対して演算を行う場合、そのより短い項は、0に等しいより上位のビットを加算することによって拡張される。
x>>y y:二進数だけの、xの2の補数整数表現の算術右シフト。この関数は、yの非負の整数値に関してのみ定義される。右シフトの結果として最上位ビット(MSB)にシフトされたビットは、シフト演算前のxのMSBに等しい値を有する。
x<<y y:二進数だけの、xの2の補数整数表現の算術左シフト。この関数は、yの非負の整数値に関してのみ定義される。左シフトの結果として最下位ビット(LSB)にシフトされたビットは、0に等しい値を有する。
[代入演算子]
以下の算術演算子は、以下のように定義される。
= 代入演算子
+ + インクリメント、すなわち、x+ +はx=x+1に相当する。配列インデックスに使用される場合、インクリメント演算の前の変数の値になる。
- - デクリメント、すなわち、x- -はx=x-1に相当する。配列インデックスに使用される場合、デクリメント演算の前の変数の値になる。
+= 指定された量だけのインクリメント、すなわち、x+=3はx=x+3に相当し、x+=(-3)はx=x+(-3)に相当する。
-= 指定された量だけのデクリメント、すなわち、x-=3はx=x-3に相当し、x-=(-3)はx=x-(-3)に相当する。
[範囲表記]
以下の表記は、値の範囲を指定するのに使用される。
x=y..z xはyからzまでを含む範囲の整数値を取り、x、yおよびzは整数でありzはyより大きい。
[数学関数]
以下の数学関数が定義される。
Figure 2023520326000024
Asin(x):ラジアン単位で、-π÷2からπ÷2までを含む範囲を含む出力値で、-1.0から1.0までを含む範囲の引数xに対して機能する、逆三角サイン関数。
Atan(x):ラジアン単位で-π÷2からπ÷2までを含む範囲を含む出力値で、引数xに対して機能する逆三角タンジェント関数。
Figure 2023520326000025
Ceil(x):xより大きいまたは等しい最小の整数を表す。
Figure 2023520326000026
Figure 2023520326000027
Figure 2023520326000028
Cos(x):ラジアン単位で引数xに対して機能する三角コサイン関数。
Floor(x):xより小さいまたは等しい最大の整数を表す。
Figure 2023520326000029
Ln(x):Ln(x)xの自然対数(底e対数、eは自然対数底定数2.718 281 828...)を表す。
Log2(x):xの底2の対数。
Log10(x):xの底10の対数。
Figure 2023520326000030
Round(x)=Sign(x)*Floor(Abs(x)+0.5)
Figure 2023520326000031
Sin(x):ラジアン単位で引数xに対して機能する三角サイン関数。
Figure 2023520326000032
Tan(x):ラジアン単位で引数xに対して機能する三角タンジェント関数。
[演算の優先順位の順序]
式の優先順位の順序が括弧を使用して明示的に指示されていない場合、以下のルールが適用される。
-より高い優先順位の演算は、より低い優先順位の任意の演算の前に評価される。
-同じ優先順位の演算は、左から右に順次評価される。
以下の表は、演算の優先順位を最高から最低まで指定する。表でのより高い位置は、より高い優先順位を示す。
Cプログラミング言語でも使用される演算子の場合、本明細書で使用される優先順位の順序は、Cプログラミング言語で使用されるものと同じである。
表:最も高いもの(表の上部)から最も低いもの(表の底部)までの演算の優先順位
Figure 2023520326000033
[論理演算のテキストの説明]
本文では、論理演算の記述は、以下の形式で数学的に説明される。
if(条件0)
記述0
else if(条件1)
記述1
...
else/*残りの条件に関する有益な言及*/
記述n
は、以下の方式で記述することができる。
...as follows/...the following applies:
-If条件0,記述0
-Otherwise,if条件1,記述1
-...
-Otherwise(残りの条件に関する有益な言及),記述n
各「If...Otherwise,if...Otherwise,...」という本文での記述で、「...as follows」または「the following applies」は、直後に「If...」が導入される。
「If...Otherwise,if...Otherwise」の最後の条件は常に、「Otherwise,...」である。
インターリーブされた「If...Otherwise,if...Otherwise,...」ステートメントは、「Otherwise,...」で終わる「...as follows」または「...the following applies」をマッチングすることによって識別され得る。
本文では、論理演算の記述は、以下の形式で数学的に説明される。
if(条件0a&&条件0b)
記述0
else if(条件1a||条件1b)
記述1
...
else
記述n
は、以下の方式で記述することができる。
...as follows /...the following applies:
-If all of the following conditions are true,statement 0(以下の条件の全てが真である場合、記述0):
-条件0a
-条件0b
-Otherwise,if one or more of the following conditions are true,statement 1(そうではなく、以下の条件のうちの1または複数が真である場合、記述1):
-条件1a
-条件1b
-...
-Otherwise,記述n
本文では、論理演算の記述は、以下の形式で数学的に説明される。
if(条件0)
記述0
if(条件1)
記述1
は、以下の方式で記述することができる。
条件0である場合、記述0
条件1である場合、記述1
本発明の実施形態は主にビデオコーディングに基づいて説明されてきたが、コーディングシステム10、エンコーダ20、およびデコーダ30(およびそれに対応してシステム10)の実施形態ならびに本明細書に記載の他の実施形態はまた、静止画処理またはコーディング、すなわち、ビデオコーディングのようにいずれかの先行するまたは連続する画像とは無関係の個々の画像の処理またはコーディングのために構成され得ることに留意されたい。一般的に、画像処理コーディングが単一の画像17に限定される場合、インター予測ユニット244(エンコーダ)および344(デコーダ)のみが利用可能ではないことがある。ビデオエンコーダ20およびビデオデコーダ30の全ての他の機能(ツールまたは技術とも称される)は、静止画処理、例えば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、区分化262/362、イントラ予測254/354、および/またはループフィルタリング220、320ならびにエントロピーコーディング270およびエントロピーデコーディング304に等しく用いられ得る。
例えばエンコーダ20およびデコーダ30の実施形態、並びに、例えばエンコーダ20およびデコーダ30を参照して本明細書に記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装されてよい。ソフトウェアにおいて実装される場合、機能は、コンピュータ可読媒体上に保存されるか、または、通信媒体を介して1または複数の命令もしくはコードとして送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体等の有形媒体に対応するコンピュータ可読記憶媒体、または、例えば通信プロトコルに従った、コンピュータプログラムの1つの場所から別の場所への移動を促進する任意の媒体を含む通信媒体を含んでよい。このように、コンピュータ可読媒体は、一般的に、(1)非一時的な有形コンピュータ可読記憶媒体、または、(2)信号もしくは搬送波等の通信媒体に対応してよい。データ記憶媒体は、本開示において説明された技術の実装のための命令、コードおよび/またはデータ構造を取得するために1または複数のコンピュータまたは1または複数のプロセッサによりアクセスされ得る任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを格納するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体を含んでもよい。また、任意の接続が、適宜コンピュータ可読媒体と称される。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または、赤外線、無線、およびマイクロ波等の無線技術を用いて、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、そして、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、およびマイクロ波等の無線技術が媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、その代わりに、非一時的な有形記憶媒体を指すことが理解されるべきである。本明細書で使用されるディスク(Disk and disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピディスク、およびブルーレイディスクを含み、ここで、通常、ディスクはデータを磁気的に再現するものであり、ディスクはデータをレーザによって光学的に再現するものである。上述の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。命令は、1または複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積またはディスクリート論理回路等の、1または複数のプロセッサによって実行されてよい。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造のいずれか、または、本明細書に記載の技術の実装に好適な任意の他の構造物を指してよい。加えて、いくつかの態様では、本明細書に記載の機能は、エンコーディングおよびデコーディングのために構成されている専用ハードウェアおよび/またはソフトウェアモジュール内に提供されるか、または、組み合わされたコーデックに組み込まれてよい。また、本技術は、1または複数の回路、またはロジック要素において完全に実装することができる。
本開示の技術は、無線ハンドセット、集積回路(IC)またはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実装してよい。様々な構成要素、モジュール、またはユニットが、開示された技術を実行するように構成されているデバイスの機能的態様を強調するように本開示において記載されているが、異なるハードウェアユニットによる実現は必ずしも要求されない。むしろ、上述したように、好適なソフトウェアおよび/またはファームウェアと連動して、様々なユニットがコーデックハードウェアユニットにして組み合わされるか、または、上述したように、1または複数のプロセッサを含む相互運用ハードウェアユニットの集合によって提供されてよい。

Claims (20)

  1. デコーディングデバイスによって実装されるビデオまたは画像のビットストリームのデコーディング方法であって、前記ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、
    前記現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために用いられる第1のシンタックス要素を取得する段階であって、前記第1のシンタックス要素の値が0から第1の値の範囲にあり、前記第1の値が、第2のシンタックス要素が前記SPSによって参照される場合に、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)においてレイヤに存在することを許される時間的サブレイヤの最大数を決定するために使用される前記第2のシンタックス要素の値である、段階と、
    前記第1のシンタックス要素の値に基づいて、前記ビットストリームをデコーディングする段階と、
    を備える方法。
  2. 前記ビットストリームをデコーディングする前記段階は、前記第1のシンタックス要素の値に基づいてデコーディング能力情報を取得する段階と、前記デコーディング能力情報に基づいて前記ビットストリームをデコーディングする段階とを備える、請求項1に記載の方法。
  3. 前記デコーディング能力情報は、DPBシンタックス要素を備え、前記デコーディング能力情報に基づいて前記ビットストリームをデコーディングする前記段階は、前記DPBシンタックス要素の値に基づいてDPBを構成する段階を備え、前記DPBを用いて前記ビットストリームをデコーディングして前記ビデオシーケンスを再構築する段階をさらに備える、請求項2に記載の方法。
  4. 前記デコーディング能力情報は、DPBシンタックス要素を含み、前記デコーディング能力情報に基づいて前記ビットストリームをデコーディングする前記段階は、使用されるDPBが前記DPBシンタックス要素の値によって指定される要件を満たして前記ビデオシーケンスを再構築すると決定することに基づいて前記ビットストリームをデコーディングする段階を備える、請求項2に記載の方法。
  5. 前記第2のシンタックス要素が前記SPSによって参照されない場合、前記第1の値は予め設定された値である、請求項1から4のいずれか一項に記載の方法。
  6. 前記第2のシンタックス要素が前記VPSにある、請求項1から5のいずれか一項に記載の方法。
  7. 前記第1のシンタックス要素は、前記SPSにある、請求項1から6のいずれか一項に記載の方法。
  8. エンコーディングデバイスによって実装されるビデオまたは画像のビットストリームのエンコーディング方法であって、前記ビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、
    第2のシンタックス要素が前記SPSによって参照されるかどうかを決定する段階であって、前記第2のシンタックス要素は、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される段階と、
    前記現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)において存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素の値を、前記第1のシンタックス要素の範囲に基づいて決定する段階であって、前記範囲は0から第1の値であり、前記第1の値は第2のシンタックス要素が前記SPSによって参照されると決定した場合の前記第2のシンタックス要素の値である段階と、
    前記第1のシンタックス要素の値を前記ビットストリームにエンコーディングする段階と、を備える方法。
  9. 前記ビットストリームをエンコーディングする前記段階は、前記第1のシンタックス要素の値に基づいて前記ビットストリームにデコーディング能力情報をエンコーディングする段階を備える、請求項8に記載の方法。
  10. 前記第2のシンタックス要素が前記SPSによって参照されない場合、前記第1の値は予め設定された値である、請求項8または9に記載の方法。
  11. 前記第2のシンタックス要素が前記VPSにある、請求項8から10のいずれか一項に記載の方法。
  12. 前記第1のシンタックス要素が前記SPSにある、請求項8から11のいずれか一項に記載の方法。
  13. 請求項1から12のいずれか一項に記載の方法を実行するための処理回路を備える符号化デバイス。
  14. コンピュータに、請求項1から12のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
  15. 符号化デバイスであって、
    1または複数のプロセッサと、
    前記プロセッサに連結され、前記プロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体であって、前記プログラミングは、前記プロセッサにより実行された場合、請求項1から12のいずれか一項に記載の方法を実行するようデコーダを構成する、非一時的コンピュータ可読記憶媒体と
    を備える、符号化デバイス。
  16. コンピュータデバイスによって実行される場合、前記コンピュータデバイスに請求項1から12のいずれか一項に記載の方法を実行させるプログラムコードを保持する、非一時的コンピュータ可読媒体。
  17. ビデオビットストリームをデコーディングするための装置であって、
    現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために用いられる第1のシンタックス要素を取得するように構成された取得ユニットであって、前記第1のシンタックス要素の値が0から第1の値の範囲にある、取得ユニットであって、前記第1の値が、第2のシンタックス要素が前記SPSによって参照される場合に、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)においてレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される前記第2のシンタックス要素の値である取得ユニットと、
    前記第1のシンタックス要素の値に基づいて前記ビデオビットストリームをデコーディングするように構成されたデコーディングユニットと、を備える装置。
  18. ビデオビットストリームをエンコーディングするための装置であって、
    決定ユニットであって、第2のシンタックス要素がSPSによって参照されるかどうかを決定することであって、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)内のレイヤに存在することが許される最大数の時間的サブレイヤを決定するために前記第2のシンタックス要素が使用される、決定することと、現在の前記SPSを参照する各符号化レイヤビデオシーケンス(CLVS)において存在することが許される時間的サブレイヤの最大数を決定するために使用される第1のシンタックス要素の値を、前記第1のシンタックス要素の範囲に基づいて決定することであって、前記範囲は0から第1の値であり、前記第1の値は、前記第2のシンタックス要素が前記SPSによって参照されると決定した場合の前記第2のシンタックス要素の値である、決定すること、を行うように構成された決定ユニットと、
    前記第1のシンタックス要素の値を前記ビデオビットストリームにエンコーディングするように構成されたエンコーディングユニットと、を備える装置。
  19. ビデオビットストリームを含む非一時的記憶媒体であって、前記ビデオビットストリームは、ビデオシーケンスに適用されるシンタックス要素を含む現在のシーケンスパラメータセット(SPS)を含み、前記ビデオビットストリームは、前記現在のSPSを参照する各符号化レイヤビデオシーケンス(CLVS)に存在することが許される時間的サブレイヤの最大数を決定するために用いられる第1のシンタックス要素をさらに含み、前記第1のシンタックス要素の値が0から第1の値の範囲にあり、前記第1の値は、第2のシンタックス要素が前記SPSによって参照される場合、ビデオパラメータセット(VPS)を参照する各符号化ビデオシーケンス(CVS)においてレイヤに存在することが許される時間的サブレイヤの最大数を決定するために使用される前記第2のシンタックス要素の値である、非一時的記憶媒体。
  20. 前記第2のシンタックス要素が前記SPSによって参照されない場合、前記第1の値は予め設定された値である、請求項19に記載の非一時的記憶媒体。
JP2022557698A 2020-03-24 2021-03-24 エンコーダ、デコーダ、および対応する方法 Pending JP2023520326A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP2020058208 2020-03-24
EPPCT/EP2020/058208 2020-03-24
PCT/CN2021/082540 WO2021190525A1 (en) 2020-03-24 2021-03-24 An encoder, a decoder and corresponding methods

Publications (1)

Publication Number Publication Date
JP2023520326A true JP2023520326A (ja) 2023-05-17

Family

ID=77890955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022557698A Pending JP2023520326A (ja) 2020-03-24 2021-03-24 エンコーダ、デコーダ、および対応する方法

Country Status (12)

Country Link
US (1) US20230068266A1 (ja)
EP (1) EP4118834A4 (ja)
JP (1) JP2023520326A (ja)
KR (1) KR20220156069A (ja)
CN (1) CN115349260A (ja)
AU (1) AU2021244737A1 (ja)
BR (1) BR112022019219A2 (ja)
CA (1) CA3173179A1 (ja)
CL (1) CL2022002570A1 (ja)
IL (1) IL296780A (ja)
MX (1) MX2022011943A (ja)
WO (1) WO2021190525A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509920B2 (en) * 2020-03-27 2022-11-22 Tencent America LLC Indication of max sublayer numbers in multilayered video stream
US20230141577A1 (en) * 2020-03-31 2023-05-11 Interdigital Vc Holdings France Method and apparatus for video encoding and decoding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102383006B1 (ko) * 2013-04-07 2022-04-04 돌비 인터네셔널 에이비 출력 계층 세트들에서의 시그널링 변경
US9467700B2 (en) * 2013-04-08 2016-10-11 Qualcomm Incorporated Non-entropy encoded representation format

Also Published As

Publication number Publication date
MX2022011943A (es) 2023-01-11
CA3173179A1 (en) 2021-09-30
AU2021244737A1 (en) 2022-10-20
BR112022019219A2 (pt) 2022-11-29
EP4118834A1 (en) 2023-01-18
US20230068266A1 (en) 2023-03-02
CN115349260A (zh) 2022-11-15
KR20220156069A (ko) 2022-11-24
EP4118834A4 (en) 2023-08-09
WO2021190525A1 (en) 2021-09-30
IL296780A (en) 2022-11-01
CL2022002570A1 (es) 2023-03-24

Similar Documents

Publication Publication Date Title
JP7271683B2 (ja) エンコーダ、デコーダ、および対応するイントラ予測方法
CN115567717B (zh) 编码器、解码器及对应方法和装置
JP7483869B2 (ja) エンコーダ、デコーダ、および対応する方法
JP7372465B2 (ja) シーケンスパラメータセット内でのサブピクチャのシグナリングのためのエンコーダ、デコーダ、および対応する方法
US11533497B2 (en) Encoder, a decoder and corresponding methods of signaling and semantics in parameter sets
JP7436646B2 (ja) ピクチャヘッダのシグナリングを簡略化するためのエンコーダ、デコーダ及び対応する方法
US20230068266A1 (en) Encoder, decoder and corresponding methods
JP2023515175A (ja) シグナリングスライスヘッダシンタックス要素を簡略化するためのエンコーダ、デコーダおよび対応する方法
JP2022547293A (ja) 重み付き予測のための高レベルシグナリングの方法および装置
JP2023515189A (ja) スライス用のピクチャパーティション情報をシグナリングするためのデコーダ及び対応する方法
JP7414976B2 (ja) エンコーダ、デコーダ、および、対応する方法
WO2021185278A1 (en) An encoder, a decoder and corresponding methods
WO2021034230A2 (en) Method and apparatus of lossless video coding based on refinement of lossy reconstructed signal
JP2023509052A (ja) エンコーダ、デコーダ、および対応する方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240326