JP2022548404A - 解像度変更のためのデコードされたピクチャバッファ動作 - Google Patents

解像度変更のためのデコードされたピクチャバッファ動作 Download PDF

Info

Publication number
JP2022548404A
JP2022548404A JP2022518797A JP2022518797A JP2022548404A JP 2022548404 A JP2022548404 A JP 2022548404A JP 2022518797 A JP2022518797 A JP 2022518797A JP 2022518797 A JP2022518797 A JP 2022518797A JP 2022548404 A JP2022548404 A JP 2022548404A
Authority
JP
Japan
Prior art keywords
picture
dpb
value
current
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022518797A
Other languages
English (en)
Other versions
JP7416921B2 (ja
Inventor
イェ-クイ・ワン
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2022548404A publication Critical patent/JP2022548404A/ja
Priority to JP2024000298A priority Critical patent/JP2024028383A/ja
Application granted granted Critical
Publication of JP7416921B2 publication Critical patent/JP7416921B2/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

ビデオコーディングメカニズムが開示される。このメカニズムは、複数のピクチャを含むビットストリームを受信することを含む。前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)は、現在のアクセスユニット(AU)のルーマサンプルの最大ピクチャ幅(PicWidthMaxInSamplesY)の値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に設定される。NoOutputOfPriorPicsFlagの値に基づいて、収容されたピクチャを出力せずに、デコードされたピクチャバッファ(DPB)を空にする。現在のピクチャがデコーディングされ、DPBに記憶される。現在のピクチャは、デコードされたビデオシーケンスの一部として表示するためにDPBから出力される。

Description

関連出願の相互参照
本特許出願は、Ye-Kui Wangにより2019年9月24日に出願された、発明の名称を「Video Coding Improvements」とする米国仮特許出願第62/905,236号の利益を主張し、上記仮特許出願は参照により本明細書に組み込まれる。
本開示は、一般に、ビデオコーディングに関し、具体的には、マルチレイヤビットストリームのコーディングをサポートするためのシグナリングパラメータの改善に関する。
たとえ比較的短いビデオであっても、これを表すのに必要なビデオデータはかなりの量となるため、データのストリーミングが行われたり、帯域幅容量に限りがある通信ネットワークにまたがってデータが伝達されたりする場合には困難が生じることがある。このため、ビデオデータは通常、今日の通信ネットワークを介して伝達される前に圧縮される。ビデオが記憶装置に記憶される場合に、メモリリソースが乏しい場合もあるため、ビデオのサイズが問題になることもある。ビデオ圧縮装置は多くの場合、送信または記憶に先立ち供給元でソフトウェアおよび/またはハードウェアを使ってビデオデータをコーディングし、そうすることでデジタルビデオ画像を表すのに必要なデータの量を減らす。その後に、圧縮されたデータは、供給先でビデオデータをデコーディングするビデオ圧縮解除装置により受信される。ネットワークリソースには限りがあり、より高いビデオ品質を求める要求が増大しているため、画質をほとんど犠牲にしないかまったく犠牲にせずに圧縮率を高める改善された圧縮および圧縮解除技法が望まれている。
一実施形態では、本開示はデコーダにより実行される方法を含み、本方法は、デコーダの受信器により、複数のピクチャを含むビットストリームを受信するステップと、プロセッサにより、現在のアクセスユニット(AU)のルーマサンプルにおける最大ピクチャ幅(PicWidthMaxInSamplesY)の値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)の値を設定するステップと、NoOutputOfPriorPicsFlagの値に基づいて、収容されたピクチャを出力せずにデコードされたピクチャバッファ(DPB)を空にするステップと、プロセッサにより、現在のピクチャをデコーディングするステップと、DPBにより、現在のピクチャを記憶するステップと、を含む。
ビデオコーディングシステムは、ビデオシーケンスを複数のレイヤにコーディングすることができる。そのようなレイヤは、エンコードされたビットストリームから抽出され、デコーダに送信されて、デコーダが所望に応じて異なる特性を使用してビデオシーケンスを表示することを可能にすることができる。例えば、ネットワーク条件が最適である場合にはより高い解像度/より大きいサイズでピクチャを送信し、ネットワーク条件が悪化する場合にはより低い解像度/より小さいサイズでピクチャを送信することができる。この実装に伴う1つの問題は、デコーダにおけるDPBがレイヤ変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。この問題に対処するために、NoOutputOfPriorPicsFlagを使用することができる。NoOutputOfPriorPicsFlagは、DPBを空にして新しいピクチャのためのスペースを空けるように設定することができる。これは、DPB内の先行するピクチャが出力のために指定されている場合でも発生することができる。いくつかのビデオコーディングシステムでは、NoOutputOfPriorPicsFlagは、連続するピクチャ間の幅または高さの変化に起因して検出されるピクチャサイズ変化に基づいて設定される。適応解像度変更(ARC)は、解像度変更を支援するためのメカニズムである。ARCは、IRAPピクチャ以外のピクチャで解像度の変更が行われることを可能にするために、後続のピクチャの解像度に一致するようにDPB内のピクチャの解像度を動的に変更することができる。ARCを使用すると、NoOutputOfPriorPicsFlagが適切に動作しない可能性がある。具体的には、ARCは、先行するピクチャの空間解像度を現在のピクチャと同じに変更してもよく、これにより、ピクチャサイズ変更のチェックが正しく動作しなくなる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
本態様は、ARCが使用される場合にNoOutputOfPriorPicsFlagを有効にするためのメカニズムを提供する。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび/または最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。これにより、ARCを用いてレイヤ変更時の解像度を合わせる場合であっても、空間解像度の変化によるDPBオーバーフローを防ぐために、NoOutputOfPriorPicsFlagを適切に設定することができる。したがって、様々なエラーを回避することができる。同様のプロセスはまた、エンコードされたビットストリームを標準規格の適合性についてチェックするときにエンコーダで動作する仮想参照デコーダ(HRD)により使用され得る。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のAUのルーマサンプルにおける最大ピクチャ高さの値(PicHeightMaxInSamplesY)が、デコーディング順で先行するAUのPicHeightMaxInSamplesYの値と異なる場合に、プロセッサにより、NoOutputOfPriorPicsFlagの値を設定するステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のピクチャをデコーディングする前にDPBが空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、DPBは、現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、DPBを空にするときに除去される各ピクチャについてDPBフルネス変数をデクリメントするステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、プロセッサが、参照ピクチャリストを構築するステップと、NoOutputOfPriorPicsFlagを設定する前に現在のAUに対して参照ピクチャリストのマーキングを実行するステップとをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、先行するピクチャが参照のために未使用としてマークされている場合、DPBは空にされる。
一実施形態では、本開示はエンコーダにより実行される方法を含み、本方法は、エンコーダのプロセッサにより、複数のピクチャをビットストリームにエンコーディングするステップと、プロセッサにおいて動作するHRDにより、プロセッサにより、現在のAUのPicWidthMaxInSamplesYの値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、NoOutputOfPriorPicsFlagの値を設定すること、NoOutputOfPriorPicsFlagの値に基づいて、出力のために収容されたピクチャを選択せずに、DPBを空にすること、プロセッサにより、現在のピクチャをデコーディングすること、DPBにより、現在のピクチャを記憶すること、によって適合性についてビットストリームをチェックするステップと、プロセッサに結合されたメモリにより、デコーダへの通信のためにビットストリームを記憶するステップと、を含む。
ビデオコーディングシステムは、ビデオシーケンスを複数のレイヤにコーディングすることができる。そのようなレイヤは、エンコードされたビットストリームから抽出され、デコーダに送信されて、デコーダが所望に応じて異なる特性を使用してビデオシーケンスを表示することを可能にすることができる。例えば、ネットワーク条件が最適である場合にはより高い解像度/より大きいサイズでピクチャを送信し、ネットワーク条件が悪化する場合にはより低い解像度/より小さいサイズでピクチャを送信することができる。この実装に伴う1つの問題は、デコーダにおけるDPBがレイヤ変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。この問題に対処するために、NoOutputOfPriorPicsFlagを使用することができる。NoOutputOfPriorPicsFlagは、DPBを空にして新しいピクチャのためのスペースを空けるように設定することができる。これは、DPB内の先行するピクチャが出力のために指定されている場合でも発生することができる。いくつかのビデオコーディングシステムでは、NoOutputOfPriorPicsFlagは、連続するピクチャ間の幅または高さの変化に起因して検出されるピクチャサイズ変化に基づいて設定される。ARCは分解能の変化を支援するメカニズムである。ARCは、IRAPピクチャ以外のピクチャで解像度の変更が行われることを可能にするために、後続のピクチャの解像度に一致するようにDPB内のピクチャの解像度を動的に変更することができる。ARCを使用すると、NoOutputOfPriorPicsFlagが適切に動作しない可能性がある。具体的には、ARCは、先行するピクチャの空間解像度を現在のピクチャと同じに変更してもよく、これにより、ピクチャサイズ変更のチェックが正しく動作しなくなる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
本態様は、ARCが使用される場合にNoOutputOfPriorPicsFlagを有効にするためのメカニズムを提供する。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび/または最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。これにより、ARCを用いてレイヤ変更時の解像度を合わせる場合であっても、空間解像度の変化によるDPBオーバーフローを防ぐために、NoOutputOfPriorPicsFlagを適切に設定することができる。したがって、様々なエラーを回避することができる。同様のプロセスはまた、エンコードされたビットストリームを標準規格の適合性についてチェックするときにエンコーダで動作する仮想参照デコーダ(HRD)により使用され得る。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のAUのPicHeightMaxInSamplesYの値が、デコーディング順で先行するAUのPicHeightMaxInSamplesYの値と異なる場合に、プロセッサにおいて動作するHRDにより、NoOutputOfPriorPicsFlagの値を設定するステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のピクチャをデコーディングする前にDPBが空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、DPBは、現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、プロセッサにおいて動作するHRDにより、DPBを空にするときに除去される各ピクチャのDPBフルネス変数をデクリメントするステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施ではさらに、プロセッサにおいて動作するHRDにより、参照ピクチャリストを構築し、参照ピクチャリストのマーキングを実行するステップを含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、先行するピクチャが参照のために未使用としてマークされている場合、DPBは空にされる。
一実施形態において、本開示は、プロセッサと、プロセッサに結合された受信器と、プロセッサに結合されたメモリと、プロセッサに結合された送信器と、を含み、プロセッサ、受信器、メモリ、および送信器は、前述の態様の方法を実行するように構成される、ビデオコーディング装置を含む。
一実施形態において、本開示は、ビデオコーディング装置により使用されるコンピュータプログラム製品を含む非一時的コンピュータ可読媒体を含み、コンピュータプログラム製品は、プロセッサにより実行されるとき、ビデオコーディング装置に前述の態様のいずれかの方法を実行させるような、非一時的コンピュータ可読媒体に記憶されたコンピュータ実行可能命令を含む。
一実施形態では、本開示はデコーダを含み、デコーダは、複数のピクチャを含むビットストリームを受信するための受信手段と、現在のAUのPicWidthMaxInSamplesYの値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、NoOutputOfPriorPicsFlagの値を設定するための設定手段と、NoOutputOfPriorPicsFlagの値に基づいて、収容されたピクチャを出力せずにDPBを空にするための空にする手段と、現在のピクチャをデコーディングするためのデコーディング手段と、現在のピクチャをDPBに記憶するための記憶手段と、デコードされたビデオシーケンスの一部として表示のためにDPBから現在のピクチャを出力するための出力手段と、を含む。
ビデオコーディングシステムは、ビデオシーケンスを複数のレイヤにコーディングすることができる。そのようなレイヤは、エンコードされたビットストリームから抽出され、デコーダに送信されて、デコーダが所望に応じて異なる特性を使用してビデオシーケンスを表示することを可能にすることができる。例えば、ネットワーク条件が最適である場合にはより高い解像度/より大きいサイズでピクチャを送信し、ネットワーク条件が悪化する場合にはより低い解像度/より小さいサイズでピクチャを送信することができる。この実装に伴う1つの問題は、デコーダにおけるDPBがレイヤ変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。この問題に対処するために、NoOutputOfPriorPicsFlagを使用することができる。NoOutputOfPriorPicsFlagは、DPBを空にして新しいピクチャのためのスペースを空けるように設定することができる。これは、DPB内の先行するピクチャが出力のために指定されている場合でも発生することができる。いくつかのビデオコーディングシステムでは、NoOutputOfPriorPicsFlagは、連続するピクチャ間の幅または高さの変化に起因して検出されるピクチャサイズ変化に基づいて設定される。ARCは分解能の変化を支援するメカニズムである。ARCは、IRAPピクチャ以外のピクチャで解像度の変更が行われることを可能にするために、後続のピクチャの解像度に一致するようにDPB内のピクチャの解像度を動的に変更することができる。ARCを使用すると、NoOutputOfPriorPicsFlagが適切に動作しない可能性がある。具体的には、ARCは、先行するピクチャの空間解像度を現在のピクチャと同じに変更してもよく、これにより、ピクチャサイズ変更のチェックが正しく動作しなくなる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
本態様は、ARCが使用される場合にNoOutputOfPriorPicsFlagを有効にするためのメカニズムを提供する。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび/または最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。これにより、ARCを用いてレイヤ変更時の解像度を合わせる場合であっても、空間解像度の変化によるDPBオーバーフローを防ぐために、NoOutputOfPriorPicsFlagを適切に設定することができる。したがって、様々なエラーを回避することができる。同様のプロセスはまた、エンコードされたビットストリームを標準規格の適合性についてチェックするときにエンコーダで動作する仮想参照デコーダ(HRD)により使用され得る。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
任意選択で、前述の態様のいずれかにおいて、デコーダは、前述の態様のいずれかの方法を実行するようにさらに構成される、態様の別の実装が提供される。
一実施形態では、本開示はエンコーダを含み、エンコーダは、複数のピクチャをビットストリームにエンコーディングするためのエンコーディング手段と、現在のAUのPicWidthMaxInSamplesYの値と、先行するAUのPicWidthMaxInSamplesYの値とがデコーディング順で異なる場合に、NoOutputOfPriorPicsFlagの値を設定すること、NoOutputOfPriorPicsFlagの値に基づいて、出力のために収容されたピクチャを選択せずにDPBを空にすること、現在のピクチャをデコーディングすること、および現在のピクチャをDPBに記憶すること、によって適合性についてビットストリームをチェックするためのHRD手段と、デコーダに向けて通信するためにビットストリームを記憶するための記憶手段と、を含む。
ビデオコーディングシステムは、ビデオシーケンスを複数のレイヤにコーディングすることができる。そのようなレイヤは、エンコードされたビットストリームから抽出され、デコーダに送信されて、デコーダが所望に応じて異なる特性を使用してビデオシーケンスを表示することを可能にすることができる。例えば、ネットワーク条件が最適である場合にはより高い解像度/より大きいサイズでピクチャを送信し、ネットワーク条件が悪化する場合にはより低い解像度/より小さいサイズでピクチャを送信することができる。この実装に伴う1つの問題は、デコーダにおけるDPBがレイヤ変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。この問題に対処するために、NoOutputOfPriorPicsFlagを使用することができる。NoOutputOfPriorPicsFlagは、DPBを空にして新しいピクチャのためのスペースを空けるように設定することができる。これは、DPB内の先行するピクチャが出力のために指定されている場合でも発生することができる。いくつかのビデオコーディングシステムでは、NoOutputOfPriorPicsFlagは、連続するピクチャ間の幅または高さの変化に起因して検出されるピクチャサイズ変化に基づいて設定される。ARCは分解能の変化を支援するメカニズムである。ARCは、IRAPピクチャ以外のピクチャで解像度の変更が行われることを可能にするために、後続のピクチャの解像度に一致するようにDPB内のピクチャの解像度を動的に変更することができる。ARCを使用すると、NoOutputOfPriorPicsFlagが適切に動作しない可能性がある。具体的には、ARCは、先行するピクチャの空間解像度を現在のピクチャと同じに変更してもよく、これにより、ピクチャサイズ変更のチェックが正しく動作しなくなる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
本態様は、ARCが使用される場合にNoOutputOfPriorPicsFlagを有効にするためのメカニズムを提供する。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび/または最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。これにより、ARCを用いてレイヤ変更時の解像度を合わせる場合であっても、空間解像度の変化によるDPBオーバーフローを防ぐために、NoOutputOfPriorPicsFlagを適切に設定することができる。したがって、様々なエラーを回避することができる。同様のプロセスはまた、エンコードされたビットストリームを標準規格の適合性についてチェックするときにエンコーダで動作する仮想参照デコーダ(HRD)により使用され得る。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
任意選択で、前述の態様のいずれかにおいて、エンコーダは、前述の態様のいずれかの方法を実行するようにさらに構成される、態様の別の実装が提供される。
一実施形態では、本開示はデコーダにより実行される方法を含み、本方法は、デコーダの受信器により、複数のピクチャを含むビットストリームを受信するステップと、現在のAUのPicWidthMaxInSamplesYの値がデコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、収容されたピクチャを出力することなくDPBを空にするステップと、プロセッサにより、現在のピクチャをデコーディングするステップと、DPBにより、現在のピクチャを記憶するステップと、を含む。
ビデオコーディングシステムは、ビデオシーケンスを複数のレイヤにコーディングすることができる。そのようなレイヤは、エンコードされたビットストリームから抽出され、デコーダに送信されて、デコーダが所望に応じて異なる特性を使用してビデオシーケンスを表示することを可能にすることができる。例えば、ネットワーク条件が最適である場合にはより高い解像度/より大きいサイズでピクチャを送信し、ネットワーク条件が悪化する場合にはより低い解像度/より小さいサイズでピクチャを送信することができる。この実装に伴う1つの問題は、デコーダにおけるDPBがレイヤ変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。この問題に対処するために、NoOutputOfPriorPicsFlagを使用することができる。NoOutputOfPriorPicsFlagは、DPBを空にして新しいピクチャのためのスペースを空けるように設定することができる。これは、DPB内の先行するピクチャが出力のために指定されている場合でも発生することができる。いくつかのビデオコーディングシステムでは、NoOutputOfPriorPicsFlagは、連続するピクチャ間の幅または高さの変化に起因して検出されるピクチャサイズ変化に基づいて設定される。ARCは分解能の変化を支援するメカニズムである。ARCは、IRAPピクチャ以外のピクチャで解像度の変更が行われることを可能にするために、後続のピクチャの解像度に一致するようにDPB内のピクチャの解像度を動的に変更することができる。ARCを使用すると、NoOutputOfPriorPicsFlagが適切に動作しない可能性がある。具体的には、ARCは、先行するピクチャの空間解像度を現在のピクチャと同じに変更してもよく、これにより、ピクチャサイズ変更のチェックが正しく動作しなくなる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
本態様は、ARCが使用される場合にNoOutputOfPriorPicsFlagを有効にするためのメカニズムを提供する。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび/または最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。これにより、ARCを用いてレイヤ変更時の解像度を合わせる場合であっても、空間解像度の変化によるDPBオーバーフローを防ぐために、NoOutputOfPriorPicsFlagを適切に設定することができる。したがって、様々なエラーを回避することができる。同様のプロセスはまた、エンコードされたビットストリームを標準規格の適合性についてチェックするときにエンコーダで動作する仮想参照デコーダ(HRD)により使用され得る。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のAUのPicHeightMaxInSamplesYの値が、デコーディング順で先行するAUのPicHeightMaxInSamplesYの値と異なる場合、収容されたピクチャを出力せずにDPBを空にするステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のピクチャをデコーディングする前にDPBが空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、DPBは、現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、DPBを空にするときに除去される各ピクチャについてDPBフルネス変数をデクリメントするステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、プロセッサが、DPBを空にする前に、現在のAUの参照ピクチャリストを構築し、参照ピクチャリストのマーキングを実行するステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、先行するピクチャが参照のために未使用としてマークされている場合、DPBは空にされる。
一実施形態では、本開示はエンコーダにより実行される方法を含み、本方法は、エンコーダのプロセッサにより、複数のピクチャをビットストリームにエンコーディングするステップと、プロセッサにおいて動作するHRDにより、現在のAUのPicWidthMaxInSamplesYの値がデコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、収容されたピクチャを出力することなくDPBを空にすること、プロセッサにより、現在のピクチャをデコーディングすること、DPBにより、現在のピクチャを記憶すること、によって適合性についてビットストリームをチェックするステップと、プロセッサに結合されたメモリにより、デコーダへの通信のためにビットストリームを記憶するステップと、を含む。
ビデオコーディングシステムは、ビデオシーケンスを複数のレイヤにコーディングすることができる。そのようなレイヤは、エンコードされたビットストリームから抽出され、デコーダに送信されて、デコーダが所望に応じて異なる特性を使用してビデオシーケンスを表示することを可能にすることができる。例えば、ネットワーク条件が最適である場合にはより高い解像度/より大きいサイズでピクチャを送信し、ネットワーク条件が悪化する場合にはより低い解像度/より小さいサイズでピクチャを送信することができる。この実装に伴う1つの問題は、デコーダにおけるDPBがレイヤ変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。この問題に対処するために、NoOutputOfPriorPicsFlagを使用することができる。NoOutputOfPriorPicsFlagは、DPBを空にして新しいピクチャのためのスペースを空けるように設定することができる。これは、DPB内の先行するピクチャが出力のために指定されている場合でも発生することができる。いくつかのビデオコーディングシステムでは、NoOutputOfPriorPicsFlagは、連続するピクチャ間の幅または高さの変化に起因して検出されるピクチャサイズ変化に基づいて設定される。ARCは分解能の変化を支援するメカニズムである。ARCは、IRAPピクチャ以外のピクチャで解像度の変更が行われることを可能にするために、後続のピクチャの解像度に一致するようにDPB内のピクチャの解像度を動的に変更することができる。ARCを使用すると、NoOutputOfPriorPicsFlagが適切に動作しない可能性がある。具体的には、ARCは、先行するピクチャの空間解像度を現在のピクチャと同じに変更してもよく、これにより、ピクチャサイズ変更のチェックが正しく動作しなくなる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
本態様は、ARCが使用される場合にNoOutputOfPriorPicsFlagを有効にするためのメカニズムを提供する。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび/または最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。これにより、ARCを用いてレイヤ変更時の解像度を合わせる場合であっても、空間解像度の変化によるDPBオーバーフローを防ぐために、NoOutputOfPriorPicsFlagを適切に設定することができる。したがって、様々なエラーを回避することができる。同様のプロセスはまた、エンコードされたビットストリームを標準規格の適合性についてチェックするときにエンコーダで動作する仮想参照デコーダ(HRD)により使用され得る。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のAUのPicHeightMaxInSamplesYの値が、デコーディング順で先行するAUのPicHeightMaxInSamplesYの値と異なる場合、収容されたピクチャを出力せずにDPBを空にするステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、現在のピクチャをデコーディングする前にDPBが空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、DPBは、現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、DPBを空にするときに除去される各ピクチャについてDPBフルネス変数をデクリメントするステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、プロセッサが、DPBを空にする前に、現在のAUの参照ピクチャリストを構築し、参照ピクチャリストのマーキングを実行するステップをさらに含む。
任意選択で、前述した態様のいずれかにおいて、態様の別の実施では、先行するピクチャが参照のために未使用としてマークされている場合、DPBは空にされる。
明確にするために、前述の実施形態のうちのいずれか1つは、他の前述の実施形態のうちのいずれか1つまたは複数と組み合わされて、本開示の範囲内の新しい実施形態を作成する場合がある。
上記その他の特徴は、以下の詳細な説明を添付の図面および特許請求の範囲と併せて読めばより明確に理解されるであろう。
本開示をより十分に理解するために、次に、添付の図面および詳細な説明と関連して理解される以下の簡単な説明を参照する。添付の図面および詳細な説明において、類似の符号は類似の部分を表す。
ビデオ信号をコーディングする例示的な方法のフローチャートである。 ビデオコーディングのための例示的なコーディングおよびデコーディング(コーデック)システムの概略図である。 例示的なビデオエンコーダを示す概略図である。 例示的なビデオデコーダを示す概略図である。 例示的な仮想参照デコーダ(HRD)を示す概略図である。 例示的なマルチレイヤビデオシーケンスを示す概略図である。 例示的なビットストリームを示す概略図である。 例示的なビデオコーディング装置の概略図である。 適応型解像度変更(ARC)と併せて前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)の使用をサポートするためにビデオシーケンスをビットストリームにエンコーディングする例示的な方法のフローチャートである。 ARCと共にNoOutputOfPriorPicsFlagを使用しながらビットストリームからビデオシーケンスをデコーディングする例示的な方法のフローチャートである。 ARCと共にNoOutputOfPriorPicsFlagを使用しながらビデオシーケンスをビットストリームにコーディングするための例示的なシステムの概略図である。
最初に、1つまたは複数の実施形態の例示的な実施態様が以下に提供されるが、開示されたシステムおよび/または方法は、現在知られているか存在するかにかかわらず、任意の数の技術を使用して実装され得ることを理解されたい。本開示は、本明細書において図示または記載される例示的な設計および実施態様を含む、以下に示す例示的な実施態様、図面、および技法に決して限定されるべきでなく、それらの均等物の全範囲と共に添付の特許請求の範囲内で修正されてもよい。
以下の用語は、本明細書で反対の文脈で使用されない限り、次のように定義される。具体的に述べると、以下の定義は本開示をさらに明確にすることを意図している。しかしながら、用語は、異なる文脈では異なって記載される場合がある。したがって、以下の定義は補助的なものとみなされるべきであり、本明細書でそのような用語に与えられている説明の他の定義を制限するものと考えられるべきではない。
ビットストリームは、エンコーダとデコーダとの間で送信するために圧縮されたビデオデータを含む、一連のビットである。エンコーダは、ビデオデータを圧縮してビットストリームにするために、エンコーディングプロセスを使用するように構成された装置である。デコーダは、表示用にビットストリームからビデオデータを復元するために、デコーディングプロセスを使用するように構成された装置である。ピクチャは、フレームまたはそのフィールドを生成するルーマサンプルのアレイおよび/またはクロマサンプルのアレイである。ルーマサンプルは、ピクチャ内の点/画素の輝度値である。ピクチャ幅は、ルーマサンプルで測定される、ピクチャの左境界とピクチャの右境界との間の水平距離である。ピクチャ高さは、ルーマサンプルで測定される、ピクチャの上部境界とピクチャの下部境界との間の垂直距離である。スライスは、単一のネットワーク抽象化レイヤ(NAL)ユニットに排他的に含まれる整数個の完全なタイル、または整数個のピクチャの連続する完全なコーディングツリーユニット(CTU)行(例えば、タイル内)である。説明を明確にするために、エンコーディングまたはデコーディングされているピクチャを現在のピクチャと呼ぶことができる。コーディングされたピクチャは、アクセスユニット(AU)内のNALユニットヘッダレイヤ識別子(nuh_layer_id)の特定の値を有するビデオコーディングレイヤ(VCL)NALユニットを含み、ピクチャのすべてのコーディングツリーユニット(CTU)を含むピクチャのコーディングされた表現である。構文解析は、論理データ構成要素を取得するためにデータ列を構文解析するプロセスである。デコードされたピクチャは、コーディングされたピクチャにデコーディングプロセスを施して生成されたピクチャである。
AUは、異なるレイヤに含まれ、デコードされたピクチャバッファ(DPB)からの出力のために同じ時間に関連付けられた、一組のコーディングされたピクチャである。現在のAUは、デコーディングプロセスおよび/またはHRD適合性チェックプロセスにおける特定の出力時間に対応するAUである。先行するAUは、デコーディング順において、現在のAUよりも前(例えば直前)に発生するAUである。デコーディング順は、デコーディングプロセスによりシンタックス要素が処理される順序である。NALユニットは、生バイトシーケンスペイロード(RBSP)の形態のデータ、データのタイプの指示を含むシンタックス構造であり、エミュレーション防止バイトを用いて所望に応じて散在される。VCL NALユニットは、ピクチャのコーディングされたスライスなどのビデオデータを含むようにコーディングされたNALユニットである。非VCL NALユニットは、ビデオデータのデコーディング、適合性チェックの実行、または他の動作をサポートするシンタックスおよび/またはパラメータなどの非ビデオデータを含むNALユニットである。レイヤは、レイヤIDおよび関連付けられた非VCL NALユニットにより示されるように、指定された特性(例えば、共通解像度、フレームレート、画像サイズなど)を共有する一組のVCL NALユニットである。
DPBは、参照、出力並べ替え、または出力遅延のためのデコードされたピクチャを保持するバッファである。DPBフルネス変数は、DPBに記憶されるピクチャの数を示すデータ要素である。デクリメントは、値の減少である。参照ピクチャリストは、インター予測に用いられる参照ピクチャのリストである。参照ピクチャリストのマーキングは、現在のスライスの構築された参照ピクチャリストに基づいて、参照のために未使用、短期参照のために使用、および長期参照のために使用を含む、参照ステータスを有するDPB内のデコードされたピクチャをマーキングするプロセスである。参照に使用されていないとは、デコードされたピクチャが、それ以上デコーディングされるピクチャのための参照ピクチャとして使用されていないことを示す参照ステータスである。前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)は、DPBに含まれるピクチャを出力せずにDPBを空にする時期を指定する導出変数である。ルーマサンプルの最大ピクチャ幅(PicWidthMaxInSamplesY)は、対応するシーケンスおよび/またはレイヤ内の各デコードされたピクチャのルーマサンプル単位の最大幅を示す導出変数である。ルーマサンプルの最大ピクチャ高さ(PicHeightMaxInSamplesY)は、対応するシーケンスおよび/またはレイヤ内の各デコードされたピクチャのルーマサンプル単位の最大高さを示す導出変数である。
仮想参照デコーダ(HRD)は、エンコーディングプロセスにより生成されたビットストリームの変動性をチェックして指定された制約との適合性を検証するエンコーダ上で動作するデコーダモデルである。ビットストリーム適合性テストは、エンコードされたビットストリームが、多用途ビデオコーディング(VVC)などの標準規格に準拠しているかどうかを判定するテストである。ピクチャパラメータセット(PPS)は、各ピクチャヘッダに見られるシンタックス要素により決定されるコーディングされたピクチャ全体に適用されるシンタックス要素を含むシンタックス構造である。ピクチャヘッダは、コーディングされたピクチャの全スライスに適用されるシンタックス要素を含む、シンタックス構造である。スライスヘッダは、全タイル、またはスライスで表されたタイル内のCTU行に関するデータ要素を含む、コーディングされたスライスの一部である。コーディングされたビデオシーケンスは、一組の1つまたは複数のコーディングされたピクチャである。デコードされたビデオシーケンスは、一組の1つまたは複数のデコードされたピクチャである。
本明細書では、以下の頭字語、すなわち、アクセスユニット(AU)、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、コーディングされたレイヤ・ビデオ・シーケンス(CLVS)、コーディングされたレイヤ・ビデオ・シーケンス・スタート(CLVSS)、コーディングされたビデオシーケンス(CVS)、コーディングされたビデオ・シーケンス・スタート(CVSS)、ジョイント・ビデオ・エキスパート・チーム(JVET)、仮想参照デコーダHRD、動き制約タイルセット(MCTS)、最大転送ユニット(MTU)、ネットワーク抽象化レイヤ(NAL)、出力レイヤセット(OLS)、ピクチャオーダカウント(POC)、ランダムアクセスポイント(RAP)、生バイト・シーケンス・ペイロード(RBSP)、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)、多用途ビデオコーディング(VVC)が使用される。
データ損失を最小にしながらビデオファイルのサイズを縮小するために、多くのビデオ圧縮技法を使用することができる。例えば、ビデオ圧縮技法は、ビデオシーケンスにおけるデータ冗長性を低減または除去するために、空間(例えば、イントラピクチャ)予測および/または時間(例えば、インターピクチャ)予測を実行することを含むことができる。ブロックベースのビデオコーディングでは、ビデオスライス(例えば、ビデオピクチャまたはビデオピクチャの一部)はビデオブロックに区分されてよく、ビデオブロックは、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、および/または、コーディングノードと呼ばれてもよい。ピクチャのイントラコーディングされた(I)スライス内のビデオブロックは、同じピクチャ内の隣り合うブロックにおける、参照サンプルに対する空間予測を使用してコーディングされる。ピクチャのインターコーディングされた一方向予測(P)または双方向予測(B)スライス内のビデオブロックは、同じピクチャ内の隣り合うブロックにおける、参照サンプルに対する空間予測、または他の参照ピクチャにおける、参照サンプルに対する時間予測を使用してコーディングされてもよい。ピクチャはフレームおよび/または画像と呼ばれてもよく、参照ピクチャは参照フレームおよび/または参照画像と呼ばれてもよい。空間予測または時間予測は、画像ブロックを表す予測ブロックになる。残差データは、元の画像ブロックと予測ブロックとの画素差を表す。したがって、インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトルと、コーディングされたブロックと予測ブロックとの差分を示す残差データと、に従ってエンコーディングされる。イントラコーディングされたブロックは、イントラコーディングされたモードと残差データとに従ってエンコーディングされる。さらに圧縮するために、残差データは、画素領域から変換領域に変換されてもよい。これらは残差変換係数になり、量子化され得る。量子化された変換係数は、最初は2次元配列で配置されてもよい。量子化された変換係数は、変換係数の1次元ベクトルを生成するためにスキャンされ得る。さらなる圧縮を実現するために、エントロピーコーディングが適用されてもよい。このようなビデオ圧縮技法は、以下でより詳細に説明される。
エンコーディングされたビデオが正確にデコーディングされ得るように、ビデオは、対応するビデオコーディング標準規格に従ってエンコーディングされデコーディングされる。ビデオコーディング標準規格には、国際電気通信連合(ITU)標準化部門(ITU-T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)動画専門家グループ(MPEG)-1 Part 2、ITU-T H.262またはISO/IEC MPEG-2 Part 2、ITU-T H.263、ISO/IEC MPEG-4 Part 2、ITU-T H.264またはISO/IEC MPEG-4 Part 10としても知られる高度ビデオコーディング(AVC)、およびITU-T H.265またはMPEG-Hパート2としても知られる高効率ビデオコーディング(HEVC)が含まれる。AVCは、スケーラブルビデオコーディング(SVC)、マルチビュービデオコーディング(MVC)、マルチビュービデオコーディングプラス深度(MVC+D)、および3次元(3D)AVC(3D-AVC)などの拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、および3D HEVC(3D-HEVC)などの拡張を含む。ITU-TおよびISO/IECの合同ビデオ専門家チーム(JVET)は、多用途ビデオコーディング(VVC)と呼ばれるビデオコーディング標準規格の開発に着手した。VVCは、JVET-O2001-v14を含むワーキングドラフト(WD)に含まれる。
ビデオコーディングシステムは、ビデオシーケンスを複数のレイヤにコーディングすることができる。そのようなレイヤは、エンコードされたビットストリームから抽出され、デコーダに送信されて、デコーダが所望に応じて異なる特性を使用してビデオシーケンスを表示することを可能にすることができる。例えば、ネットワーク条件が最適である場合にはより高い解像度/より大きいサイズでピクチャを送信し、ネットワーク条件が悪化する場合にはより低い解像度/より小さいサイズでピクチャを送信することができる。この実装に伴う1つの問題は、デコーダにおけるデコードされたピクチャバッファ(DPB)がレイヤ変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。この問題に対処するために、前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)を使用することができる。NoOutputOfPriorPicsFlagは、DPBを空にして新しいピクチャのためのスペースを空けるように設定することができる。これは、DPB内の先行するピクチャが出力のために指定されている場合でも発生することができる。いくつかのビデオコーディングシステムでは、NoOutputOfPriorPicsFlagは、ピクチャの幅または高さの変化により検出されたピクチャサイズ変化に基づいて設定される。適応解像度変更(ARC)は、解像度変更を支援するためのメカニズムである。ARCは、DPB内のピクチャの解像度を動的に変更して後続のピクチャと一致させ、イントラ・ランダム・アクセス・ポイント(IRAP)ピクチャ以外のピクチャで解像度の変更が行われるようにする。ARCを使用すると、NoOutputOfPriorPicsFlagが適切に動作しない可能性がある。具体的には、ARCは、先行するピクチャの空間解像度を現在のピクチャと同じに変更してもよく、これにより、ピクチャサイズ変更のチェックが正しく動作しなくなる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
本明細書では、ARCが使用される場合にNoOutputOfPriorPicsFlagを有効にするためのメカニズムが開示される。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。これにより、ARCを用いてレイヤ変更時の解像度を合わせる場合であっても、空間解像度の変化によるDPBオーバーフローを防ぐために、NoOutputOfPriorPicsFlagを適切に設定することができる。したがって、様々なエラーを回避することができる。同様のプロセスはまた、エンコードされたビットストリームを標準規格の適合性についてチェックするときにエンコーダで動作する仮想参照デコーダ(HRD)により使用され得る。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
図1は、ビデオ信号をコーディングする例示的な動作方法100のフローチャートである。具体的に述べると、ビデオ信号はエンコーダでエンコーディングされる。エンコーディングプロセスは、ビデオファイルのサイズを減じる様々なメカニズムを用いてビデオ信号を圧縮する。ファイルのサイズが小さければ、圧縮されたビデオファイルをユーザへ伝送し、これに伴う帯域幅オーバーヘッドを減らすことが可能となる。その後に、デコーダは圧縮されたビデオファイルをデコーディングし、エンドユーザに向けて表示するため元のビデオ信号を復元する。デコーダでビデオ信号を着実に復元することを可能にするため、デコーディングプロセスは通常、エンコーディングプロセスを反映する。
ステップ101では、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号はメモリに記憶された圧縮されていないビデオファイルであってもよい。もうひとつの例として、ビデオカメラなどのビデオキャプチャデバイスによりビデオファイルがキャプチャされ、ビデオのライブストリーミングをサポートするためエンコーディングされてもよい。ビデオファイルはオーディオ成分とビデオ成分の両方を含むことがある。ビデオ成分は一連の画像フレームを含み、これが連続して見られると、視覚的な動きの印象を与える。フレームは画素を含み、画素は、ここでルーマ成分(またはルーマサンプル)と呼ばれる光と、クロマ成分(または色サンプル)と呼ばれる色とにより表される。いくつかの例では、3次元閲覧をサポートするため、フレームが深度値を含むこともある。
ステップ103では、ビデオがブロックに区分される。区分は、各フレーム内の画素を圧縮のために正方形および/または長方形のブロックに細分することを含む。例えば、高効率ビデオコーディング(HEVC)(H.265およびMPEG-H Part 2としても知られている)では、フレームは、まずコーディングツリーユニット(CTU)に細分化でき、これは所定のサイズ(例えば、64画素×64画素)のブロックである。CTUはルーマおよびクロマの両方のサンプルを含む。コーディングツリーを使ってCTUをブロックに分割し、その後に、さらなるエンコーディングをサポートする構成が達成されるまでブロックを再帰的に細分することができる。例えば、フレームのルーマ成分は、個々のブロックが比較的均一な照明値を含むようになるまで細分されてもよい。さらに、フレームのクロマ成分は、個々のブロックが比較的均一な色値を含むようになるまで細分されてもよい。したがって、区分メカニズムはビデオフレームの内容に応じて異なる。
ステップ105では、ステップ103で区分された画像ブロックを様々な圧縮メカニズムを用いて圧縮する。例えば、インター予測および/またはイントラ予測が使われてよい。インター予測は、一般的なシーンの中の物体が連続するフレームに現れる傾向があるという事実を利用するようになっている。したがって、参照フレーム内の物体を表すブロックは、近接するフレームで繰り返し記述される必要はない。具体的に述べると、机などの物体は複数のフレームにわたって一定の位置にとどまることがある。それ故、机は一度記述され、近接するフレームは参照フレームを参照することができる。パターンマッチングメカニズムを用いることで、複数のフレームにわたって物体を整合させることができる。さらに、例えば物体の動きやカメラの動きにより、複数のフレームにわたって動く物体が表されることがある。個別の一例として、ビデオは複数のフレームにわたって画面を横切る自動車を表示することができる。このような動きは動きベクトルを使って記述することができる。動きベクトルは、フレーム内の物体の座標から参照フレーム内の当該物体の座標までのオフセットを提供する2次元ベクトルである。このため、インター予測は、現在のフレーム内の画像ブロックを、参照フレーム内の対応するブロックからのオフセットを示す一組の動きベクトルとしてエンコーディングすることができる。
イントラ予測は一般的なフレーム内のブロックをエンコーディングする。イントラ予測は、ルーマ成分とクロマ成分がフレームの中で群がる傾向があるという事実を利用する。例えば、木の一部分にある緑のパッチは、同様の緑のパッチの近くに位置する傾向がある。イントラ予測は、複数の方向予測モード(例えばHEVCで33)、平面モード、およびダイレクトカレント(DC)モードを使用する。方向モードは、現在のブロックが対応する方向で隣接ブロックのサンプルと同様/同じであることを指示する。平面モードは、行/列(例えば平面)沿いの一連のブロックを、行のエッジの隣接ブロックに基づいて補間できることを指示する。平面モードは、実際には、変化する値の比較的一定のスロープを使うことにより、行/列にわたる光/色の滑らかな遷移を示す。DCモードは境界平滑化に使われ、ブロックが、方向予測モードの角度方向と関連するすべての隣接ブロックのサンプルと関連する平均値と同様/同じであることを指示する。したがって、イントラ予測ブロックは、実際の値の代わりに様々な関係予測モード値として画像ブロックを表すことができる。さらに、インター予測ブロックは、実際の値の代わりに動きベクトル値として画像ブロックを表すことができる。いずれの場合でも、予測ブロックは場合によっては画像ブロックを正確に表さないことがある。差は残差ブロックに記憶される。ファイルをさらに圧縮するため、残差ブロックには変換が適用できる。
ステップ107では、様々なフィルタリング技法が適用され得る。HEVCではループ内フィルタリング方式に従ってフィルタが適用される。上述したブロックベースの予測は、デコーダにおいてブロック状画像の作成をもたらすことができる。さらに、ブロックに基づく予測方式はブロックをエンコーディングし、エンコーディングされたブロックを後ほど参照ブロックとして使用するため復元することができる。ループ内フィルタリング方式は、ノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、およびサンプル適応型オフセット(SAO)フィルタをブロック/フレームに繰り返し適用する。これらのフィルタはそのようなブロッキングアーチファクトを軽減するため、エンコーディングされたファイルは正確に復元することができる。さらに、これらのフィルタは復元された参照ブロックでアーチファクトを軽減するため、復元された参照ブロックに基づいてエンコーディングされる後続のブロックでさらなるアーチファクトが発生する見込みは少なくなる。
ビデオ信号が区分され、圧縮され、フィルタされたら、できあがったデータがステップ109においてビットストリームでエンコーディングされる。このビットストリームは上述したデータを含む他、デコーダでの適切なビデオ信号復元をサポートするにあたって望ましいシグナリングデータを含む。例えば、そのようなデータは、区分データ、予測データ、残差ブロック、およびデコーダにコーディング命令を提供する様々なフラグを含むことができる。ビットストリームは、要求に応じてデコーダへ伝送できるようにメモリに記憶されてもよい。ビットストリームはまた、複数のデコーダに向けてブロードキャストおよび/またはマルチキャストされてもよい。ビットストリームの生成は反復プロセスである。したがって、ステップ101、103、105、107、および109は、多数のフレームおよびブロックにわたって連続的に、および/または同時に、行われ得る。図1に示す順序は説明を明瞭かつ平易にするために提示されており、ビデオコーディングプロセスを特定の順序に限定することを意図するものではない。
デコーダはビットストリームを受信し、ステップ111でデコーディングプロセスを開始する。具体的に述べると、デコーダはエントロピーデコーディング方式を用いてビットストリームを対応するシンタックスデータとビデオデータに変換する。デコーダはステップ111で、ビットストリームからのシンタックスデータを使ってフレームの区分を決定する。区分はステップ103におけるブロック区分の結果に整合しなければならない。これより、ステップ111で使われるエントロピーエンコーディング/デコーディングを説明する。エンコーダは、入力画像における値の空間的配置に基づいて数通りの選択肢からブロック区分方式を選択するなど、圧縮過程で多数の選択を行う。正確な選択をシグナリングするには、多数のビンを使用することができる。ここで使われるビンは、変数として扱われる2進値(例えば、状況に応じて変わり得るビット値)である。エントロピーコーディングでは、エンコーダはある特定の状況で明らかに成り立たないオプションを破棄し、許容可能なオプションからなる集合を残すことができる。その後に、各許容可能なオプションにコードワードが割り当てられる。コードワードの長さは許容可能なオプションの数に基づいている(例えば、2つのオプションに対し1ビン、3~4つのオプションに対し2ビンなど)。その後に、エンコーダは選択されたオプションのコードワードをエンコーディングする。コードワードは、すべての可能なオプションからなる大きい集合からの選択を一意に指示するのに対し、許容可能なオプションからなる小さい部分集合からの選択を一意に指示する場合に所望の大きさになるため、この方式はコードワードのサイズを縮小する。その後に、デコーダは、エンコーダと同様に許容可能なオプションからなる集合を割り出すことにより選択をデコーディングする。デコーダは、許容可能なオプションからなる集合を割り出すことによりコードワードを読み取り、エンコーダにより行われた選択を割り出すことができる。
ステップ113では、デコーダがブロックデコーディングを行う。具体的に述べると、デコーダは逆変換を用いて残差ブロックを生成する。その後に、デコーダは残差ブロックと対応する予測ブロックを使用し、区分に基づいて画像ブロックを復元する。予測ブロックは、ステップ105においてエンコーダで生成されたイントラ予測ブロックとインター予測ブロックの両方を含むことができる。その後に、復元された画像ブロックは、ステップ111で判断された区分データに基づいて復元されたビデオ信号のフレームの中に配置される。ステップ113のシンタックスも上述したエントロピーコーディングによりビットストリームでシグナリングされてもよい。
ステップ115では、エンコーダにおけるステップ107と同様に復元されたビデオ信号のフレームに対してフィルタリングが行われる。ブロッキングアーチファクトを除去するため、例えばノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、およびSAOフィルタがフレームに適用され得る。フレームがフィルタされたら、ステップ117でビデオ信号がエンドユーザによる閲覧のためディスプレイに出力され得る。
図2は、ビデオコーディングのための例示的なコーディングおよびデコーディング(コーデック)システム200の概略図である。具体的に述べると、コーデックシステム200は動作方法100の実施をサポートする機能を提供する。コーデックシステム200は、エンコーダおよびデコーダの両方で使用される構成要素を示すために一般化されている。コーデックシステム200は動作方法100のステップ101および103に関して述べたようにビデオ信号を受信し、これを区分し、その結果、区分されたビデオ信号201が得られる。コーデックシステム200はその後に、方法100のステップ105、107、および109に関して述べたようにエンコーダとして機能する場合に、区分されたビデオ信号201をコーディングされたビットストリームに圧縮する。コーデックシステム200は、デコーダとして機能する場合に、動作方法100のステップ111、113、115、および117に関して述べたように、ビットストリームから出力ビデオ信号を生成する。コーデックシステム200は、一般コーダ制御構成要素211、変換スケーリングおよび量子化構成要素213、イントラピクチャ推定構成要素215、イントラピクチャ予測構成要素217、動き補償構成要素219、動き推定構成要素221、スケーリングおよび逆変換構成要素229、フィルタ制御解析構成要素227、ループ内フィルタ構成要素225、デコードされたピクチャバッファ構成要素223、ならびにヘッダフォーマッティングおよびコンテキスト適応型バイナリ算術コーディング(CABAC)構成要素231を含む。そのような構成要素は図示したように結合される。図2で、黒い線はエンコーディング/デコーディングされるデータの動きを示しており、破線は他の構成要素の動作を制御する制御データの動きを示している。コーデックシステム200の構成要素はどれもエンコーダ内に存在してよい。デコーダはコーデックシステム200の構成要素の部分集合を含んでよい。例えば、デコーダは、イントラピクチャ予測構成要素217、動き補償構成要素219、スケーリングおよび逆変換構成要素229、ループ内フィルタ構成要素225、およびデコードされたピクチャバッファ構成要素223を含んでよい。これよりこれらの構成要素を説明する。
区分されたビデオ信号201は、コーディングツリーにより画素からなるブロックに区分されたキャプチャされたビデオシーケンスである。コーディングツリーは様々な分割モードを用いて画素からなるブロックをより小さい画素からなるブロックに細分する。その後に、これらのブロックはより小さいブロックにさらに細分できる。ブロックはコーディングツリー上でノードと呼ばれることがある。大きい親ノードは小さい子ノードに分割される。ノードが細分される回数はノード/コーディングツリーの深度と呼ばれる。分割されたブロックは、場合によってはコーディングユニット(CU)に含まれ得る。例えば、CUは、対応するCUのシンタックス命令と共に、ルーマブロック、(1つまたは複数の)赤差のクロマ(Cr)ブロック、および(1つまたは複数の)青差のクロマ(Cb)ブロックを含む、CTUのサブ部分であってもよい。分割モードは、バイナリツリー(BT)、トリプルツリー(TT)、およびクアドツリー(QT)を含み、これらのモードは、使用する分割モードに応じて、それぞれ形が異なる2つ、3つ、または4つの子ノードにノードを区分するために使われる。区分されたビデオ信号201は、圧縮のため、一般コーダ制御構成要素211、変換スケーリングおよび量子化構成要素213、イントラピクチャ推定構成要素215、フィルタ制御解析構成要素227、および動き推定構成要素221へ転送される。
一般コーダ制御構成要素211は、用途の制約条件に応じてビデオシーケンスの画像をビットストリームにコーディングすることに関係する決定を下すように構成される。例えば、一般コーダ制御構成要素211はビットレート/ビットストリームサイズと復元品質との最適化を管理する。そのような決定は、使用できる記憶空間/帯域幅の利用可能性および画像の解像度要求に基づいて下されてもよい。一般コーダ制御構成要素211はまた、バッファのアンダーラン問題とオーバーラン問題を軽減するため、伝送速度を踏まえてバッファの使用状況を管理する。これらの問題を管理するため、一般コーダ制御構成要素211は、他の構成要素による区分と予測とフィルタリングを管理する。例えば、一般コーダ制御構成要素211は、解像度を上げて帯域幅使用を増大させるために圧縮の複雑度を動的に増大させることができ、あるいは解像度と帯域幅使用を低下させるために圧縮の複雑度を低下させることができる。それ故、一般コーダ制御構成要素211はコーデックシステム200の他の構成要素を制御することで、ビデオ信号の復元品質とビットレート問題のバランスをとる。一般コーダ制御構成要素211は、他の構成要素の動作を制御する制御データを生成する。制御データはまた、デコーダでのデコーディングのためのパラメータをシグナリングするため、ヘッダフォーマッティングおよびCABAC構成要素231へ転送されてビットストリームでエンコーディングされる。
区分されたビデオ信号201は、インター予測のため、動き推定構成要素221と動き補償構成要素219にも送信される。区分されたビデオ信号201のフレームまたはスライスは複数のビデオブロックに分割できる。動き推定構成要素221と動き補償構成要素219は、時間予測を提供するため、1つまたは複数の参照フレーム内の1つまたは複数のブロックを基準にして受信したビデオブロックのインター予測コーディングを行う。コーデックシステム200は、例えばビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディング工程を実行することができる。
動き推定構成要素221と動き補償構成要素219は高度に一体化されてもよいが、概念的な目的のため別々に示されている。動き推定構成要素221により行われる動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、予測ブロックに対するコーディングされた物体の移動を示すことができる。予測ブロックとは、画素差の観点から、コーディングされるブロックによく一致することが分かっているブロックである。予測ブロックは参照ブロックとも呼ばれてもよい。そのような画素差は、絶対差の和(SAD)、二乗差の和(SSD)、またはその他の差指標により割り出すことができる。HEVCは、CTU、コーディングツリーブロック(CTB)、およびCUを含むいくつかのコーディングされたオブジェクトを使用する。例えば、CTUはCTBに分割でき、その後CTBは、CUに含めるためにCBに分割することができる。CUは、予測データを含む予測ユニットとして、および/またはCUの変換された残差データを含む変換ユニット(TU)として、エンコーディングされ得る。動き推定構成要素221は、レート歪み最適化プロセスの一部としてレート歪み解析を用いることにより動きベクトル、予測ユニット、およびTUを生成する。例えば、動き推定構成要素221は、現在のブロック/フレームについて複数の参照ブロック、複数の動きベクトルなどを割り出すことができ、最良のレート歪み特性を有する参照ブロック、動きベクトルなどを選択できる。最良のレート歪み特性とは、ビデオ復元の質(例えば、圧縮によるデータ損失量)とコーディング効率(例えば、最終的なエンコーディングのサイズ)とのバランスをとるものである。
いくつかの例において、コーデックシステム200は、デコードされたピクチャバッファ構成要素223に記憶された参照ピクチャのサブ整数画素位置の値を計算できる。例えば、ビデオコーデックシステム200は、参照ピクチャの4分の1画素位置、8分の1画素位置、またはその他の小数画素位置の値を補間できる。したがって、動き推定構成要素221は全画素位置と小数画素位置を基準にして動き探索を行い、小数画素精度の動きベクトルを出力できる。動き推定構成要素221は、予測ユニットの位置を参照ピクチャの予測ブロックの位置と比較することにより、インターコーディングされたスライス内のビデオブロックの予測ユニットに対する動きベクトルを計算する。動き推定構成要素221は、計算した動きベクトルを動きデータとしてヘッダフォーマッティングおよびCABAC構成要素231にエンコーディングのため出力し、動き補償構成要素219に動きを出力する。
動き補償構成要素219により行われる動き補償では、動き推定構成要素221により割り出された動きベクトルに基づいて予測ブロックを取得または生成できる。繰り返しになるが、いくつかの例において、動き推定構成要素221と動き補償構成要素219は機能的に一体化されてもよい。現在のビデオブロックの予測ユニットの動きベクトルを受信すると、動き補償構成要素219は、動きベクトルが指し示す予測ブロックを見つけることができる。その後に、コーディングされる現在のビデオブロックの画素値から予測ブロックの画素値を引いて画素差の値を形成することにより、残差ビデオブロックが形成される。通常、動き推定構成要素221はルーマ成分について動き推定を行い、動き補償構成要素219はルーマ成分に基づいて計算された動きベクトルをクロマ成分とルーマ成分の両方に使用する。予測ブロックと残差ブロックは変換スケーリングおよび量子化構成要素213へ転送される。
区分されたビデオ信号201はイントラピクチャ推定構成要素215とイントラピクチャ予測構成要素217にも送信される。動き推定構成要素221ならびに動き補償構成要素219と同様、イントラピクチャ推定構成要素215とイントラピクチャ予測構成要素217も高度に一体化されてもよいが、概念的な目的のため別々に示されている。イントラピクチャ推定構成要素215とイントラピクチャ予測構成要素217は、上述したように、動き推定構成要素221と動き補償構成要素219によりフレームからフレームにかけて行われるインター予測の代わりに、現在のフレーム内のブロックを基準にして現在のブロックをイントラ予測する。具体的に述べると、イントラピクチャ推定構成要素215は現在のブロックをエンコーディングするために使うイントラ予測モードを決定する。いくつかの例において、イントラピクチャ推定構成要素215は複数のテストされたイントラ予測モードから現在のブロックをエンコーディングする適切なイントラ予測モードを選択する。その後に、選択されたイントラ予測モードはエンコーディングのためヘッダフォーマッティングおよびCABAC構成要素231へ転送される。
例えば、イントラピクチャ推定構成要素215は様々なテストされたイントラ予測モードについてレート歪み解析を用いてレート歪み値を計算し、テストされたモードの中から最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み解析は通常、エンコードされたブロックと、エンコードされたブロックを生成するためにエンコーディングされた元のエンコーディングされていないブロックとの歪み(または誤差)の量と、エンコードされたブロックの生成に使われたビットレート(例えばビット数)を割り出す。イントラピクチャ推定構成要素215は様々なエンコードされたブロックの歪みとレートから比率を計算することで、ブロックで最良のレート歪み値を示すイントラ予測モードがどれかを判断する。加えて、イントラピクチャ推定構成要素215は、レート歪み最適化(RDO)に基づく深度モデリングモード(DMM)を使って深度マップの深度ブロックをコーディングするように構成されてもよい。
イントラピクチャ予測構成要素217は、エンコーダにおいて実行される場合は、イントラピクチャ推定構成要素215により決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成でき、あるいはデコーダにおいて実行される場合は、ビットストリームから残差ブロックを読み取る。残差ブロックは、行列として表現される、予測ブロックと元のブロックとの値の差を含む。その後に、残差ブロックは変換スケーリングおよび量子化構成要素213へ転送される。イントラピクチャ推定構成要素215とイントラピクチャ予測構成要素217はルーマ成分とクロマ成分の両方に作用できる。
変換スケーリングおよび量子化構成要素213は、残差ブロックをさらに圧縮するように構成される。変換スケーリングおよび量子化構成要素213は、離散コサイン変換(DCT)、離散サイン変換(DST)、または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、または他種変換を用いることもできる。変換は、画素値領域から周波数領域などの変換領域に残差情報を変換できる。変換スケーリングおよび量子化構成要素213はまた、例えば周波数に基づいて、変換された残差情報をスケールするように構成される。そのようなスケーリングでは残差情報にスケール率を適用し、これにより様々な周波数情報が様々な粒度で量子化され、これにより、復元されたビデオの最終的な視覚的品質が左右され得る。変換スケーリングおよび量子化構成要素213はまた、ビットレートをさらに低減するため、変換係数を量子化するように構成される。量子化プロセスは係数の一部または全部に関連するビット深度を減らすことができる。量子化の度合いは量子化パラメータを調節することにより変更できる。いくつかの例において、変換スケーリングおよび量子化構成要素213はその後に、量子化された変換係数を含む行列のスキャンを行うことができる。量子化された変換係数は、ビットストリームでエンコーディングされるため、ヘッダフォーマッティングおよびCABAC構成要素231へ転送される。
スケーリングおよび逆変換構成要素229は、動き推定をサポートするため、変換スケーリングおよび量子化構成要素213の逆の操作を適用する。スケーリングおよび逆変換構成要素229は、逆スケーリング、変換、および/または量子化を適用することで、例えば、別の現在のブロックの予測ブロックになり得る参照ブロックとして後ほど使用するため、残差ブロックを画素領域で復元する。動き推定構成要素221および/または動き補償構成要素219は、残差ブロックを、後のブロック/フレームの動き推定で使用する対応する予測ブロックに加えることにより、参照ブロックを計算できる。スケーリングと量子化と変換のときに生じるアーチファクトを軽減するため、復元された参照ブロックにはフィルタが適用される。さもないと、後続のブロックが予測されるときに、そのようなアーチファクトにより予測が不正確になる(また、さらなるアーチファクトが生じる)可能性がある。
フィルタ制御解析構成要素227とループ内フィルタ構成要素225は、残差ブロックに、および/または復元された画像ブロックに、フィルタを適用する。例えば、元の画像ブロックを復元するため、スケーリングおよび逆変換構成要素229からの変換された残差ブロックを、イントラピクチャ予測構成要素217および/または動き補償構成要素219からの対応する予測ブロックに組み合わせることができる。その後に、復元された画像ブロックにフィルタを適用できる。いくつかの例において、フィルタは、代わりに、残差ブロックに適用できる。図2の他の構成要素と同様、フィルタ制御解析構成要素227とループ内フィルタ構成要素225は高度に一体化されて共に実行されてもよいが、概念的な目的のため別々に描かれている。復元された参照ブロックに適用されるフィルタは特定の空間領域に適用され、そのようなフィルタがどのように適用されるかを調整する複数のパラメータを含む。フィルタ制御解析構成要素227は復元された参照ブロックを解析することで、そのようなフィルタが適用されるべき状況を判断し、該当するパラメータを設定する。そのようなデータは、エンコーディングのため、フィルタ制御データとしてヘッダフォーマッティングおよびCABAC構成要素231へ転送される。ループ内フィルタ構成要素225はフィルタ制御データに基づいてそのようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応型ループフィルタを含むことができる。そのようなフィルタは、例に応じて空間/画素領域(例えば、復元された画素ブロック上)で、または周波数領域で、適用されてもよい。
エンコーダとして作動する場合、フィルタされた復元された画像ブロック、残差ブロック、および/または予測ブロックは、上述した動き推定で後ほど使用するためデコードされたピクチャバッファ構成要素223に記憶される。デコーダとして作動する場合、デコードされたピクチャバッファ構成要素223は復元されフィルタされたブロックを記憶し、出力ビデオ信号の一部としてディスプレイへ転送する。デコードされたピクチャバッファ構成要素223は、予測ブロック、残差ブロック、および/または復元された画像ブロックを記憶できる何らかのメモリ装置であってもよい。
ヘッダフォーマッティングおよびCABAC構成要素231はコーデックシステム200の様々な構成要素からデータを受信し、そのようなデータをデコーダへ伝送するためコーディングされたビットストリームにエンコーディングする。具体的に述べると、ヘッダフォーマッティングおよびCABAC構成要素231は、一般制御データやフィルタ制御データなどの制御データをエンコーディングするため、様々なヘッダを生成する。さらに、イントラ予測および動きデータを含む予測データ、ならびに量子化された変換係数データの形をとる残差データは、いずれもビットストリームでエンコーディングされる。最終的なビットストリームは、デコーダが元の区分されたビデオ信号201を復元するにあたって必要となる全情報を含んでいる。そのような情報は、イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、様々なブロックのエンコーディングコンテキストの定義、最も可能性の高いイントラ予測モードの指示、区分情報の指示なども含むことができる。そのようなデータは、エントロピーコーディングを使用してエンコーディングされ得る。例えば、情報は、コンテキスト適応型可変長コーディング(CAVLC)、CABAC、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC)、確率区間区分エントロピー(PIPE)コーディング、または他のエントロピーコーディング技法を用いてエンコーディングされてもよい。エントロピーコーディングの後には、コーディングされたビットストリームを別の装置(例えばビデオデコーダ)へ伝送することができ、あるいは後ほど伝送したり取り出したりするために保管することができる。
図3は、例示的なビデオエンコーダ300を示すブロック図である。ビデオエンコーダ300は、コーデックシステム200のエンコーディング機能を実現するため、および/または動作方法100のステップ101、103、105、107、および/または109を実行するために使われてよい。エンコーダ300は入力ビデオ信号を区分し、その結果として得られる区分されたビデオ信号301は区分されたビデオ信号201と実質的に同様である。その後に、区分されたビデオ信号301はエンコーダ300の構成要素により圧縮され、ビットストリームにエンコーディングされる。
具体的に述べると、区分されたビデオ信号301はイントラ予測のためイントラピクチャ予測構成要素317へ転送される。イントラピクチャ予測構成要素317はイントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217と実質的に同様であってもよい。区分されたビデオ信号301は、デコードされたピクチャバッファ構成要素323内の参照ブロックに基づくインター予測のため、動き補償構成要素321にも転送される。動き補償構成要素321は動き推定構成要素221および動き補償構成要素219と実質的に同様であってもよい。イントラピクチャ予測構成要素317と動き補償構成要素321からの予測ブロックと残差ブロックは、残差ブロックの変換と量子化のため、変換および量子化構成要素313へ転送される。変換および量子化構成要素313は変換スケーリングおよび量子化構成要素213と実質的に同様であってもよい。変換され量子化された残差ブロックと対応する予測ブロックは(関連制御データと共に)、ビットストリームへのコーディングのため、エントロピーコーディング構成要素331へ転送される。エントロピーコーディング構成要素331はヘッダフォーマッティングおよびCABAC構成要素231と実質的に同様であってもよい。
変換され量子化された残差ブロックおよび/または対応する予測ブロックは、動き補償構成要素321により使用される参照ブロックへの復元のため、変換および量子化構成要素313から逆変換および量子化構成要素329にも転送される。逆変換および量子化構成要素329はスケーリングおよび逆変換構成要素229と実質的に同様であってもよい。例によっては、残差ブロックおよび/または復元された参照ブロックにループ内フィルタ構成要素325内のループ内フィルタも適用される。ループ内フィルタ構成要素325はフィルタ制御解析構成要素227およびループ内フィルタ構成要素225と実質的に同様であってもよい。ループ内フィルタ構成要素325はループ内フィルタ構成要素225に関して述べた複数のフィルタを含んでよい。フィルタされたブロックはその後に、動き補償構成要素321により参照ブロックとして使用されるため、デコードされたピクチャバッファ構成要素323に記憶される。デコードされたピクチャバッファ構成要素323はデコードされたピクチャバッファ構成要素223と実質的に同様であってもよい。
図4は、例示的なビデオデコーダ400を示すブロック図である。ビデオデコーダ400は、コーデックシステム200のデコーディング機能を実現するため、および/または動作方法100のステップ111、113、115、および/または117を実行するために使われてよい。デコーダ400は、例えばエンコーダ300から、ビットストリームを受信し、エンドユーザ向けの表示のため、ビットストリームに基づいて復元された出力ビデオ信号を生成する。
ビットストリームはエントロピーデコーディング構成要素433により受信される。エントロピーデコーディング構成要素433は、CAVLC、CABAC、SBAC、PIPEコーディング、またはその他のエントロピーコーディング技法など、エントロピーデコーディング方式を実現するように構成される。例えば、エントロピーデコーディング構成要素433はヘッダ情報を使用して、ビットストリームでコードワードとしてエンコーディングされる追加データを解釈するためのコンテキストを提供できる。デコードされた情報は、一般制御データ、フィルタ制御データ、区分情報、動きデータ、予測データ、残差ブロックからの量子化された変換係数など、ビデオ信号のデコーディングにあたって望ましい情報を含む。量子化された変換係数は残差ブロックへの復元のため逆変換および量子化構成要素429へ転送される。逆変換および量子化構成要素429は逆変換および量子化構成要素329と同様であってもよい。
復元された残差ブロックおよび/または予測ブロックは、イントラ予測操作に基づく画像ブロックへの復元のためイントラピクチャ予測構成要素417へ転送される。イントラピクチャ予測構成要素417はイントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217と同様であってもよい。具体的に述べると、イントラピクチャ予測構成要素417は予測モードを使ってフレーム内で参照ブロックの位置を特定し、その結果に残差ブロックを適用してイントラ予測された画像ブロックを復元する。復元されたイントラ予測された画像ブロックおよび/または残差ブロックと対応するインター予測データは、ループ内フィルタ構成要素425を経由してデコードされたピクチャバッファ構成要素423へ転送され、これらの構成要素はそれぞれデコードされたピクチャバッファ構成要素223およびループ内フィルタ構成要素225と実質的に同様であってもよい。ループ内フィルタ構成要素425は復元された画像ブロック、残差ブロック、および/または予測ブロックをフィルタし、そのような情報はデコードされたピクチャバッファ構成要素423に記憶される。復元された画像ブロックはインター予測のためデコードされたピクチャバッファ構成要素423から動き補償構成要素421へ転送される。動き補償構成要素421は動き推定構成要素221および/または動き補償構成要素219と実質的に同様であってもよい。具体的に述べると、動き補償構成要素421は参照ブロックからの動きベクトルを使って予測ブロックを生成し、その結果に残差ブロックを適用して画像ブロックを復元する。そうして得られた復元されたブロックはまた、ループ内フィルタ構成要素425を経由してデコードされたピクチャバッファ構成要素423へ転送されてもよい。デコードされたピクチャバッファ構成要素423はさらなる復元された画像ブロックを引き続き記憶し、これらの復元された画像ブロックは区分情報によりフレームに復元できる。そのようなフレームはシーケンスにも並べられてもよい。このシーケンスは復元された出力ビデオ信号としてディスプレイへ出力される。
図5は、例示的なHRD 500を示す概略図である。HRD 500は、コーデックシステム200および/またはエンコーダ300などのエンコーダで使用されてもよい。HRD 500は、ビットストリームがデコーダ400などのデコーダに転送される前に、方法100のステップ109で生成されたビットストリームを検査することができる。いくつかの例において、ビットストリームがエンコーディングされると、ビットストリームはHRD 500を介して継続的に転送され得る。ビットストリームの一部が関連する制約条件に適合しない場合、HRD 500は、エンコーダがビットストリームの対応部分を別のメカニズムで再エンコーディングするように、このような障害をエンコーダに示すことができる。
HRD 500は、仮想ストリームスケジューラ(HSS)541を含む。HSS 541は、仮想配信メカニズムを実行するように構成された構成要素である。仮想配信メカニズムは、HRD 500に入力されるビットストリーム551のタイミングおよびデータフローに関して、ビットストリームまたはデコーダの適合性を検査するために使用される。例えば、HSS 541は、エンコーダから出力されたビットストリーム551を受信し、ビットストリーム551の適合性テストのプロセスを管理することができる。個別の一例において、HSS 541は、コーディングされたピクチャがHRD 500を通過するレートを制御し、ビットストリーム551が不適合データを含んでいないことを検証することができる。
HSS 541は、CPB 543にビットストリーム551を所定のレートで転送することができる。HRD 500は、デコーディングユニット(DU)553でデータを管理することができる。DU 553は、アクセスユニット(AU)、またはAUおよび関連する非ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットのサブセットである。具体的には、AUは、出力時刻に対応付けられた1つまたは複数のピクチャを含む。例えば、AUは、単一のレイヤビットストリームに単一のピクチャを含み、マルチレイヤビットストリームにレイヤごとのピクチャを含むことができる。AUの各ピクチャは、対応するVCL NALユニットにそれぞれ含まれるスライスに分割され得る。したがって、DU 553は、1つもしくは複数のピクチャ、ピクチャの1つもしくは複数のスライス、またはそれらの組み合わせを含むことができる。また、AU、ピクチャ、および/またはスライスをデコーディングするために使用されるパラメータは、非VCL NALユニットに含まれ得る。したがって、DU 553は、DU 553内のVCL NALユニットのデコーディングをサポートするために必要なデータを含む非VCL NALユニットを含む。CPB 543は、HRD 500の先入れ先出しバッファである。CPB 543は、デコーディング順にビデオデータを含むDU 553を含む。CPB 543は、ビットストリーム適合性検証中に使用するためのビデオデータを記憶する。
CPB 543は、DU 553をデコーディングプロセス構成要素545に転送する。デコーディングプロセス構成要素545は、VVC標準規格に適合した構成要素である。例えば、デコーディングプロセス構成要素545は、エンドユーザにより使用されるデコーダ400をエミュレートすることができる。デコーディングプロセス構成要素545は、例示的なエンドユーザデコーダで達成できるレートでDU 553をデコーディングする。デコーディングプロセス構成要素545が、CPB 543のオーバーフローを防止するほど充分な速さでDU 553をデコーディングできない場合は、ビットストリーム551は標準規格に適合しておらず、再エンコーディングされるべきである。
デコーディングプロセス構成要素545はDU 553をデコーディングし、デコードされたDU 555を生成する。デコードされたDU 555は、デコードされたピクチャを含む。デコードされたDU 555は、DPB 547に転送される。DPB 547は、デコードされたピクチャバッファ構成要素223、323、および/または423と実質的に同様であってもよい。インター予測をサポートする目的で、デコードされたDU 555から取得された、参照ピクチャ556として使用するためにマーキングされたピクチャは、さらなるデコーディングをサポートするために、デコーディングプロセス構成要素545に戻される。DPB 547は、デコードされたビデオシーケンスを一連のピクチャ557として出力する。ピクチャ557は、通常はエンコーダによりビットストリーム551にエンコーディングされたピクチャを反映した、復元されたピクチャである。
ピクチャ557は、出力クロッピング構成要素549に転送される。出力クロッピング構成要素549は、ピクチャ557に適合性クロッピングウィンドウを適用するように構成される。これにより、出力クロッピングされたピクチャ559が得られる。出力クロッピングされたピクチャ559は、完全に復元されたピクチャである。したがって、出力クロッピングされたピクチャ559は、ビットストリーム551をデコーディングしたときにエンドユーザが見ることになるものを模倣している。このようにエンコーダは、エンコーディングが良好なことを確認するために、出力クロッピングされたピクチャ559を検討することができる。
HRD 500は、ビットストリーム551内のHRDパラメータに基づいて初期化される。例えば、HRD 500は、VPS、SPS、および/またはSEIメッセージからHRDパラメータを読み取ることができる。次いで、HRD 500は、そのようなHRDパラメータ内の情報に基づいてビットストリーム551に対して適合性テスト動作を実行することができる。具体例として、HRD 500は、HRDパラメータから1つまたは複数のCPB配信スケジュールを決定することができる。配信スケジュールは、CPBおよび/またはDPBなどのメモリ位置との間のビデオデータの配信のタイミングを指定する。したがって、CPB配信スケジュールは、CPB 543との間のAU、DU 553、および/またはピクチャの配信のタイミングを指定する。HRD 500は、CPB配信スケジュールと同様のDPB 547のDPB配信スケジュールを使用することができることに留意されたい。
ビデオは、様々なレベルのハードウェア能力を有するデコーダにより使用するために、また様々なネットワーク条件のために、異なるレイヤおよび/またはOLSにコーディングされ得る。CPB配信スケジュールは、これらの問題を反映するように選択される。したがって、上位レイヤサブビットストリームは、最適なハードウェアおよびネットワーク条件に指定され、したがって、上位レイヤは、CPB 543内の大量のメモリおよびDPB 547に向かうDU 553の転送のための短い遅延を使用する1つまたは複数のCPB配信スケジュールを受信することができる。同様に、下位レイヤサブビットストリームは、限られたデコーダハードウェア能力および/または劣悪なネットワーク条件に対して指定される。したがって、下位レイヤは、CPB 543内の少量のメモリおよびDPB 547に向かうDU 553の転送のためのより長い遅延を使用する1つまたは複数のCPB配信スケジュールを受信することができる。その後に、OLS、レイヤ、サブレイヤ、またはこれらの組み合わせは、結果として得られるサブビットストリームがサブビットストリームに対して期待される条件下で正しくデコーディングされ得ることを保証するために、対応する配信スケジュールに従ってテストされ得る。したがって、ビットストリーム551内のHRDパラメータは、CPB配信スケジュールを示すと共に、HRD 500がCPB配信スケジュールを決定し、CPB配信スケジュールを対応するOLS、レイヤ、および/またはサブレイヤに相関付けることを可能にするのに十分なデータを含むことができる。
図6は、例示的なマルチレイヤビデオシーケンス600を示す概略図である。マルチレイヤビデオシーケンス600は、例えば方法100に従って、コーデックシステム200および/またはエンコーダ300などのエンコーダによりエンコーディングされ、コーデックシステム200および/またはデコーダ400などのデコーダによりデコーディングされ得る。さらに、マルチレイヤビデオシーケンス600は、HRD 500などのHRDにより標準規格の適合性についてチェックされ得る。マルチレイヤビデオシーケンス600は、コーディングされたビデオシーケンス内のレイヤの例示的なアプリケーションを示すために含まれる。マルチレイヤビデオシーケンス600は、レイヤN 631およびレイヤN+1 632などの複数のレイヤを使用する任意のビデオシーケンスである。
一例では、マルチレイヤビデオシーケンス600は、インターレイヤ予測621を使用することができる。インターレイヤ予測621は、異なるレイヤのピクチャ611,612,613、614とピクチャ615,616,617、618との間に適用される。示されている例では、ピクチャ611,612,613および614はレイヤN+1 632の一部であり、ピクチャ615,616,617および618はレイヤN 631の一部である。レイヤN 631および/またはレイヤN+1 632などのレイヤは、すべて、同様のサイズ、品質、解像度、信号対雑音比、能力などの特性の同様の値に関連付けられたピクチャのグループである。レイヤは、同じレイヤIDおよび関連する非VCL NALユニットを共有する一組のVCL NALユニットとして形式的に定義され得る。VCL NALユニットは、ピクチャのコーディングされたスライスなどのビデオデータを含むようにコーディングされたNALユニットである。非VCL NALユニットは、ビデオデータのデコーディング、適合性チェックの実行、または他の動作をサポートするシンタックスおよび/またはパラメータなどの非ビデオデータを含むNALユニットである。
図示する例では、レイヤN+1 632は、レイヤN 631よりも大きい画像サイズに関連付けられている。したがって、この例では、レイヤN+1 632のピクチャ611,612,613,614のピクチャサイズ(例えば、より大きな高さおよび幅、したがってより多くのサンプル)は、レイヤN 631のピクチャ615,616,617,618のピクチャサイズよりも大きい。しかしながら、このようなピクチャは、他の特性により、レイヤN+1 632とレイヤN 631との間で分離され得る。レイヤN+1 632およびレイヤN 631の2つのレイヤのみが示されているが、一組のピクチャは、関連する特性に基づいて任意の数のレイヤに分離することができる。レイヤN+1 632およびレイヤN 631はまた、レイヤIDにより示されてもよい。レイヤIDは、ピクチャに関連付けられたデータの項目であり、ピクチャが指示されたレイヤの一部であることを示す。したがって、各ピクチャ611~618は、どのレイヤN+1 632またはレイヤN 631が対応するピクチャを含むかを示すために、対応するレイヤIDに関連付けられ得る。例えば、レイヤIDは、NALユニット(例えば、レイヤ内のピクチャのスライスおよび/またはパラメータを含む)を含むレイヤの識別子を指定するシンタックス要素であるNALユニットヘッダレイヤ識別子(nuh_layer_id)を含んでもよい。レイヤN 631などの低品質/小画像サイズ/小ビットストリームサイズに関連するレイヤは、一般に、下位レイヤIDが割り当てられ、下位レイヤと呼ばれる。さらに、レイヤN+1 632などの、より高い品質/より大きい画像サイズ/より大きいビットストリームサイズに関連するレイヤには、一般に、より高いレイヤIDが割り当てられ、上位レイヤと呼ばれる。
異なるレイヤ631~632内のピクチャ611~618は、代替形態で表示されるように構成される。具体的な例として、デコーダは、より小さいピクチャが望まれる場合には、現在の表示時間においてピクチャ615をデコーディングおよび表示してもよく、または、デコーダは、より大きいピクチャが望まれる場合には、現在の表示時間においてピクチャ611をデコーディングおよび表示してもよい。したがって、上位レイヤN+1 632におけるピクチャ611~614は、(ピクチャサイズの違いにかかわらず)下位レイヤN 631における対応するピクチャ615~618と実質的に同じ画像データを含む。具体的には、ピクチャ611はピクチャ615と実質的に同じ画像データを含み、ピクチャ612はピクチャ616と実質的に同じ画像データを含む、などである。
ピクチャ611~618は、同じレイヤN 631またはN+1 632内の他のピクチャ611~618を参照することによりコーディングされ得る。同じレイヤ内の別のピクチャを参照してピクチャをコーディングすると、インター予測623が得られる。インター予測623は実線矢印で示されている。例えば、ピクチャ613は、レイヤN+1 632内のピクチャ611,612および/または614のうちの1つまたは2つを参照として使用するインター予測623を使用することによりコーディングされてもよく、1つのピクチャは、一方向インター予測のために参照され、および/または2つのピクチャは、双方向インター予測のために参照される。さらに、ピクチャ617は、レイヤN 631内のピクチャ615,616および/または618のうちの1つまたは2つを参照として使用してインター予測623を使用することによりコーディングされてもよく、一方向インター予測のためには1つのピクチャが参照され、および/または双方向インター予測のためには2つのピクチャが参照される。インター予測623を行う際に、あるピクチャが同じレイヤ内の別のピクチャの参照として使用される場合、そのピクチャは参照ピクチャと呼ばれる場合がある。例えば、ピクチャ612は、インター予測623に従ってピクチャ613をコーディングするために使用される参照ピクチャであり得る。インター予測623は、マルチレイヤコンテキストにおけるイントラレイヤ予測とも呼ばれ得る。したがって、インター予測623は、参照ピクチャと現在のピクチャとが同じレイヤ内にある現在のピクチャとは異なる参照ピクチャ内の指示されたサンプルを参照することにより現在のピクチャのサンプルをコーディングするメカニズムである。
ピクチャ611~618はまた、異なるレイヤ内の他のピクチャ611~618を参照することによってコーディングされ得る。このプロセスはインターレイヤ予測621として知られており、破線の矢印で示されている。インターレイヤ予測621は、現在のピクチャと参照ピクチャとが異なるレイヤにあり、したがって異なるレイヤIDを有する、参照ピクチャ内の指示されたサンプルを参照することにより現在のピクチャのサンプルをコーディングするメカニズムである。例えば、下位レイヤN 631のピクチャを参照ピクチャとして使用して、上位レイヤN+1 632の対応するピクチャをコーディングすることができる。具体的な一例として、ピクチャ611は、インターレイヤ予測621に従ってピクチャ615を参照することによりコーディングされ得る。このような場合、ピクチャ615がインターレイヤ参照ピクチャとして用いられる。インターレイヤ参照ピクチャは、インターレイヤ予測621に用いられる参照ピクチャである。ほとんどの場合、インターレイヤ予測621は、ピクチャ611などの現在のピクチャが、同じAUに含まれ、ピクチャ615などの下位レイヤにあるインターレイヤ参照ピクチャのみを使用できるように制約される。複数のレイヤ(例えば、3以上)が利用可能である場合、インターレイヤ予測621は、現在のピクチャよりも低いレベルにある複数のインターレイヤ参照ピクチャに基づいて現在のピクチャをエンコーディング/デコーディングすることができる。
ビデオエンコーダは、マルチレイヤビデオシーケンス600を使用して、インター予測623およびインターレイヤ予測621の多くの異なる組み合わせおよび/または順列を介してピクチャ611~618をエンコーディングすることができる。例えば、ピクチャ615は、イントラ予測に従ってコーディングされ得る。その後に、ピクチャ616~618は、ピクチャ615を参照ピクチャとして使用することによりインター予測623に従ってコーディングされ得る。さらに、ピクチャ611は、ピクチャ615をインターレイヤ参照ピクチャとして使用することにより、インターレイヤ予測621に従ってコーディングされ得る。その後に、ピクチャ612~614は、ピクチャ611を参照ピクチャとして使用することによりインター予測623に従ってコーディングされ得る。したがって、参照ピクチャは、異なるコーディングメカニズムのための単一レイヤ参照ピクチャおよびインターレイヤ参照ピクチャの両方として機能することができる。下位レイヤN 632のピクチャに基づいて上位レイヤN+1 631のピクチャをコーディングすることにより、上位レイヤN+1 632は、インター予測623およびインターレイヤ予測621よりもはるかに低いコーディング効率を有するイントラ予測を使用することを回避することができる。このように、イントラ予測の不十分なコーディング効率は、最小/最低品質のピクチャに制限され、したがって、最小量のビデオデータをコーディングすることに制限され得る。参照ピクチャおよび/またはインターレイヤ参照ピクチャとして使用されるピクチャは、参照ピクチャリスト構造に含まれる参照ピクチャリストのエントリで示すことができる。
ピクチャ611~618は、AUに含まれてもよい。AUは、異なるレイヤに含まれ、デコーディング中に同じ出力時間に関連付けられた一組のコーディングされたピクチャである。本明細書に記載の概念の説明を明確にするために、AUは、現在のAU 628および先行するAU 627を含む。現在のAU 628は、デコーディングプロセスおよび/またはHRD適合性チェックプロセスにおける特定の出力時間に対応するAUである。先行するAU 627は、現在のAU 628よりもデコーディング順で前に発生するAUである。例えば、先行するAU 627は、現在のAU 628に対してデコーディング順で直前のAUであってもよい。
同じAU内のコーディングされたピクチャは、同時にデコーダにおいてDPBから出力されるようにスケジュールされる。例えば、ピクチャ613および617は、同じ現在のAU 628内にある。ピクチャ612および616は、ピクチャ613および617を含む現在のAU 628とは異なる、先行するAU 627内にある。ピクチャ612および/または616は、先行するAU 627がデコーディング順で現在のAU 628に先行するので、ピクチャ613および/または617の前にデコーディングされ得る。また、現在のAU 627のピクチャ613および617を代替として表示してもよい。例えば、小さいピクチャサイズが望まれる場合にピクチャ617が表示され、大きいピクチャサイズが望まれる場合にピクチャ613が表示されてもよい。大きいピクチャサイズが望まれる場合、ピクチャ613が出力され、ピクチャ617はインターレイヤ予測621にのみ使用される。この場合、ピクチャ617は、インターレイヤ予測621が完了すると、出力されずに破棄される。また、レイヤN 631からレイヤN+1 632への切り替え時に、先行するAU 627のピクチャ616を出力し、現在のAU 628のピクチャ613を出力してもよい。この種の切り替えは、例えば、ユーザがビデオ出力のサイズを増加させる(例えば、ビデオウィンドウのサイズを大きくしたり、より大きな画面に切り替えたりする)とき、および/またはネットワーク条件が改善するときに行われ得る。同様に、レイヤN+1 632からレイヤN 631への切り替えの場合、先行するAU 627のピクチャ612が出力されてもよく、現在のAU 628からのピクチャ617が出力されてもよい。この種の切り替えは、例えば、ユーザがビデオ出力のサイズを縮小したとき(例えば、ビデオウィンドウのサイズを縮小したり、より小さい画面に切り替えたりするとき)、および/またはネットワーク状態が改善したときに行われ得る。
AUは、さらに、1つまたは複数のピクチャユニット(PU)625に分割され得る。PU 625は、単一のコーディングされたピクチャを含むAUのサブセットである。PU 625は、指定された分類規則に従って互いに関連付けられ、デコーディング順で連続し、正確に1つのコーディングされたピクチャを含む一組のNALユニットとして形式的に定義することができる。PU 625は、HRDおよび/または関連する適合性テストの観点から説明する場合、デコーディングユニット(DU)と呼ぶことができることに留意されたい。
図7は、例示的なビットストリーム700を示す概略図である。例えば、ビットストリーム700は、方法100に従って、コーデックシステム200および/またはデコーダ400によりデコーディングするために、コーデックシステム200および/またはエンコーダ300により生成され得る。さらに、ビットストリーム700は、マルチレイヤビデオシーケンス600を含むことができる。さらに、ビットストリーム700は、HRD 500などのHRDの動作を制御するための様々なパラメータを含むことができる。そのようなパラメータに基づいて、HRDは、デコーディング化のためにデコーダに向けて送信する前に、標準規格に準拠しているかどうかビットストリーム700をチェックすることができる。
ビットストリーム700は、VPS 711と、1つまたは複数のSPS 713と、複数のピクチャパラメータセット(PPS)715と、複数の適応パラメータセット(APS)716と、複数のピクチャヘッダ718と、複数のスライスヘッダ717と、画像データ720と、SEIメッセージ719と、を含む。VPS 711は、ビットストリーム700全体に関するデータを含む。例えば、VPS 711は、ビットストリーム700で使用されるデータ関連OLS、レイヤ、および/またはサブレイヤを含むことができる。SPS 713は、ビットストリーム700に含まれるコーディングされたビデオシーケンス内のすべてのピクチャに共通のシーケンスデータを含む。例えば、各レイヤは、1つまたは複数のコーディングされたビデオシーケンスを含むことができ、各コーディングされたビデオシーケンスは、対応するパラメータについてSPS 713を参照することができる。SPS 713内のパラメータは、ピクチャサイジング、ビット深度、コーディングツールパラメータ、ビットレート制限などを含むことができる。各シーケンスはSPS 713を指すが、いくつかの例では、単一のSPS 713は複数のシーケンスのデータを含むことができることに留意されたい。PPS 715は、ピクチャ全体に適用されるパラメータを含む。それ故、ビデオシーケンス内の各ピクチャは、PPS715を参照してもよい。いくつかの例において、各ピクチャがPPS715を参照する一方で、単一のPPS715が、複数のピクチャのデータを含むことが可能なことに留意されたい。例えば、複数の類似したピクチャが、類似したパラメータに従ってコーディングされてもよい。そのような場合、単一のPPS715は、そのような類似したピクチャのためのデータを含んでもよい。PPS 715は、対応するピクチャ内のスライスに利用可能なコーディングツール、量子化パラメータ、オフセットなどを示すことができる。
APS 716は、1つまたは複数のピクチャ725内の1つまたは複数のスライス727に適用されるシンタックス要素/パラメータを含むシンタックス構造である。そのような相関は、スライス727に関連付けられたスライスヘッダ717に見られるシンタックス要素に基づいて決定することができる。例えば、APS 716は、第1のピクチャ721内の少なくとも1つであるがすべてよりも少ないスライス727、第2のピクチャ725内の少なくとも1つであるがすべてよりも少ないスライス727などに適用することができる。APS 716は、APS 716に含まれるパラメータに基づいて複数のタイプに分離することができる。そのようなタイプは、適応ループフィルタ(ALF)APS、クロマスケーリング(LMCS)APSによるルーママッピング、およびスケーリングリスト(スケーリング)APSを含むことができる。ALFは、可変パラメータにより制御される伝達関数を含み、伝達関数を改良するためにフィードバックループからのフィードバックを使用する適応ブロックベースのフィルタである。さらに、ALFは、ぼやけおよびリンギングアーチファクトなどのブロックベースのコーディングの結果として生じるコーディングアーチファクト(例えば、エラー)を補正するために使用される。したがって、ALF APSに含まれるALFパラメータは、デコーダでのデコーディング中にブロックベースのコーディングアーチファクトをALFに除去させるためにエンコーダにより選択されたパラメータを含むことができる。LMCSは、ルーマサンプルを特定の値にマッピングし、場合によってはクロマサンプルの値にスケーリング演算を適用するデコーディングプロセスの一部として適用されるプロセスである。LMCSツールは、レート歪みを低減するために、対応するクロマ成分へのマッピングに基づいてルーマ成分を再成形することができる。したがって、LMCS APSは、LMCSツールにルーマ成分を再成形させるためにエンコーダにより選択されたパラメータを含む。スケーリングリストAPSは、指定されたフィルタにより使用される量子化行列に関連付けられたコーディングツールパラメータを含む。したがって、APS 716は、HRDでの適合性テスト中および/またはデコーダでのデコーディング時に、様々なフィルタをコーディングされ
たスライス727に適用するために使用されるパラメータを含むことができる。
ピクチャヘッダ718は、コーディングされたピクチャ725のすべてのスライス727に適用されるシンタックス要素を含むシンタックス構造である。例えば、ピクチャヘッダ718は、ピクチャ順序カウント情報、参照ピクチャデータ、イントラ・ランダム・アクセスポイント(IRAP)ピクチャに関連するデータ、ピクチャ725のフィルタ適用に関連するデータなどを含むことができる。PUは、正確に1つのピクチャヘッダ718および正確に1つのピクチャ725を含むことができる。したがって、ビットストリーム700は、ピクチャ725ごとに正確に1つのピクチャヘッダ718を含むことができる。スライスヘッダ717は、ピクチャ725内の各スライス727に固有のパラメータを含む。したがって、ビデオシーケンス内のスライス727ごとに1つのスライスヘッダ717が存在してもよい。スライスヘッダ717は、スライスタイプ情報、フィルタリング情報、予測重み、タイルエントリポイント、デブロッキングパラメータなどを含むことができる。場合によっては、シンタックス要素は、ピクチャ725内のすべてのスライス727について同じであってもよい。冗長性を低減するために、ピクチャヘッダ718およびスライスヘッダ717は、特定のタイプの情報を共有することができる。例えば、特定のパラメータ(例えば、フィルタリングパラメータ)は、ピクチャ全体725に適用される場合はピクチャヘッダ718に含まれてもよく、ピクチャ全体725のサブセットであるスライス727のグループに適用される場合はスライスヘッダ717に含まれてもよい。
画像データ720は、インター予測および/またはイントラ予測に従ってエンコーディングされたビデオデータ、ならびに対応する変換され量子化された残差データを含む。例えば、画像データ720は、レイヤ723、ピクチャ725、および/またはスライス727を含むことができる。レイヤ723は、nuh_layer_idなどのレイヤIDにより示されるような指定された特性(例えば、共通解像度、フレームレート、画像サイズなど)を共有する一組のVCL NALユニット、および関連する非VCL NALユニットである。例えば、レイヤ723は、同じnuh_layer_idを共有する一組のピクチャ725を含むことができる。レイヤ723は、レイヤ631および/または632と実質的に同様であってもよい。nuh_layer_idは、少なくとも1つのNALユニットを含むレイヤ723の識別子を指定するシンタックス要素である。例えば、ベースレイヤとして知られる最低品質レイヤ723は、より高い品質のレイヤ723についてnuh_layer_idの値が増加するnuh_layer_idの最低値を含むことができる。したがって、下位レイヤはnuh_layer_idの値が小さいレイヤ723であり、上位レイヤはnuh_layer_idの値が大きいレイヤ723である。
ピクチャ725は、フレームまたはそのフィールドを生成するルーマサンプルのアレイおよび/またはクロマサンプルのアレイである。例えば、ピクチャ725は、表示のために出力されうるか、または、出力のための他のピクチャ725のコーディングをサポートするために使用され得るコーディングされた画像である。ピクチャ725は、1つまたは複数のスライス727を含む。スライス727は、単一のNALユニットに排他的に含まれるピクチャ725の完全なタイルの整数、または(例えば、タイル内の)連続する完全なコーディングツリーユニット(CTU)行の整数で定義され得る。スライス727は、CTUおよび/またはコーディングツリーブロック(CTB)にさらに分割される。CTUは、コーディングツリーで区分できる、所定のサイズの一群のサンプルである。CTBは、CTUのサブセットであり、CTUのルーマ成分またはクロマ成分を含む。CTU/CTBは、コーディングツリーに基づいて、コーディングブロックにさらに分割される。コーディングブロックは、次に、予測メカニズムに従ってエンコーディング/デコーディングされ得る。
SEIメッセージ719は、デコードされたピクチャ内のサンプルの値を決定するために、デコーディングプロセスで必要とされない情報を伝達する、特定のセマンティクスを有するシンタックス構造である。例えば、SEIメッセージ719は、HRDプロセスをサポートするためのデータ、またはデコーダにおけるビットストリーム700のデコーディングに直接関連しない他のサポートデータを含むことができる。
ピクチャ725、スライス727、および/またはそれらの他の区分のデコーディングをサポートしてデコードされたビデオシーケンスを復元するために、ビットストリーム700内で様々なパラメータがシグナリングされる。例えば、SPS 713は、ルーマサンプル内のSPSピクチャ幅最大値(sps_pic_width_max_in_luma_samples)731およびルーマサンプル内のSPSピクチャ高さ最大値(sps_pic_height_max_in_luma_samples)732を含むことができる。sps_pic_width_max_in_luma_samples 731は、SPS 713を参照する各デコードされたピクチャ725の最大幅を、ルーマサンプル単位で指定するシグナリングされたデータ要素である。sps_pic_width_max_in_luma_samples 732は、SPS 713を参照する各デコードされたピクチャ725の最大高さを、ルーマサンプル単位で指定するシグナリングされたデータ要素である。したがって、sps_pic_width_max_in_luma_samples 731およびsps_pic_width_max_in_luma_samples 732は、SPS 713に関連するコーディングされたビデオシーケンス内の各ピクチャ725の最大幅および高さをそれぞれ指定する。
上述したように、エンコーダは、デコーダにおける条件に応じてピクチャ725の様々なレイヤ723をデコーダに送信することができる。さらに、送信されたレイヤ723は、デコーダにおける条件が変化すると変化することができる。例えば、ピクチャ725は、ネットワーク条件が最適である場合、より高い解像度/より大きいサイズで送信され、ネットワーク条件が悪化する場合、より低い解像度/より小さいサイズで送信され得る。この実装に伴う1つの問題は、デコーダにおけるDPBがレイヤ723の変更中にオーバーフローする可能性があり、これがユーザ体験の低下を引き起こす可能性があることである。例えば、DPBは、レイヤ723がより高い解像度に変更される前に、より低い解像度でピクチャ725で満たされている場合がある。したがって、DPBは、切り換え後に上位レイヤ723から受信される高解像度ピクチャ725を記憶するのに十分なスペースを有していない場合がある。これにより、DPBがオーバーフローする可能性があり、その結果、エラーが発生し、高解像度ピクチャ725の適切なデコーディング化および表示が妨げられる。
この問題に対処するために、前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)を使用することができる。NoOutputOfPriorPicsFlagは、適合性テスト中にデコーダで導出されるおよび/またはHRDで導出される変数である。NoOutputOfPriorPicsFlagは、DPBに含まれるピクチャ725を出力せずにDPBを空にする時期を指定する。したがって、NoOutputOfPriorPicsFlagを設定して、DPBを空にして新しいピクチャ725のための空間を作ることができる。これは、DPB内の先行するピクチャ725が出力のために指定されている場合でも起こり得る。いくつかのビデオコーディングシステムでは、現在のピクチャ725と先行するピクチャ725との間のピクチャ幅および/またはピクチャ高さの変化に起因して検出されるピクチャ725のサイズ変化に基づいて、NoOutputOfPriorPicsFlagが設定される。
ARCは分解能の変化を支援するメカニズムである。一般に、デコーダは、IRAPピクチャにおいてシーケンスおよび/またはレイヤ723間でスワップする。IRAPピクチャは、他のピクチャ725を参照することなくデコーディングされ得、したがって常にデコーディングされ得るからである。非IRAPピクチャは、他のピクチャ725を参照してコーディングされ、したがって、デコーダは、非IRAPピクチャをシーケンスおよび/またはレイヤ723における最初のピクチャ725としてデコーディングするのに十分な情報を有していない場合がある。ARCは、そのような移行を支援することができる。ARCは、解像度後続ピクチャ725と一致するように、DPB内のピクチャ725の解像度を動的に変更することができる。したがって、DPBにおける参照ピクチャ725は、第1の解像度から第2の解像度に変更され得、その結果、第2の解像度の非IRAPピクチャは、介在するIRAPピクチャを必要とせずに、参照ピクチャ725に基づいてデコーディングされ得る。ARCの問題は、ARCがNoOutputOfPriorPicsFlagが適切に動作するのを妨げる可能性があることである。具体的には、ARCは、先行するピクチャ725の空間解像度を、現在のピクチャ725と同じに変更することができる。これは、ピクチャサイズ変更のチェックが正しく動作することを妨げる。したがって、ARCは、NoOutputOfPriorPicsFlagの使用を効果的に無効にすることによりDPBオーバーフローをもたらすことができる。
ビットストリーム700は、ARCが使用されるときにNoOutputOfPriorPicsFlagが正しくイネーブルされることを可能にするように構成される。例えば、デコーダは、ピクチャの高さおよび幅をチェックする代わりに、最大ピクチャ高さおよび最大ピクチャ幅の変化をチェックすることができる。最大ピクチャ高さおよび最大ピクチャ幅はARCにより変更されない。したがって、NoOutputOfPriorPicsFlagを適切に設定することにより、レイヤ723の変化中にARCを使用しても、空間解像度の変化によるDPBのオーバーフローを防止することができる。
具体的な一例では、デコーダは、NoOutputOfPriorPicsFlagを設定する際に、PicWidthMaxInSamplesY変数およびPicHeightMaxInSamplesY変数を用いることができる。PicWidthMaxInSamplesYは、対応するシーケンスおよび/またはレイヤ723内の各デコードされたピクチャ725の最大幅をルーマサンプル単位で示す導出変数である。PicHeightMaxInSamplesYは、対応するシーケンスおよび/またはレイヤ723内の各デコードされたピクチャ725のルーマサンプル単位の最大高さを示す導出変数である。PicWidthMaxInSamplesYは、SPS 713のsps_pic_width_max_in_luma_samples 731に基づいて導出することができる。さらに、PicHeightMaxInSamplesYは、SPS 713のsps_pic_height_max_in_luma_samples 732に基づいて導出することができる。
次いで、NoOutputOfPriorPicsFlagを、PicHeightMaxInSamplesYおよび/またはPicWidthMaxInSamplesYに基づいて設定され得る。例えば、NoOutputOfPriorPicsFlagは、AU(現在のピクチャ725を含む)に対するPicWidthMaxInSamplesYの値と、先行するAU(先行するピクチャ725を含む)に対するPicWidthMaxInSamplesYの値とがデコーディング順において異なる場合に設定され得る。別の例では、NoOutputOfPriorPicsFlagは、AU(現在のピクチャ725を含む)に対するPicHeightMaxInSamplesYの値が、先行するAU(先行するピクチャ725を含む)に対するPicHeightMaxInSamplesYの値とデコーディング順が異なる場合に設定され得る。
NoOutputOfPriorPicsFlagが設定されると、DPBのオーバーフローを防止するために必要に応じてDPBを空にすることができる。例えば、DPBは、現在のピクチャ725の第1のスライス727のスライスヘッダ717を構文解析した後に、現在のピクチャ725をデコーディングする前に空にすることができる。これは、現在のピクチャ725がデコーディングされる前にDPBから先行するAUから先行するピクチャ725を空にし、したがって、現在のピクチャ725のためのDPB内の記憶空間が必要とされる前に空にする。
別の例では、スライス727に対して参照ピクチャリストを構築することができ、NoOutputOfPriorPicsFlagを設定する前に参照ピクチャリストのマーキング処理を実行することができる。参照ピクチャリスト構築プロセスは、どのピクチャ725が現在のピクチャ725の参照ピクチャであるかを判定することができる。次に、参照ピクチャリストのマーキング処理は、参照ピクチャリスト構築処理に基づいて、DPB内のピクチャ725が、参照のために使用されていないか、短期参照のために使用されているか、および/または長期参照のために使用されているかを示すことができる。特定の例では、NoOutputOfPriorPicsFlagが設定され、DPB内の先行するピクチャ725の各々が参照のために未使用としてマークされたときにDPBが空にされる。このようにして、DPBが参照ピクチャを含む場合、DPBは空にされない。さらに、DPBは、DPBに記憶されるピクチャの数を示すデータ要素であるDPBフルネス変数を用いてもよい。DPBフルネス変数は、DPBを空にするときに除去されるピクチャごとに1だけデクリメントすることができる。
本明細書に記載の例を使用することにより、NoOutputOfPriorPicsFlagは、DPBのオーバーフローを防止するために必要に応じてDPBを空にするように設定することができる。したがって、本明細書に含まれる実施形態は、レイヤ723間の切り替えに関連する様々なデコーディングエラーを回避するために採用され得る。同様のプロセスは、標準規格適合性についてエンコードされたビットストリームをチェックするときに、エンコーダで動作するHRDによりも使用することができる。このプロセスは、レイヤ723を適合性についてチェックするときにHRDがDPBオーバーフローを有するのを防止することができ、したがって、エンコーディング中の適合性テスト障害の発生を低減する。その結果、エンコーダおよびデコーダの機能が向上する。さらに、コーディング効率を高めることができ、これにより、エンコーダおよびデコーダの両方におけるプロセッサ、メモリ、および/またはネットワークシグナリングリソースの使用が低減される。
ここで、前述した情報が以下でより詳細に説明される。階層化ビデオコーディングは、スケーラブルビデオコーディングまたはスケーラビリティを有するビデオコーディングとも呼ばれる。ビデオコーディングにおけるスケーラビリティは、マルチレイヤコーディング技法を使用することによりサポートされ得る。マルチレイヤビットストリームは、ベースレイヤ(BL)および1つまたは複数のエンハンスメントレイヤ(EL)を含む。スケーラビリティの例は、空間スケーラビリティ、品質/信号対雑音比(SNR)スケーラビリティ、マルチビュースケーラビリティ、フレームレートスケーラビリティなどを含む。マルチレイヤコーディング技法が使用される場合、ピクチャまたはその一部は、参照ピクチャを使用せずにコーディングされてもよく(イントラ予測)、同じレイヤ内の参照ピクチャを参照することによりコーディングされてもよく(インター予測)、および/または他のレイヤ内の参照ピクチャを参照することによりコーディングされてもよい(インターレイヤ予測)。現在のピクチャのインターレイヤ予測に用いられる参照ピクチャをインターレイヤ参照ピクチャ(ILRP)と呼ぶ。図6は、異なるレイヤのピクチャが異なる解像度を有する空間スケーラビリティのためのマルチレイヤコーディングの例を示す。
いくつかのビデオコーディングファミリは、単一レイヤコーディングのためのプロファイルから分離されたプロファイルにおけるスケーラビリティのサポートを提供する。スケーラブルビデオコーディング(SVC)は、空間、時間、および品質のスケーラビリティをサポートする高度なビデオコーディング(AVC)のスケーラブルな拡張である。SVCの場合、下位レイヤからのコロケートされたブロックを使用してEL MBが予測されるかどうかを示すために、ELピクチャ内の各マクロブロック(MB)においてフラグがシグナリングされる。コロケートされたブロックからの予測は、テクスチャ、動きベクトル、および/またはコーディングモードを含むことができる。SVCの実装は、それらの設計において修正されていないAVC実装を直接再利用しない場合がある。SVC ELマクロブロック・シンタックスおよびデコーディングプロセスは、AVCシンタックスおよびデコーディングプロセスとは異なる。
スケーラブルHEVC(SHVC)は、空間および品質の拡張性をサポートするHEVCの拡張である。マルチビューHEVC(MV-HEVC)は、マルチビュースケーラビリティのサポートを提供するHEVCの拡張である。3D HEVC(3D-HEVC)は、MV-HEVCよりも高度で効率的な3Dビデオコーディングのサポートを提供するHEVCの拡張である。時間スケーラビリティは、単一レイヤHEVCコーデックの不可欠な部分として含まれ得る。HEVCのマルチレイヤ拡張では、インターレイヤ予測に用いられるデコードされたピクチャは、同じAUのみから来て、ロングターム参照ピクチャ(LTRP)として扱われる。このようなピクチャには、現在のレイヤ内の他の時間参照ピクチャと共に、参照ピクチャリスト内の参照インデックスが割り当てられる。インターレイヤ予測(ILP)は、参照ピクチャリスト内のインターレイヤ参照ピクチャを参照するための参照インデックスの値を設定することにより、予測ユニットレベルで実現される。空間スケーラビリティは、ILRPがエンコーディングまたはデコーディングされている現在のピクチャとは異なる空間分解能を有する場合、参照ピクチャまたはその一部を再サンプリングする。参照ピクチャの再サンプリングは、ピクチャレベルまたはコーディングブロックレベルのいずれかで実現され得る。
VVCはまた、階層化ビデオコーディングをサポートすることができる。VVCビットストリームは、複数のレイヤを含むことができる。レイヤはすべて互いに独立していてもよい。例えば、インターレイヤ予測を用いずに、各レイヤがコーディングされ得る。この場合、各レイヤは、同時キャストレイヤとも呼ばれる。場合によっては、レイヤの一部はILPを使用してコーディングされる。VPS内のフラグは、レイヤが同時キャストレイヤであるかどうか、またはいくつかのレイヤがILPを使用するかどうかを示すことができる。いくつかのレイヤがILPを使用する場合、インターレイヤのレイヤ依存関係もVPSでシグナリングされる。SHVCおよびMV-HEVCとは異なり、VVCはOLSを指定しない場合がある。OLSは、指定された組のレイヤを含み、一組のレイヤ内の1つまたは複数のレイヤが出力レイヤであるように指定される。出力レイヤは、出力されるOLSのレイヤである。VVCのいくつかの実装形態では、レイヤが同時キャストレイヤである場合、デコーディングおよび出力のために1つのレイヤのみが選択され得る。VVCのいくつかの実装形態では、任意のレイヤがILPを使用するとき、すべてのレイヤを含むビットストリーム全体がデコーディングされるように指定される。さらに、これらのレイヤのうち、特定のレイヤが出力レイヤであると指定される。出力レイヤは、最上位レイヤのみ、すべてのレイヤ、または最上位レイヤに一組の示された下位レイヤを加えたものであると示されてもよい。
前述の態様は、特定の問題を含む。例えば、SPS、PPS、およびAPS NALユニットのnuh_layer_id値は、適切に制約されない場合がある。さらに、SEI NALユニットのTemporalId値が適切に制約されない場合がある。また、参照ピクチャのリサンプリングが有効であり、CLVS内のピクチャの空間解像度が異なる場合、NoOutputOfPriorPicsFlagの設定が適切に指定されないことがある。また、いくつかのビデオコーディングシステムでは、サフィックスSEIメッセージをスケーラブル・ネスティング・SEIメッセージに含めることができない。別の例として、バッファリング期間、ピクチャタイミング、およびデコーディングユニット情報SEIメッセージは、VPSおよび/またはSPSに対する構文解析依存性を含むことができる。
一般に、本開示は、ビデオコーディング改善手法を説明する。この技術の説明は、VVCに基づく。しかしながら、これらの技術は、他のビデオコーデック仕様に基づく階層化ビデオコーディングにも適用される。
上述した1つまたは複数の問題が、以下の通り解決され得る。SPS、PPS、およびAPS NALユニットのnuh_layer_id値は、本明細書では適切に制約される。SEI NALユニットのTemporalId値は、本明細書では適切に制約される。NoOutputOfPriorPicsFlagの設定は、参照ピクチャのリサンプリングが有効にされ、CLVS内のピクチャが異なる空間解像度を有する場合に適切に指定される。サフィックスSEIメッセージは、スケーラブル・ネスティング・SEIメッセージに含めることができる。VPSまたはSPS上のBP、PT、およびDUI SEIメッセージの構文解析依存性は、BP SEIメッセージシンタックス内のシンタックス要素decoding_unit_hrd_params_present_flag、PT SEIメッセージシンタックス内のシンタックス要素decoding_unit_hrd_params_present_flagおよびdecoding_unit_cpb_params_in_pic_timing_sei_flag、ならびにDUI SEIメッセージ内のシンタックス要素decoding_unit_cpb_params_in_pic_timing_sei_flagを繰り返すことにより除去することができる。
前述のメカニズムの例示的な実施態様は以下の通りである。一般的なNALユニットセマンティクスの例を以下に示す。
nuh_temporal_id_plus1-1は、NALユニットの一時的識別子を指定する。nuh_temporal_id_plus1の値は0に等しくすべきではない。変数TemporalIdは、以下のように導出することができる。
TemporalId=nuh_temporal_id_plus1-1
nal_unit_typeがIDR_W_RADLからRSV_IRAP_13の範囲内(両端を含む)にあるとき、TemporalIdは0に等しくなければならない。nal_unit_typeがSTSA_NUTに等しいとき、TemporalIdは0に等しくてはならない。
TemporalIdの値は、アクセスユニットのすべてのVCL NALユニットについて同じでなければならない。コーディングされたピクチャ、レイヤアクセスユニット、またはアクセスユニットのTemporalIdの値は、コーディングされたピクチャ、レイヤアクセスユニット、またはアクセスユニットのVCL NALユニットのTemporalIdの値であってもよい。サブレイヤ表現のTemporalIdの値は、サブレイヤ表現内のすべてのVCL NALユニットのTemporalIdの最大値であってもよい。
非VCL NALユニットに対するTemporalIdの値は、以下のように制約される。nal_unit_typeがDPS_NUT、VPS_NUT、またはSPS_NUTに等しい場合、TemporalIdは0に等しく、NALユニットを含むアクセスユニットのTemporalIdは0に等しくなければならない。そうではなく、nal_unit_typeがEOS_NUTまたはEOB_NUTに等しい場合、TemporalIdは0に等しくなければならない。そうではなく、nal_unit_typeがAUD_NUT、FD_NUT、PREFIX_SEI_NUT、またはSUFFIX_SEI_NUTに等しい場合、TemporalIdは、NALユニットを含むアクセスユニットのTemporalIdに等しくなければならない。そうではなく、nal_unit_typeがPPS_NUTまたはAPS_NUTに等しい場合、TemporalIdは、NALユニットを含むアクセスユニットのTemporalId以上でなければならない。NALユニットが非VCL NALユニットである場合、TemporalIdの値は、非VCL NALユニットが適用するすべてのアクセスユニットのTemporalId値の最小値に等しくなければならない。nal_unit_typeがPPS_NUTまたはAPS_NUTに等しい場合、TemporalIdは、包含するアクセスユニットのTemporalId以上であってもよい。これは、すべてのPPSおよびAPSがビットストリームの先頭に含まれ得るからである。さらに、第1のコーディングされたピクチャは0に等しいTemporalIdを有する。
シーケンスパラメータセットRBSPセマンティクスの例は以下の通りである。SPS RBSPは、参照される前にデコーディングプロセスに利用可能でなければならない。SPSは、0に等しいTemporalIdを有する少なくとも1つのアクセスユニットに含まれてもよく、または外部メカニズムを介して提供されてもよい。SPSを含むSPS NALユニットは、SPSを参照するPPS NALユニットの最も低いnuh_layer_id値に等しいnuh_layer_idを有するように制約され得る。
例示的なピクチャパラメータセットRBSPセマンティクスは以下の通りである。PPS RBSPは、参照される前にデコーディングプロセスに利用可能でなければならない。PPSは、PPS NALユニットのTemporalId以下のTemporalIdを有する少なくとも1つのアクセスユニットに含まれるか、または外部メカニズムを介して提供されるべきである。PPS RBSPを含むPPS NALユニットは、PPSを参照するコーディングされたスライスNALユニットの最低nuh_layer_id値に等しいnuh_layer_idを有するべきである。
例示的な適応パラメータセットのセマンティクスは以下の通りである。各APS RBSPは、参照される前にデコーディングプロセスに利用可能でなければならない。APSはまた、APSを参照する、または外部メカニズムを介して提供されるコーディングされたスライスNALユニットのTemporalId以下のTemporalIdを有する少なくとも1つのアクセスユニットに含まれるべきである。APS NALユニットは、複数レイヤのピクチャ/スライスで共有することができる。APS NALユニットのnuh_layer_idは、APS NALユニットを参照するコーディングされたスライスNALユニットの最も低いnuh_layer_id値に等しくなければならない。あるいは、APS NALユニットは、複数のレイヤのピクチャ/スライスにより共有されなくてもよい。APS NALユニットのnuh_layer_idは、APSを参照するスライスのnuh_layer_idと等しくなければならない。
一例では、現在のピクチャのデコーディング前のDPBからのピクチャの除去は、以下のように説明される。現在のピクチャのデコーディング前(しかし、現在のピクチャの第1のスライスのスライスヘッダを構文解析した後)のDPBからのピクチャの除去は、(現在のピクチャを含む)アクセスユニットnの第1のデコーディングユニットのCPB除去時間に行われ得る。これは次のように進行する。参照ピクチャリスト構築のためのデコーディングプロセスが呼び出され、参照ピクチャマーキングのためのデコーディングプロセスが呼び出される。
現在のピクチャがピクチャ0ではないコーディングされたレイヤ・ビデオ・シーケンス・スタート(CLVSS)ピクチャである場合、以下の順序付きステップが適用される。テスト対象のデコーダについて、変数NoOutputOfPriorPicsFlagが以下のように導かれる。SPSから導出されたpic_width_in_luma_samples、pic_height_max_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8、またはsps_max_dec_pic_buffering_minus1[Htid]の値が、先行するピクチャによって参照されるSPSから導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8、またはsps_max_dec_pic_buffering_minus1[Htid]の値とそれぞれ異なる場合には、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagの値にかかわらず、テスト対象のデコーダにより1に設定され得る。これらの条件下では、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagと等しく設定することが好ましい場合があるが、この場合、テスト対象のデコーダは、NoOutputOfPriorPicsFlagを1に設定することができることに留意されたい。そうでない場合は、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagと等しく設定されてもよい。
テスト対象のデコーダに対して導出されたNoOutputOfPriorPicsFlagの値がHRDに適用され、その結果、NoOutputOfPriorPicsFlagの値が1に等しいとき、DPB内のすべてのピクチャ記憶バッファは、それらが含むピクチャの出力なしで空にされ、DPBフルネスはゼロに設定される。以下の条件の両方がDPB内の任意のピクチャkに当てはまる場合、DPB内のそのようなピクチャkはすべてDPBから除去される。ピクチャkは参照のために未使用としてマークされ、ピクチャkは0に等しいPictureOutputFlagを有するか、または対応するDPB出力時間が現在のピクチャnの第1のデコーディングユニット(デコーディングユニットmとして示される)のCPB除去時間以下である。これは、DpbOutputTime[k]がDuCpbRemovalTime[m]以下である場合に発生することができる。DPBから除去された各ピクチャについて、DPBフルネスは1だけデクリメントされる。
一例では、DPBからのピクチャの出力および除去は以下のように説明される。現在のピクチャのデコーディング前(しかし、現在のピクチャの第1のスライスのスライスヘッダを構文解析した後)のDPBからのピクチャの出力および除去は、現在のピクチャを含むアクセスユニットの第1のデコーディングユニットがCPBから除去され、以下のように進むときに行われ得る。参照ピクチャリスト構築のためのデコーディングプロセスおよび参照ピクチャマーキングのためのデコーディングプロセスが呼び出される。
現在のピクチャが、ピクチャゼロでないCLVSSピクチャの場合は、以下の順序のステップが適用される。テスト対象のデコーダについて、変数NoOutputOfPriorPicsFlagが以下のように導出され得る。SPSから導出されたpic_width_in_luma_samples、pic_height_max_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8、またはsps_max_dec_pic_buffering_minus1[Htid]の値が、先行するピクチャによって参照されるSPSから導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、chroma_format_idc、separate_colour_plane_flag、bit_depth_luma_minus8、bit_depth_chroma_minus8、またはsps_max_dec_pic_buffering_minus1[Htid]の値とそれぞれ異なる場合には、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagの値にかかわらず、テスト対象のデコーダにより1に設定され得る。これらの条件下では、NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagと等しく設定することが好ましいが、この場合、テスト対象のデコーダは、NoOutputOfPriorPicsFlagを1に設定することができることに留意されたい。そうでない場合は、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagと等しく設定され得る。
テスト対象のデコーダについて導出されたNoOutputOfPriorPicsFlagの値は、以下のようにHRDに適用され得る。NoOutputOfPriorPicsFlagが1に等しい場合には、DPB内のすべてのピクチャ記憶バッファは、それらが含むピクチャの出力なしで空にされ、DPBフルネスは0に設定される。そうでない場合(NoOutputOfPriorPicsFlagが0に等しい)、出力に不要であるとしてマークされ、参照に使用されないピクチャを含むすべてのピクチャ記憶バッファが空にされ(出力なし)、DPB内のすべての空でないピクチャ記憶バッファが、バンピングプロセスを繰り返し呼び出すことにより空にされ、DPBフルネスが0に設定される。
そうでない場合(現在のピクチャはCLVSSピクチャではない)、出力に不要であるとしてマークされ、参照のために未使用であるピクチャを含むすべてのピクチャ記憶バッファが空にされる(出力なし)。空になった各ピクチャ記憶バッファについて、DPBフルネスは1デクリメントされる。以下の条件のうちの1つまたは複数が真であるとき、バンピングプロセスは、以下の条件のいずれも真でなくなるまで空にされる各追加のピクチャ記憶バッファについてDPBフルネスを1だけさらにデクリメントしながら繰り返し呼び出される。条件は、出力に必要とされるようにマークされたDPB内のピクチャの数がsps_max_num_reorder_pics[Htid]より大きいことである。別の条件は、sps_max_latency_increase_plus1[Htid]が0に等しくなく、関連する変数PicLatencyCountがSpsMaxLatencyPictures[Htid]以上である出力に必要に応じてマークされた少なくとも1つのピクチャがDPBに存在することである。他の条件は、DPBのピクチャ数がSubDpbSize[Htid]以上であることである。
例示的な一般的なSEIメッセージシンタックスは以下の通りである。
Figure 2022548404000002
スケーラブル・ネスティング・SEIメッセージ・シンタックスの例は以下の通りである。
Figure 2022548404000003
スケーラブル・ネスティング・SEIメッセージ・セマンティクスの例は以下の通りである。スケーラブル・ネスティング・SEIメッセージは、SEIメッセージを、特定のOLSのコンテキストにおける特定のレイヤまたはOLSのコンテキストではない特定のレイヤに関連付けるためのメカニズムを提供する。スケーラブル・ネスティング・SEIメッセージは、1つまたは複数のSEIメッセージを含む。スケーラブル・ネスティング・SEIメッセージに含まれるSEIメッセージは、スケーラブルにネストされたSEIメッセージとも呼ばれる。ビットストリーム適合性は、SEIメッセージがスケーラブル・ネスティング・SEIメッセージに含まれる場合に以下の制限が適用されることを要求することができる。
payloadTypeが132(デコードされたピクチャハッシュ)または133(スケーラブルネスティング)であるSEIメッセージは、スケーラブル・ネスティング・SEIメッセージに含まれるべきではない。スケーラブル・ネスティング・SEIメッセージがバッファリング期間、ピクチャタイミング、またはデコーディングユニット情報SEIメッセージを含む場合、スケーラブル・ネスティング・SEIメッセージは、payloadTypeが0(バッファリング期間)、1(ピクチャタイミング)、または130(デコーディングユニット情報)ではないその他のSEIメッセージを含むべきではない。
ビットストリーム適合性はまた、スケーラブル・ネスティング・SEIメッセージを含むSEI NALユニットのnal_unit_typeの値に以下の制限が適用されることを要求することができる。スケーラブル・ネスティング・SEIメッセージが、0(バッファリング期間)、1(ピクチャタイミング)、130(デコーディングユニット情報)、145(従属RAP表示)、または168(フレームフィールド情報)に等しいpayloadTypeを有するSEIメッセージを含む場合、スケーラブル・ネスティング・SEIメッセージを含むSEI NALユニットは、PREFIX_SEI_NUTに等しいnal_unit_typeを有するべきである。スケーラブル・ネスティング・SEIメッセージが、132に等しいpayloadType(デコードされたピクチャハッシュ)を有するSEIメッセージを含む場合、スケーラブル・ネスティング・SEIメッセージを含むSEI NALユニットは、SUFFIX_SEI_NUTに等しいnal_unit_typeセットを有するべきである。
nesting_ols_flagは、スケーラブルにネストされたSEIメッセージが特定のOLSのコンテキストにおける特定のレイヤに適用されることを指定するために、1に等しく設定され得る。nesting_ols_flagは、スケーラブルにネストされたSEIメッセージが一般に特定のレイヤに適用される(例えば、OLSのコンテキストではない)ことを指定するために、0に等しく設定され得る。
ビットストリーム適合性は、nesting_ols_flagの値に以下の制限が適用されることを必要とする場合がある。スケーラブル・ネスティング・SEIメッセージが、payloadTypeが0(バッファリング期間)、1(ピクチャタイミング)、または130(デコーディングユニット情報)に等しいSEIメッセージを含んでいる場合、nesting_ols_flagの値は1に等しくなければならない。スケーラブル・ネスティング・SEIメッセージが、VclAssociatedSeiList内の値に等しいpayloadTypeを有するSEIメッセージを含むとき、nesting_ols_flagの値は0に等しくなければならない。
nesting_num_olss_minus1に1を加えたものは、スケーラブルにネストされたSEIメッセージが適用されるOLSの数を指定する。nesting_num_olss_minus1の値は、0以上、TotalNumOlss-1以下の範囲であればよい。nesting_ols_idx_delta_minus1[i]は、nesting_ols_flagが1である場合に、スケーラブルにネストされたSEIメッセージが適用されるi番目のOLSのOLSインデックスを指定する変数NestingOlsIdx[i]を導出するために使用される。nesting_ols_idx_delta_minus1[i]の値は、0以上TotalNumOlss-2以下の範囲である必要がある。変数NestingOlsIdx[i]は、以下のように導出され得る。
if(i==0)
NestingOlsIdx[i]=nesting_ols_idx_delta_minus1[i]
else
NestingOlsIdx[i]=NestingOlsIdx[i-1]+nesting_ols_idx_delta_minus1[i]+1
nesting_num_ols_layers_minus1[i]+1は、NestingOlsIdx[i]番目のOLSのコンテキストにおいて、スケーラブルにネストされたSEIメッセージが適用されるレイヤの数を指定する。nesting_num_ols_layers_minus1[i]の値は、0以上、NumLayersInOls[NestingOlsIdx[i]]-1以下の範囲にする必要がある。
nesting_ols_layer_idx_delta_minus1[i][j]は、nesting_ols_flagが1である場合に、NestingOlsIdx[i]番目のOLSのコンテキストにおいて、スケーラブルにネストされたSEIメッセージが適用されるj番目のレイヤのOLSレイヤインデックスを指定する変数NestingOlsLayerIdx[i][j]を導出するために使用される。nesting_ols_layer_idx_delta_minus1[i]の値は、0以上、NumLayersInOls[nestingOlsIdx[i]]-2以下の範囲である必要がある。
変数NestingOlsLayerIdx[i][j]は、以下のように導出され得る。
if(j==0)
NestingOlsLayerIdx[i][j]=nesting_ols_layer_idx_delta_minus1[i][j]
else
NestingOlsLayerIdx[i][j]=NestingOlsLayerIdx[i][j-1]+
nesting_ols_layer_idx_delta_minus1[i][j]+1
0以上、nesting_num_olss_minus1以下の範囲のiについてのLayerIdInOls[NestingOlsIdx[i]][NestingOlsLayerIdx[i][0]]のすべての値のうちの最も低い値は、現在のSEI NALユニット(例えば、スケーラブル・ネスティング・SEIメッセージを含むSEI NALユニット)のnuh_layer_idに等しくなければならない。nesting_all_layers_flagは、スケーラブルにネストされたSEIメッセージが、一般に、現在のSEI NALユニットのnuh_layer_id以上のnuh_layer_idを有するすべてのレイヤに適用されることを指定するために、1に等しく設定され得る。nesting_all_layers_flagは、スケーラブルにネストされたSEIメッセージが、一般に、現在のSEI NALユニットのnuh_layer_id以上のnuh_layer_idを有するすべてのレイヤに適用される場合も適用されない場合もあることを指定するために、0に等しく設定され得る。
nesting_num_layers_minus1に1を加えたものは、スケーラブルにネストされたSEIメッセージが一般に適用されるレイヤの数を指定する。nuh_layer_idが現在のSEI NALユニットのnuh_layer_idである場合、nesting_num_layers_minus1の値は、0~vps_max_layers_minus1-GeneralLayerIdx[nuh_layer_id]の範囲内でなければならない。nesting_layer_id[i]は、nesting_all_layers_flagが0である場合に、スケーラブルにネストされたSEIメッセージが一般に適用される第iのレイヤのnuh_layer_id値を指定する。nesting_layer_id[i]の値はnuh_layer_idより大きくなければならず、nuh_layer_idは現在のSEI NALユニットのnuh_layer_idである。
nesting_ols_flagが1に等しい場合、スケーラブルにネストされたSEIメッセージが一般に適用されるレイヤの数を指定する変数NestingNumLayersと、スケーラブルにネストされたSEIメッセージが一般に適用されるレイヤのnuh_layer_id値のリストを指定する、0からNestingNumLayers-1の範囲内のiについてのリストNestingLayerId[i]とは、以下のように導出され、nuh_layer_idは、現在のSEI NALユニットのnuh_layer_idである。
if(nesting_all_layers_flag){
NestingNumLayers=vps_max_layers_minus1+1-GeneralLayerIdx[nuh_layer_id]
for(i=0;i<NestingNumLayers;i++)
NestingLayerId[i]=vps_layer_id[GeneralLayerIdx[nuh_layer_id]+i](D-2)
}else{
NestingNumLayers=nesting_num_layers_minus1+1
for(i=0;i<NestingNumLayers;i++)
NestingLayerId[i]=(i==0)?nuh_layer_id:nesting_layer_id[i]
nesting_num_seis_minus1に1を加えたものは、スケーラブルにネストされたSEIメッセージの数を指定する。nesting_num_seis_minus1の値は、0以上63以下の範囲内の値であればよい。nesting_0_bitは0に等しく設定されるべきである。
図8は、例示的なビデオコーディング装置800の概略図である。ビデオコーディング装置800は、ここで説明されているように、開示される例/実施形態を実施するのに適している。ビデオコーディング装置800は、ダウンストリームポート820、アップストリームポート850、および/またはネットワークにわたってデータをアップストリームおよび/またはダウンストリームに伝達する送信器および/または受信器を含むトランシーバユニット(Tx/Rx)810を含む。ビデオコーディング装置800はまた、データを処理するために論理装置および/または中央処理装置(CPU)を含むプロセッサ830と、データを記憶するメモリ832と、を含む。ビデオコーディング装置800はまた、電気、光-電気(OE)構成要素、電気-光(EO)構成要素、および/または電気、光または無線通信ネットワークを介したデータ通信のためにアップストリームポート850および/またはダウンストリームポート820に結合された無線通信構成要素を含んでよい。ビデオコーディング装置800はまた、ユーザとデータをやり取りする入力および/または出力(I/O)装置860を含んでもよい。I/O装置860は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力装置を含んでもよい。I/O装置860はまた、キーボード、マウス、トラックボールなどの入力装置、および/またはそのような出力装置と対話するための対応するインターフェースを含んでもよい。
プロセッサ830は、ハードウェアおよびソフトウェアにより実装される。プロセッサ830は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実装されてもよい。プロセッサ830は、ダウンストリームポート820、Tx/Rx 810、アップストリームポート850、およびメモリ832と通信する。プロセッサ830はコーディングモジュール814を含む。コーディングモジュール814は、方法100,900および1000などの本明細書に記載された開示された実施形態を実施し、これらはマルチレイヤビデオシーケンス600および/またはビットストリーム700を使用することができる。コーディングモジュール814はまた、本明細書で説明する他の任意の方法/メカニズムを実装してもよい。さらに、コーディングモジュール814は、コーデックシステム200、エンコーダ300、デコーダ400、および/またはHRD 500を実装してもよい。例えば、コーディングモジュール814は、本明細書で説明されるように様々なパラメータをシグナリングおよび/または読み取るように使用され得る。さらに、コーディングモジュールは、そのようなパラメータに基づいてビデオシーケンスをエンコーディングおよび/またはデコーディングするために使用され得る。したがって、本明細書に記載されたシグナリング変更は、コーディングモジュール814における効率を高め、および/またはエラーを回避することができる。したがって、コーディングモジュール814は、上述した問題のうちの1つまたは複数に対処するためのメカニズムを実行するように構成され得る。それ故、コーディングモジュール814により、ビデオコーディング装置800は、ビデオデータをコーディングするときに、追加機能および/またはコーディング効率を提供する。このように、コーディングモジュール814は、ビデオコーディング装置800の機能を向上させると共に、ビデオコーディング技術固有の問題に対処する。さらに、コーディングモジュール814はビデオコーディング装置800の変換を異なる状態まで達成する。あるいは、コーディングモジュール814はメモリ832に記憶された命令とし
て実施でき、(例えば、非一時的媒体に記憶されたコンピュータプログラム製品として)プロセッサ830により実行できる。
メモリ832は、ディスク、テープドライブ、ソリッドステートドライブ、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ、3値連想メモリ(TCAM)、スタティックランダムアクセスメモリ(SRAM)などの1つまたは複数のメモリ種別を含む。メモリ832は、そのようなプログラムが実行のために選択されたときにそのようなプログラムを記憶するため、かつプログラムの実行中に読み取られる命令およびデータを記憶するために、オーバーフローデータ記憶装置として使用されてもよい。
図9は、ARCと併せてNoOutputOfPriorPicsFlagの使用をサポートするために、ビデオシーケンスをビットストリーム700などのビットストリームにエンコーディングする例示的な方法900のフローチャートである。方法900は、方法100を実行するときに、コーデックシステム200、エンコーダ300、および/またはビデオコーディング装置800などのエンコーダで使用されてもよい。さらに、方法900は、HRD 500上で動作することができ、したがって、マルチレイヤビデオシーケンス600に対して適合性テストを実行することができる。
方法900は、エンコーダがビデオシーケンスを受信し、例えばユーザ入力に基づいて、そのビデオシーケンスをマルチレイヤビットストリームにエンコーディングすることを決定したときに開始することができる。ステップ901において、エンコーダは、複数のピクチャをビットストリームにエンコーディングする。例えば、ピクチャはAUに含まれてもよい。さらに、ピクチャはレイヤに含まれてもよい。エンコーダは、ピクチャを含む1つまたは複数のレイヤをマルチレイヤビットストリームにエンコーディングすることができる。レイヤは、同じレイヤIDおよび関連付けられた非VCL NALユニットを有する一組のVCL NALユニットを含むことができる。レイヤは、エンコーディングされたピクチャのビデオデータを含む一組のVCL NALユニットと、このようなピクチャをコーディングするために使用される任意のパラメータセットと、を含むことができる。1つまたは複数のレイヤは出力レイヤであってもよい。出力レイヤではないレイヤは、出力レイヤの復元をサポートするためにエンコーディングされるが、そのようなサポートレイヤは、デコーダでの出力を意図するものではない。このようにして、エンコーダは、要求に応じてデコーダに送信するためにレイヤの様々な組み合わせをエンコーディングすることができる。レイヤは、ネットワーク条件、ハードウェア能力、および/またはユーザ設定に応じて、デコーダがビデオシーケンスの異なる表現を取得できるように、必要に応じて送信することができる。ビットストリームがエンコーディングされる場合、エンコーダは、適合性についてビットストリームをチェックするためにHRDを使用することができる。
ステップ903において、HRDは、先行するAU内の先行するピクチャをデコーディングし、先行するピクチャをDPBに記憶することができる。例えば、先行するピクチャは、第1のレイヤの一部であってもよい。次いで、HRDは、第2のレイヤへの切り替え中に発生する問題をチェックすることができる。
ステップ905において、HRDは、現在のAUの第2のレイヤにおいて現在のピクチャをデコーディングする準備をすることができる。HRDは、現在のピクチャの第1のスライスのスライスヘッダを構文解析することができる。HRDはまた、参照ピクチャリストに基づいて第1のスライスの参照ピクチャリストを構築することができる。HRDはまた、DPB内のピクチャ(例えば、先行するピクチャを含む)に対して参照ピクチャリストのマーキングプロセスを実行して、各ピクチャを参照のために未使用、短期参照のために使用、および/または長期参照のために使用としてマークすることができる。
ステップ907において、HRDは、現在のAU内の現在のピクチャのPicWidthMaxInSamplesYの値が、デコーディング順で先行するAU内の先行するピクチャのPicWidthMaxInSamplesYの値と異なる場合、NoOutputOfPriorPicsFlagを対応する値(例えば、1)に設定することができる。PicWidthMaxInSamplesYは、ビットストリームのSPSから得られるsps_pic_width_max_in_luma_samplesに基づいて導出することができる。さらに、HRDは、現在のAU内の現在のピクチャのPicHeightMaxInSamplesYの値が、先行するAU内の先行するピクチャのPicHeightMaxInSamplesYの値とデコーディング順が異なる場合に、NoOutputOfPriorPicsFlagを設定することができる。PicHeightMaxInSamplesYは、ビットストリームのSPSから得られるsps_pic_height_max_in_luma_samplesに基づいて導出することができる。NoOutputOfPriorPicsFlagを1に設定して、DPB内のすべてのピクチャ記憶バッファがそれらに含まれるピクチャの出力なしで空にされるべきであること、およびDPBフルネス変数が0に等しく設定されるべきであることを指定することができる。
ステップ909において、HRDは、NoOutputOfPriorPicsFlag(例えば、NoOutputOfPriorPicsFlagが1に設定された場合)の値に基づいて出力のために含まれるピクチャを選択することなくDPBを空にすることができる。HRDはまた、DPBを空にするときに除去された各ピクチャについてDPBフルネス変数をデクリメントする(例えば、1だけ減少させる)ことができる。NoOutputOfPriorPicsFlagは、ステップ907においてのみ設定されてもよく、したがって、ステップ909において、先行するピクチャを含むDPB内のすべてのピクチャが、ステップ905の参照ピクチャリストのマーキングプロセスに従って、参照のために使用されていないものとしてマークされている場合にのみ、DPBを空にすることができることに留意されたい。
次に、HRDは、ステップ911において、現在のAU内の現在のピクチャをデコーディングし、現在のピクチャをDPBに記憶することができる。したがって、ステップ911で現在のAU内の現在のピクチャがデコーディングされる前に、ステップ909でDPBが空にされる。さらに、ステップ905で現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に、ステップ909でDPBを空にする。
場合によっては、NoOutputOfPriorPicsFlagは、先行するピクチャを含む第1のレイヤと現在のピクチャを含む第2のレイヤとを切り替えるときのDPBオーバーフローを防止することができる。したがって、HRD適合性テストは、適合性について現在のピクチャをチェックするときに成功することができる。他のエラーに遭遇しないと仮定して、HRD適合性テストが完了する。適合性テストが成功したと仮定すると、ビットストリームは、例えばコンテンツサーバを介して、ステップ913においてデコーダに向かう通信のために長期メモリに記憶される。次いで、ビットストリームのレイヤを、要求に応じてデコーダに向けて送信することができる。
図10は、ARCと共にNoOutputOfPriorPicsFlagを使用しながら、ビットストリーム700などのビットストリームからビデオシーケンスをデコーディングする例示的な方法1000のフローチャートである。方法1000は、方法100を実行するときに、コーデックシステム200、デコーダ400、および/またはビデオコーディング装置800などのデコーダで使用されてよい。さらに、方法1000は、HRD 500などのHRDにより適合性がチェックされたマルチレイヤビデオシーケンス600上で使用することができる。
方法1000は、デコーダが、例えば方法900の結果として、および/またはデコーダによる要求に応答して、マルチレイヤビデオシーケンスを表すコーディングされたデータのビットストリームを受信し始めるときに開始することができる。ステップ1001において、デコーダは、複数のピクチャを含むビットストリームビットストリームを受信する。例えば、ピクチャはAUに含まれてもよい。さらに、ピクチャはレイヤに含まれてもよい。レイヤは、同じレイヤIDおよび関連付けられた非VCL NALユニットを有する一組のVCL NALユニットを含むことができる。例えば、一組のVCL NALユニットは、一組のVCL NALユニットがすべて同じレイヤIDを有する場合、レイヤの一部である。レイヤは、ピクチャのビデオデータを含む一組のVCL NALユニットと、関連付けられた非VCL NALユニットにおいてこのようなピクチャをコーディングするために使用される任意のパラメータセットと、を含むことができる。1つまたは複数のレイヤは出力レイヤであってもよい。出力レイヤではないレイヤは、出力レイヤの復元をサポートするためにエンコーディングされるが、そのようなサポートレイヤは出力を意図するものではない。このようにして、デコーダは、ネットワーク条件、ハードウェア能力、および/またはユーザ設定に応じてビデオシーケンスの異なる表現を取得することができる。
ステップ1003において、デコーダは、先行するAU内の先行するピクチャをデコーディングし、先行するピクチャをDPBに記憶することができる。例えば、先行するピクチャは、第1のレイヤの一部であってもよい。デコーダは、例えばユーザ入力に起因して、および/または動作条件の変化に起因して、第2のレイヤに切り替えることを決定することができる。例えば、デコーダは、第2のレイヤへの切り替えを要求してもよい。
ステップ1005において、デコーダは、現在のAUの第2のレイヤにおける現在のピクチャをデコーディングする準備をすることができる。デコーダは、現在のピクチャの第1のスライスのスライスヘッダを構文解析することができる。デコーダはまた、参照ピクチャリストに基づいて第1のスライスの参照ピクチャリストを構築することができる。デコーダはまた、DPB内のピクチャ(例えば、先行するピクチャを含む)に対して参照ピクチャリストのマーキング処理を実行して、各ピクチャを、参照のために未使用、短期参照のために使用、および/または長期参照のために使用されるものとしてマークすることができる。
ステップ1007において、デコーダは、現在のAU内の現在のピクチャのPicWidthMaxInSamplesYの値が、デコーディング順で先行するAU内の先行するピクチャのPicWidthMaxInSamplesYの値と異なる場合、NoOutputOfPriorPicsFlagを対応する値(例えば、1)に設定することができる。PicWidthMaxInSamplesYは、ビットストリームのSPSから得られるsps_pic_width_max_in_luma_samplesに基づいて導出することができる。さらに、デコーダは、現在のAU内の現在のピクチャのPicHeightMaxInSamplesYの値が、先行するAU内の先行するピクチャのPicHeightMaxInSamplesYの値とデコーディング順が異なる場合に、NoOutputOfPriorPicsFlagを設定することができる。PicHeightMaxInSamplesYは、ビットストリームのSPSから得られるsps_pic_height_max_in_luma_samplesに基づいて導出することができる。NoOutputOfPriorPicsFlagを1に設定して、DPB内のすべてのピクチャ記憶バッファがそれらに含まれるピクチャの出力なしで空にされるべきであること、およびDPBフルネス変数が0に等しく設定されるべきであることを指定することができる。
ステップ1009において、デコーダは、NoOutputOfPriorPicsFlag(例えば、NoOutputOfPriorPicsFlagが1に設定された場合)の値に基づいて出力のために含まれるピクチャを選択することなくDPBを空にすることができる。デコーダはまた、DPBを空にするときに除去された各ピクチャについてDPBフルネス変数をデクリメントする(例えば、1だけ減少させる)ことができる。NoOutputOfPriorPicsFlagは、ステップ1007においてのみ設定されてもよく、したがって、ステップ1009において、先行するピクチャを含むDPB内のすべてのピクチャが、ステップ1005の参照ピクチャリストのマーキングプロセスに従って、参照のために使用されていないものとしてマークされている場合にのみ、DPBを空にすることができることに留意されたい。
次に、デコーダは、ステップ1011において、現在のAU内の現在のピクチャをデコーディングし、現在のピクチャをDPBに記憶することができる。したがって、ステップ1011で現在のAU内の現在のピクチャがデコーディングされる前に、ステップ1009でDPBが空にされる。さらに、ステップ1005で現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に、ステップ1009でDPBを空にする。場合によっては、NoOutputOfPriorPicsFlagは、先行するピクチャを含む第1のレイヤと現在のピクチャを含む第2のレイヤとを切り替えるときのDPBオーバーフローを防止することができる。したがって、NoOutputOfPriorPicsFlagを使用すると、デコーダの機能性を高めることができる。
ステップ1013において、デコーダは、デコードされたビデオシーケンスの一部として表示するためにDPBから現在のピクチャを出力することができる。
図11は、ARCと共にNoOutputOfPriorPicsFlagを使用しながらビデオシーケンスをビットストリームにコーディングするための例示的なシステム1100の概略図である。システム1100は、コーデックシステム200、エンコーダ300、デコーダ400、および/またはビデオコーディング装置800などのエンコーダおよびデコーダにより実行され得る。さらに、システム1100は、HRD 500を使用して、マルチレイヤビデオシーケンス600および/またはビットストリーム700に対して適合性テストを実行することができる。さらに、システム1100は、方法100、900および/または1000を実行するときに使用することができる。
システム1100は、ビデオエンコーダ1102を含む。ビデオエンコーダ1102は、複数のピクチャをビットストリームにエンコーディングするためのエンコーディングモジュール1103を含む。ビデオエンコーダ1102は、現在のAUのPicWidthMaxInSamplesYの値がデコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合にNoOutputOfPriorPicsFlagを設定するステップと、NoOutputOfPriorPicsFlagの値に基づいて出力のために含まれたピクチャを選択せずにDPBを空にするステップと、現在のピクチャをデコーディングするステップと、現在のピクチャをDPBに記憶するステップと、によって、適合性についてビットストリームをチェックするためのHRDモジュール1105をさらに含む。ビデオエンコーダ1102は、デコーダに向けて通信するためのビットストリームを記憶する記憶モジュール1106をさらに含む。ビデオエンコーダ1102は、ビットストリームをビデオデコーダ1110に向けて送信するための送信モジュール1107をさらに含む。ビデオエンコーダ1102は、方法900の任意のステップを実行するようにさらに構成され得る。
システム1100は、ビデオデコーダ1110をさらに含む。ビデオデコーダ1110は、複数のピクチャを含むビットストリームを受信するための受信モジュール1111を含む。ビデオデコーダ1110は、現在のAUのPicWidthMaxInSamplesYの値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、NoOutputOfPriorPicsFlagを設定する設定モジュール1113をさらに含む。ビデオデコーダ1110は、NoOutputOfPriorPicsFlagの値に基づいて、収容されたピクチャの出力なしでDPBを空にするための空にするモジュール1115をさらに含む。ビデオデコーダ1110はさらに、現在のピクチャをデコーディングするためのデコーディングモジュール1117を含む。ビデオデコーダ1110は、DPBに現在のピクチャを記憶するための記憶モジュール1119をさらに含む。ビデオデコーダ1110は、デコードされたビデオシーケンスの一部として表示するためにDPBから現在のピクチャを出力するための出力モジュール1121をさらに含む。ビデオデコーダ1110は、方法1000の任意のステップを実行するようにさらに構成され得る。
第1の構成要素は、第1の構成要素と第2の構成要素との間の線、トレース、またはその他の媒介物を除いて介在する構成要素がない場合は、第2の構成要素に直接的に結合される。第1の構成要素は、第1の構成要素と第2の構成要素との間の線、トレース、またはその他の媒介物以外に介在する構成要素がある場合は、第2の構成要素に間接的に結合される。「結合」という用語とその変化形は直接的な結合と間接的な結合の両方を含む。「約」という用語の使用は、特に明記しない限り、後続の数値の±10%を含む範囲を意味する。
本明細書に記載されている例示的な方法のステップは、記載されている順に実行することを必ずしも必要としていないことも理解されたく、そのような方法のステップの順序は、単なる例と理解されるべきである。同様に、本開示の様々な実施形態と合致する方法において、そのような方法には追加のステップが含まれてよく、いくつかのステップが省略されたり組み合わされたりしてよい。
本開示ではいくつかの実施形態が提供されているが、開示されたシステムおよび方法は、本開示の趣旨または範囲から逸脱することなく、多くの他の特定の形態で具現化されてもよいことが理解されよう。本開示の例は、限定ではなく例示とみなされるべきであり、その意図は、本明細書に与えられた詳細に限定されるべきではない。例えば、様々な要素または構成要素が別のシステムにおいて結合もしくは統合されてもよく、または特定の特徴が省略されるか、もしくは実装されなくてもよい。
加えて、様々な実施形態において個別または別個のものとして記載および例示された技法、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、構成要素、技法、または方法と結合または統合されてもよい。変更、代用、および改変の他の例は当業者により解明可能であり、本明細書に開示した趣旨および範囲から逸脱することなく行われてもよい。
100 動作方法
200 コーデックシステム
201 ビデオ信号
211 一般コーダ制御構成要素
213 変換スケーリングおよび量子化構成要素
215 イントラピクチャ推定構成要素
217 イントラピクチャ予測構成要素
219 動き補償構成要素
221 動き推定構成要素
223 デコードされたピクチャバッファ構成要素
225 ループ内フィルタ構成要素
227 フィルタ制御解析構成要素
229 スケーリングおよび逆変換構成要素
231 ヘッダフォーマッティングおよびCABAC構成要素
300 エンコーダ
301 ビデオ信号
313 変換および量子化構成要素
317 イントラピクチャ予測構成要素
321 動き補償構成要素
323 デコードされたピクチャバッファ構成要素
325 ループ内フィルタ構成要素
329 逆変換および量子化構成要素
331 エントロピーコーディング構成要素
400 デコーダ
417 イントラピクチャ予測構成要素
421 動き補償構成要素
423 デコードされたピクチャバッファ構成要素
425 ループ内フィルタ構成要素
429 逆変換および量子化構成要素
433 エントロピーデコーディング構成要素
545 デコーディングプロセス構成要素
549 出力クロッピング構成要素
551 ビットストリーム
556 参照ピクチャ
557 ピクチャ
559 出力クロッピングされたピクチャ
600 マルチレイヤビデオシーケンス
611~618 ピクチャ
621 インターレイヤ予測
623 インター予測
631、632 レイヤ
700 ビットストリーム
717 スライスヘッダ
718 ピクチャヘッダ
719 SEIメッセージ
720 画像データ
721 第1のピクチャ
723 レイヤ
725 ピクチャ
727 スライス
800 ビデオコーディング装置
814 コーディングモジュール
820 ダウンストリームポート
830 プロセッサ
832 メモリ
850 アップストリームポート
860 入力および/または出力(I/O)装置
900 方法
1000 方法
1100 システム
1102 ビデオエンコーダ
1103 エンコーディングモジュール
1105 HRDモジュール
1106 記憶モジュール
1107 送信モジュール
1110 ビデオデコーダ
1111 受信モジュール
1113 設定モジュール
1115 モジュール
1117 デコーディングモジュール
1119 記憶モジュール
1121 出力モジュール

Claims (34)

  1. デコーダにより実行される方法であって、
    前記デコーダの受信器により、複数のピクチャを含むビットストリームを受信するステップと、
    前記プロセッサにより、現在のアクセスユニット(AU)のルーマサンプルにおける最大ピクチャ幅(PicWidthMaxInSamplesY)の値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)の値を設定するステップと、
    前記NoOutputOfPriorPicsFlagの前記値に基づいて、収容されたピクチャの出力なしで、デコードされたピクチャバッファ(DPB)を空にするステップと、
    前記プロセッサにより、現在のピクチャをデコーディングするステップと、
    前記DPBにより、前記現在のピクチャを記憶するステップと、
    を含む方法。
  2. 前記プロセッサにより、前記現在のAUのルーマサンプルにおける最大ピクチャ高さ(PicHeightMaxInSamplesY)の値が、デコーディング順で前記先行するAUのPicHeightMaxInSamplesYの値と異なる場合に、前記NoOutputOfPriorPicsFlagの前記値を設定するステップをさらに含む、請求項1に記載の方法。
  3. 前記DPBは、前記現在のピクチャをデコーディングする前に空にされる、請求項1または2に記載の方法。
  4. 前記DPBは、前記現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる、請求項1から3のいずれか一項に記載の方法。
  5. 前記DPBを空にするときに除去された各ピクチャについてDPBフルネス変数をデクリメントするステップをさらに含む、請求項1から4のいずれか一項に記載の方法。
  6. 前記プロセッサにより、参照ピクチャリストを構築するステップと、前記NoOutputOfPriorPicsFlagを設定する前に前記現在のAUについて参照ピクチャリストのマーキングを実行するステップと、をさらに含む、請求項1から5のいずれか一項に記載の方法。
  7. 先行するピクチャが参照のために未使用としてマークされている場合に、前記DPBが空にされる、請求項1から6のいずれか一項に記載の方法。
  8. エンコーダにより実行される方法であって、
    前記エンコーダのプロセッサにより、複数のピクチャをビットストリームにエンコーディングするステップと、
    前記プロセッサにおいて動作する仮想参照デコーダ(HRD)により、
    前記プロセッサにより、現在のアクセスユニット(AU)のルーマサンプルにおける最大ピクチャ幅(PicWidthMaxInSamplesY)の値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)の値を設定すること、
    前記NoOutputOfPriorPicsFlagの前記値に基づいて、出力のために収容されたピクチャを選択せずに、デコードされたピクチャバッファ(DPB)を空にすること、
    前記プロセッサにより、現在のピクチャをデコーディングすること、
    前記DPBにより、前記現在のピクチャを記憶すること、
    によって適合性について前記ビットストリームをチェックするステップと、
    前記プロセッサに結合されたメモリにより、デコーダへの通信のために前記ビットストリームを記憶するステップと、
    を含む方法。
  9. 前記プロセッサにおいて動作する前記HRDにより、前記現在のAUのルーマサンプルにおける最大ピクチャ高さ(PicHeightMaxInSamplesY)の値が、デコーディング順で前記先行するAUのPicHeightMaxInSamplesYの値と異なる場合に、前記NoOutputOfPriorPicsFlagの前記値を設定するステップをさらに含む、請求項8に記載の方法。
  10. 前記DPBは、前記現在のピクチャをデコーディングする前に空にされる、請求項8または9に記載の方法。
  11. 前記DPBは、前記現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる、請求項8から10のいずれか一項に記載の方法。
  12. 前記プロセッサにおいて動作する前記HRDにより、前記DPBを空にするときに除去された各ピクチャについてDPBフルネス変数をデクリメントするステップをさらに含む、請求項8から11のいずれか一項に記載の方法。
  13. 前記プロセッサにおいて動作する前記HRDにより、参照ピクチャリストを構築し、参照ピクチャリストのマーキングを実行するステップをさらに含む、請求項8から12のいずれか一項に記載の方法。
  14. 先行するピクチャが参照のために未使用としてマークされている場合に、前記DPBが空にされる、請求項8から13のいずれか一項に記載の方法。
  15. ビデオコーディング装置であって、
    プロセッサと、前記プロセッサに結合された受信器と、前記プロセッサに結合されたメモリと、前記プロセッサに結合された送信器と、を含み、前記プロセッサ、前記受信器、前記メモリ、および前記送信器は、請求項1から14のいずれか一項に記載の方法を実行するように構成された、ビデオコーディング装置。
  16. ビデオコーディング装置による使用のためのコンピュータプログラム製品を含む非一時的コンピュータ可読媒体であって、前記コンピュータプログラム製品は、プロセッサにより実行されるとき、前記ビデオコーディング装置に請求項1から14のいずれか一項に記載の方法を実行させるような、前記非一時的コンピュータ可読媒体に記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
  17. デコーダであって、
    複数のピクチャを含むビットストリームを受信するための受信手段と、
    現在のアクセスユニット(AU)のルーマサンプルにおける最大ピクチャ幅(PicWidthMaxInSamplesY)の値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)の値を設定するための設定手段と、
    前記NoOutputOfPriorPicsFlagの前記値に基づいて、収容されたピクチャの出力なしで、デコードされたピクチャバッファ(DPB)を空にするための空にする手段と、
    現在のピクチャをデコーディングするためのデコーディング手段と、
    前記現在のピクチャをデコードされたピクチャバッファ(DPB)に記憶するための記憶手段と、
    デコードされたビデオシーケンスの一部として表示のために前記DPBから前記現在のピクチャを出力するための出力手段と、
    を含むデコーダ。
  18. 前記デコーダは、請求項1から7のいずれか一項に記載の方法を実行するようにさらに構成された、請求項17に記載のデコーダ。
  19. エンコーダであって、
    複数のピクチャをビットストリームにエンコーディングするためのエンコーディング手段と、
    現在のアクセスユニット(AU)のルーマサンプルにおける最大ピクチャ幅(PicWidthMaxInSamplesY)の値が、デコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、前のピクチャの出力なしフラグ(NoOutputOfPriorPicsFlag)の値を設定すること、
    前記NoOutputOfPriorPicsFlagの前記値に基づいて、出力のために収容されたピクチャを選択せずに、デコードされたピクチャバッファ(DPB)を空にすること、
    現在のピクチャをデコーディングすること、および
    前記現在のピクチャを前記DPBに記憶すること、
    によって適合性について前記ビットストリームをチェックするための仮想参照デコーダ(HRD)手段と、
    デコーダに向けて通信するために前記ビットストリームを記憶するための記憶手段と、
    を含むエンコーダ。
  20. 前記エンコーダは、請求項8から14のいずれか一項に記載の方法を実行するようにさらに構成された、請求項19に記載のエンコーダ。
  21. デコーダにより実行される方法であって、
    前記デコーダの受信器により、複数のピクチャを含むビットストリームを受信するステップと、
    現在のアクセスユニット(AU)のルーマサンプルにおける最大ピクチャ幅(PicWidthMaxInSamplesY)の値がデコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、収容されたピクチャの出力なしで、デコードされたピクチャバッファ(DPB)を空にするステップと、
    前記プロセッサにより、現在のピクチャをデコーディングするステップと、
    前記DPBにより、前記現在のピクチャを記憶するステップと、
    を含む方法。
  22. 前記現在のAUのルーマサンプルにおける最大ピクチャ高さ(PicHeightMaxInSamplesY)の値が、デコーディング順で前記先行するAUのPicHeightMaxInSamplesYの値と異なる場合に、収容されたピクチャの出力なしで、前記DPBを空にするステップをさらに含む、請求項21に記載の方法。
  23. 前記DPBは、前記現在のピクチャをデコーディングする前に空にされる、請求項21または22に記載の方法。
  24. 前記DPBは、前記現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる、請求項21から23のいずれか一項に記載の方法。
  25. 前記DPBを空にするときに除去された各ピクチャについてDPBフルネス変数をデクリメントするステップをさらに含む、請求項21から24のいずれか一項に記載の方法。
  26. 前記プロセッサにより、参照ピクチャリストを構築するステップと、前記DPBを空にする前に前記現在のAUについて参照ピクチャリストのマーキングを実行するステップと、をさらに含む、請求項21から25のいずれか一項に記載の方法。
  27. 先行するピクチャが参照のために未使用としてマークされている場合に、前記DPBが空にされる、請求項21から26のいずれか一項に記載の方法。
  28. エンコーダにより実行される方法であって、
    前記エンコーダのプロセッサにより、複数のピクチャをビットストリームにエンコーディングするステップと、
    前記プロセッサにおいて動作する仮想参照デコーダ(HRD)により、
    現在のアクセスユニット(AU)のルーマサンプルにおける最大ピクチャ幅(PicWidthMaxInSamplesY)の値がデコーディング順で先行するAUのPicWidthMaxInSamplesYの値と異なる場合に、収容されたピクチャの出力なしで、デコードされたピクチャバッファ(DPB)を空にすること、
    前記プロセッサにより、現在のピクチャをデコーディングすること、
    前記DPBにより、前記現在のピクチャを記憶すること、
    によって適合性について前記ビットストリームをチェックするステップと、
    前記プロセッサに結合されたメモリにより、デコーダへの通信のために前記ビットストリームを記憶するステップと、
    を含む方法。
  29. 前記現在のAUのルーマサンプルにおける最大ピクチャ高さ(PicHeightMaxInSamplesY)の値が、デコーディング順で前記先行するAUのPicHeightMaxInSamplesYの値と異なる場合に、収容されたピクチャの出力なしで、前記DPBを空にするステップをさらに含む、請求項28に記載の方法。
  30. 前記DPBは、前記現在のピクチャをデコーディングする前に空にされる、請求項28または29に記載の方法。
  31. 前記DPBは、前記現在のピクチャの第1のスライスのスライスヘッダを構文解析した後に空にされる、請求項28から30のいずれか一項に記載の方法。
  32. 前記DPBを空にするときに除去された各ピクチャについてDPBフルネス変数をデクリメントするステップをさらに含む、請求項28から31のいずれか一項に記載の方法。
  33. 前記プロセッサにより、参照ピクチャリストを構築するステップと、前記DPBを空にする前に前記現在のAUについて参照ピクチャリストのマーキングを実行するステップと、をさらに含む、請求項28から32のいずれか一項に記載の方法。
  34. 先行するピクチャが参照のために未使用としてマークされている場合に、前記DPBが空にされる、請求項28から33のいずれか一項に記載の方法。
JP2022518797A 2019-09-24 2020-09-17 解像度変更のためのデコードされたピクチャバッファ動作 Active JP7416921B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024000298A JP2024028383A (ja) 2019-09-24 2024-01-04 解像度変更のためのデコードされたピクチャバッファ動作

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962905236P 2019-09-24 2019-09-24
US62/905,236 2019-09-24
PCT/US2020/051314 WO2021061494A1 (en) 2019-09-24 2020-09-17 Decoded picture buffer operation for resolution changes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024000298A Division JP2024028383A (ja) 2019-09-24 2024-01-04 解像度変更のためのデコードされたピクチャバッファ動作

Publications (2)

Publication Number Publication Date
JP2022548404A true JP2022548404A (ja) 2022-11-18
JP7416921B2 JP7416921B2 (ja) 2024-01-17

Family

ID=75166352

Family Applications (9)

Application Number Title Priority Date Filing Date
JP2022518794A Active JP7400088B2 (ja) 2019-09-24 2020-09-17 Seiメッセージのための時間識別子の制限
JP2022518793A Pending JP2022548330A (ja) 2019-09-24 2020-09-17 レイヤベースのパラメータセットnalユニット制約
JP2022519005A Pending JP2022550320A (ja) 2019-09-24 2020-09-17 ビデオ符号化におけるseiメッセージ依存性の簡略化
JP2022518797A Active JP7416921B2 (ja) 2019-09-24 2020-09-17 解像度変更のためのデコードされたピクチャバッファ動作
JP2022518798A Pending JP2022548405A (ja) 2019-09-24 2020-09-17 接尾辞seiメッセージのためのスケーラブルネスティング
JP2023206257A Pending JP2024023566A (ja) 2019-09-24 2023-12-06 Seiメッセージのための時間識別子の制限
JP2024000298A Pending JP2024028383A (ja) 2019-09-24 2024-01-04 解像度変更のためのデコードされたピクチャバッファ動作
JP2024053670A Pending JP2024074856A (ja) 2019-09-24 2024-03-28 接尾辞seiメッセージのためのスケーラブルネスティング
JP2024063962A Pending JP2024096147A (ja) 2019-09-24 2024-04-11 レイヤベースのパラメータセットnalユニット制約

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2022518794A Active JP7400088B2 (ja) 2019-09-24 2020-09-17 Seiメッセージのための時間識別子の制限
JP2022518793A Pending JP2022548330A (ja) 2019-09-24 2020-09-17 レイヤベースのパラメータセットnalユニット制約
JP2022519005A Pending JP2022550320A (ja) 2019-09-24 2020-09-17 ビデオ符号化におけるseiメッセージ依存性の簡略化

Family Applications After (5)

Application Number Title Priority Date Filing Date
JP2022518798A Pending JP2022548405A (ja) 2019-09-24 2020-09-17 接尾辞seiメッセージのためのスケーラブルネスティング
JP2023206257A Pending JP2024023566A (ja) 2019-09-24 2023-12-06 Seiメッセージのための時間識別子の制限
JP2024000298A Pending JP2024028383A (ja) 2019-09-24 2024-01-04 解像度変更のためのデコードされたピクチャバッファ動作
JP2024053670A Pending JP2024074856A (ja) 2019-09-24 2024-03-28 接尾辞seiメッセージのためのスケーラブルネスティング
JP2024063962A Pending JP2024096147A (ja) 2019-09-24 2024-04-11 レイヤベースのパラメータセットnalユニット制約

Country Status (11)

Country Link
US (6) US20220217410A1 (ja)
EP (5) EP4035377A4 (ja)
JP (9) JP7400088B2 (ja)
KR (5) KR20220063269A (ja)
CN (11) CN114514703A (ja)
AU (5) AU2020354368A1 (ja)
BR (6) BR112022004873A2 (ja)
CA (2) CA3152357A1 (ja)
CL (2) CL2022000702A1 (ja)
MX (2) MX2022003547A (ja)
WO (5) WO2021061493A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113424538A (zh) 2019-02-14 2021-09-21 北京字节跳动网络技术有限公司 解码器侧细化工具的选择性应用
JP7321364B2 (ja) 2019-09-14 2023-08-04 バイトダンス インコーポレイテッド ビデオコーディングにおけるクロマ量子化パラメータ
JP7400088B2 (ja) * 2019-09-24 2023-12-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Seiメッセージのための時間識別子の制限
CN114651442A (zh) * 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
JP2022552511A (ja) * 2019-10-12 2022-12-16 北京字節跳動網絡技術有限公司 ビデオコーディングツールのための高レベルシンタックス
WO2021076478A1 (en) 2019-10-14 2021-04-22 Bytedance Inc. Using chroma quantization parameter in video coding
CN114788279A (zh) 2019-12-09 2022-07-22 字节跳动有限公司 视频编解码中使用的量化组
WO2021134018A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Signaling of decoded picture buffer parameters in layered video
CN117560496A (zh) 2019-12-26 2024-02-13 字节跳动有限公司 条带类型和视频层的信令通知
JP7405990B2 (ja) 2019-12-26 2023-12-26 バイトダンス インコーポレイテッド コーディングされたピクチャ内における復号順を実装する技術
EP4066387A4 (en) 2019-12-27 2023-02-15 ByteDance Inc. SUBPICTURE SIGNALING IN PARAMETER SETS
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
WO2021142370A1 (en) 2020-01-09 2021-07-15 Bytedance Inc. Constraints on value ranges in video bitstreams
MX2022011208A (es) * 2020-03-17 2022-09-19 Bytedance Inc Uso de conjunto de parametros de video en codificacion de video.
AU2021276676B2 (en) 2020-05-22 2024-08-22 Bytedance Inc. Scalable nested SEI message handling in video sub-bitstream extraction process
KR20230015390A (ko) * 2020-05-22 2023-01-31 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브픽처 서브-비트스트림 추출 프로세스에서의 스케일링 윈도우
JP2023529823A (ja) * 2020-06-09 2023-07-12 バイトダンス インコーポレイテッド マルチレイヤ映像ビットストリームのサブビットストリーム抽出
KR20230159499A (ko) * 2021-04-19 2023-11-21 엘지전자 주식회사 미디어 파일 처리 방법 및 그 장치
KR20240004569A (ko) * 2021-04-23 2024-01-11 엘지전자 주식회사 레이어 식별자 정보를 포함하는 sei 메시지 기반의영상 부호화/복호화 방법, 장치, 및 비트스트림을 전송하는 방법

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
US7852353B1 (en) * 2005-03-31 2010-12-14 Apple Inc. Encoding a transparency (alpha) channel in a video bitstream
KR20080066784A (ko) * 2005-10-11 2008-07-16 노키아 코포레이션 규모가변적 비디오 코딩을 위한 효율적 디코딩 화상 버퍼관리
US7903737B2 (en) * 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
JP2007166129A (ja) 2005-12-13 2007-06-28 Victor Co Of Japan Ltd 符号化データ生成装置
US7535383B2 (en) * 2006-07-10 2009-05-19 Sharp Laboratories Of America Inc. Methods and systems for signaling multi-layer bitstream data
CN101627634B (zh) * 2006-10-16 2014-01-01 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法
US9826243B2 (en) * 2007-04-12 2017-11-21 Thomson Licensing Methods and apparatus for video usability information (VUI) for scalable video coding (SVC)
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
CN103748884A (zh) * 2011-08-30 2014-04-23 索尼公司 图像处理装置和图像处理方法
US9131245B2 (en) * 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US9565431B2 (en) * 2012-04-04 2017-02-07 Qualcomm Incorporated Low-delay video buffering in video coding
RU2584501C1 (ru) * 2012-04-16 2016-05-20 Нокиа Текнолоджиз Ой Способ и устройство для видеокодирования
US20130343465A1 (en) * 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US9912941B2 (en) 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
US10110890B2 (en) * 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
US9584804B2 (en) 2012-07-10 2017-02-28 Qualcomm Incorporated Coding SEI NAL units for video coding
US9380289B2 (en) * 2012-07-20 2016-06-28 Qualcomm Incorporated Parameter sets in video coding
US9014051B2 (en) 2012-08-30 2015-04-21 Abb Inc. Updating multicast group information of a client device of a wireless mesh network
US9686542B2 (en) * 2012-09-05 2017-06-20 Qualcomm Incorporated Network abstraction layer header design
US9554146B2 (en) * 2012-09-21 2017-01-24 Qualcomm Incorporated Indication and activation of parameter sets for video coding
US9491456B2 (en) * 2012-09-24 2016-11-08 Qualcomm Incorporated Coded picture buffer removal times signaled in picture and sub-picture timing supplemental enhancement information messages
US9241158B2 (en) * 2012-09-24 2016-01-19 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US20150237372A1 (en) * 2012-10-08 2015-08-20 Samsung Electronics Co., Ltd. Method and apparatus for coding multi-layer video and method and apparatus for decoding multi-layer video
US9319703B2 (en) * 2012-10-08 2016-04-19 Qualcomm Incorporated Hypothetical reference decoder parameter syntax structure
US9521393B2 (en) 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
US20140269896A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Multi-Frame Compression
US10003815B2 (en) 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
JP6352317B2 (ja) * 2013-07-14 2018-07-04 シャープ株式会社 復号方法
US10284862B2 (en) 2013-07-14 2019-05-07 Sharp Kabushiki Kaisha Signaling indications and constraints
US20150016547A1 (en) * 2013-07-15 2015-01-15 Sony Corporation Layer based hrd buffer management for scalable hevc
WO2015009676A1 (en) * 2013-07-15 2015-01-22 Sony Corporation Extensions of motion-constrained tile sets sei message for interactivity
CN105580370A (zh) * 2013-10-08 2016-05-11 夏普株式会社 图像解码装置、图像编码装置以及编码数据变换装置
MY178305A (en) * 2013-10-11 2020-10-07 Vid Scale Inc High level syntax for hevc extensions
US10187662B2 (en) * 2013-10-13 2019-01-22 Sharp Kabushiki Kaisha Signaling parameters in video parameter set extension and decoder picture buffer operation
WO2015056179A1 (en) 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding using syntax element
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
US20170171563A1 (en) * 2014-02-24 2017-06-15 Sharp Kabushiki Kaisha Restrictions on signaling
US9866869B2 (en) * 2014-03-17 2018-01-09 Qualcomm Incorporated POC value design for multi-layer video coding
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US10645404B2 (en) 2014-03-24 2020-05-05 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US9794626B2 (en) * 2014-05-01 2017-10-17 Qualcomm Incorporated Partitioning schemes in multi-layer video coding
US20170324981A1 (en) * 2014-06-19 2017-11-09 Sharp Kabushiki Kaisha Method for decoding a video bitstream
US10455242B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding
US9961350B2 (en) * 2015-04-09 2018-05-01 Arris Enterprises Llc Method and apparatus for automatic discovery of elements in a system of encoders
US10200690B2 (en) * 2015-09-22 2019-02-05 Qualcomm Incorporated Video decoder conformance for high dynamic range (HDR) video coding using a core video standard
CN112565792B (zh) * 2015-10-19 2023-07-11 寰发股份有限公司 管理已解码图像缓存器的方法及装置
CN109963176B (zh) 2017-12-26 2021-12-07 中兴通讯股份有限公司 视频码流处理方法、装置、网络设备和可读存储介质
US11321516B2 (en) 2018-01-19 2022-05-03 Qualcomm Incorporated Processing dynamic web content of an ISO BMFF web resource track
WO2020130922A1 (en) 2018-12-20 2020-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Normative indication of recovery point
BR112021016925A2 (pt) * 2019-02-27 2021-11-03 Huawei Tech Co Ltd Codificador, decodificador e métodos correspondentes
AU2020229608B2 (en) * 2019-02-28 2023-09-14 Lg Electronics, Inc. APS signaling-based video or image coding
GB2584295A (en) * 2019-05-28 2020-12-02 Canon Kk Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
US11166033B2 (en) * 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
KR20220019241A (ko) * 2019-07-08 2022-02-16 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
CA3151829A1 (en) * 2019-08-19 2021-02-25 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Usage of access unit delimiters and adaptation parameter sets
WO2021052453A1 (en) * 2019-09-18 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Two-part signaling of adaptive loop filters in video coding
US11375223B2 (en) * 2019-09-20 2022-06-28 Tencent America LLC Method for signaling output layer set with sub-picture
EP4026317A4 (en) * 2019-09-24 2022-11-23 Huawei Technologies Co., Ltd. SCALABLE NESTING OF SEI MESSAGES FOR OLS
JP7400088B2 (ja) * 2019-09-24 2023-12-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Seiメッセージのための時間識別子の制限
KR20220083715A (ko) * 2019-10-29 2022-06-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 루마 차이를 이용한 크로스 컴포넌트 적응적 루프 필터

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS ET AL., VERSATILE VIDEO CODING (DRAFT 6), JPN6023026997, 31 July 2019 (2019-07-31), pages 37 - 413, ISSN: 0005097305 *

Also Published As

Publication number Publication date
CN116744002A (zh) 2023-09-12
CN114467262A (zh) 2022-05-10
CN114845112B (zh) 2023-04-04
CN114978232A (zh) 2022-08-30
US20220217410A1 (en) 2022-07-07
AU2020354368A1 (en) 2022-04-14
CN115002467A (zh) 2022-09-02
CN114979663B (zh) 2023-08-04
BR112022005000A2 (pt) 2022-06-14
CN114450962A (zh) 2022-05-06
CN114979663A (zh) 2022-08-30
CL2022000702A1 (es) 2022-11-18
CN115002467B (zh) 2023-04-04
JP2022549010A (ja) 2022-11-22
US20220217388A1 (en) 2022-07-07
US20220217411A1 (en) 2022-07-07
CA3152357A1 (en) 2021-04-01
CN114845112A (zh) 2022-08-02
KR20220065051A (ko) 2022-05-19
WO2021061496A1 (en) 2021-04-01
KR20220065055A (ko) 2022-05-19
BR112022004873A2 (pt) 2022-06-07
US20220217390A1 (en) 2022-07-07
CL2022000703A1 (es) 2022-11-18
AU2020352914A1 (en) 2022-04-14
BR112022004883A2 (pt) 2022-06-07
KR20220063269A (ko) 2022-05-17
CN114514703A (zh) 2022-05-17
WO2021061493A1 (en) 2021-04-01
CN114968894B (zh) 2023-08-04
JP2024096147A (ja) 2024-07-12
CA3152353A1 (en) 2021-04-01
EP4022778A4 (en) 2022-11-23
WO2021061492A1 (en) 2021-04-01
JP2022548330A (ja) 2022-11-17
US20220217387A1 (en) 2022-07-07
CN114424559A (zh) 2022-04-29
BR112022004862A2 (pt) 2022-06-07
WO2021061494A1 (en) 2021-04-01
AU2020352453A1 (en) 2022-04-21
JP2024028383A (ja) 2024-03-04
EP4035377A4 (en) 2022-11-23
CN114968894A (zh) 2022-08-30
AU2020356300A1 (en) 2022-04-14
US11800130B2 (en) 2023-10-24
EP4022772A1 (en) 2022-07-06
BR122022007954A2 (pt) 2022-07-05
CN114450675A (zh) 2022-05-06
EP4022451A1 (en) 2022-07-06
EP4022778A1 (en) 2022-07-06
KR20220065054A (ko) 2022-05-19
MX2022003547A (es) 2022-05-30
KR20220062657A (ko) 2022-05-17
JP2022550320A (ja) 2022-12-01
JP7400088B2 (ja) 2023-12-18
EP4022777A4 (en) 2022-11-23
JP7416921B2 (ja) 2024-01-17
EP4022777A1 (en) 2022-07-06
CN114978232B (zh) 2023-04-04
EP4022451A4 (en) 2022-11-23
JP2024023566A (ja) 2024-02-21
JP2022548405A (ja) 2022-11-18
BR112022005394A2 (pt) 2022-06-21
EP4035377A1 (en) 2022-08-03
EP4022772A4 (en) 2022-11-23
AU2020354926A1 (en) 2022-04-07
US20230269389A1 (en) 2023-08-24
MX2022003548A (es) 2022-06-02
WO2021061495A1 (en) 2021-04-01
JP2024074856A (ja) 2024-05-31

Similar Documents

Publication Publication Date Title
JP7416921B2 (ja) 解像度変更のためのデコードされたピクチャバッファ動作
JP2022550713A (ja) レイヤベースの適合性試験のためのhrdパラメータ
KR20220065046A (ko) Ols에 대한 스케일러블 네스팅 sei 메시지들
KR20220063278A (ko) 모든 계층에 대한 스케일러블 네스팅 sei 메시지

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220502

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240104

R150 Certificate of patent or registration of utility model

Ref document number: 7416921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150