JP2021534668A - ビデオコーディングにおける参照ピクチャの管理 - Google Patents

ビデオコーディングにおける参照ピクチャの管理 Download PDF

Info

Publication number
JP2021534668A
JP2021534668A JP2021507884A JP2021507884A JP2021534668A JP 2021534668 A JP2021534668 A JP 2021534668A JP 2021507884 A JP2021507884 A JP 2021507884A JP 2021507884 A JP2021507884 A JP 2021507884A JP 2021534668 A JP2021534668 A JP 2021534668A
Authority
JP
Japan
Prior art keywords
picture
reference picture
refpiclist
list
picture list
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
JP2021507884A
Other languages
English (en)
Other versions
JP7547319B2 (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 JP2021534668A publication Critical patent/JP2021534668A/ja
Priority to JP2023068781A priority Critical patent/JP2023095886A/ja
Priority to JP2023068782A priority patent/JP2023095887A/ja
Application granted granted Critical
Publication of JP7547319B2 publication Critical patent/JP7547319B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/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/176Methods 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 block, e.g. a macroblock
    • 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/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
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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
    • 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
    • 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

コーディングされたビデオビットストリームを復号する方法が提供される。方法は、コーディングされたビデオビットストリーム内に示されたパラメータセットを解析するステップを含む。パラメータセットは、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む。また、方法は、コーディングされたビデオビットストリーム内に示された現在のスライスのスライスヘッダを解析するステップを含む。スライスヘッダは、パラメータセット内の参照ピクチャリスト構造のセットのうちの参照ピクチャリスト構造のインデックスを含む。方法は、パラメータセット内のシンタックス要素のセットおよび参照ピクチャリスト構造のインデックスに基づいて現在のスライスの参照ピクチャリストを導出するステップをさらに含む。また、方法は、参照ピクチャリストに基づいて現在のスライスの少なくとも1つの再構築されたブロックを取得するステップを含む。

Description

関連出願の相互参照
本出願は、2018年8月17日に出願された、Ye-Kui Wangらによる、「Reference Picture Management in Video Coding」と題した米国特許仮出願第62/719,360号の利益を主張するものであり、この仮出願は、参照により本明細書に組み込まれる。
本開示は、概して、ビデオコーディングにおける参照ピクチャの管理のための技術に関する。より詳細には、本開示は、参照ピクチャリストの構築および参照ピクチャのマーキングのための技術を説明する。
比較的短いビデオでさえも描くために必要とされるビデオデータの量はかなり多くなり得、それが、データが限られた帯域幅の容量を有する通信ネットワークを介してストリーミングされるかまたはそれ以外の方法で伝達されるべきであるときに困難をもたらす可能性がある。したがって、ビデオデータは、概して、現代の通信ネットワークを介して伝達される前に圧縮される。メモリリソースも限られている可能性があるので、ビデオがストレージデバイスに記憶されるとき、ビデオのサイズも問題となり得る。多くの場合、ビデオ圧縮デバイスは、送信または記憶の前にビデオデータをコーディングするために送信元においてソフトウェアおよび/またはハードウェアを使用し、それによって、デジタルビデオ画像を表現するために必要とされるデータの量を削減する。そして、圧縮されたデータが、ビデオデータを復号するビデオ解凍デバイスによって送信先において受信される。限られたネットワークリソースおよびより高いビデオ品質のますます増加する需要によって、画像品質をほとんどまたはまったく犠牲にせずに圧縮比を高める改善された圧縮および解凍技術が、望ましい。
第1の態様は、コーディングされたビデオビットストリームを復号する方法に関する。方法は、コーディングされたビデオビットストリーム内に示されたパラメータセットを解析するステップであって、パラメータセットが、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む、ステップと、コーディングされたビデオビットストリーム内に示された現在のスライスのスライスヘッダを解析するステップであって、スライスヘッダが、パラメータセット内の参照ピクチャリスト構造のセットのうちの参照ピクチャリスト構造のインデックスを含む、ステップと、パラメータセット内のシンタックス要素のセットおよび参照ピクチャリスト構造のインデックスに基づいて現在のスライスの参照ピクチャリストを導出するステップと、参照ピクチャリストに基づいて現在のスライスの少なくとも1つの再構築されたブロックを取得するステップとを含む。
方法は、参照ピクチャリストのシグナリングを簡単にし、より効率的にする技術を提供する。したがって、コーディングプロセス全体が、改善される。
第1の態様それ自体による方法の第1の実装形態において、参照ピクチャリスト構造のエントリの順序は、参照ピクチャリスト内の対応する参照ピクチャの順序と同じである。
第1の態様それ自体による方法の第2の実装形態または第1の態様の任意の前述の実装形態において、順序は、ゼロから、示された値までである。
第1の態様それ自体による方法の第3の実装形態または第1の態様の任意の前述の実装形態において、示された値は、ゼロから、sps_max_dec_pic_buffering_minus1によって示される値までである。
第1の態様それ自体による方法の第4の実装形態または第1の態様の任意の前述の実装形態において、参照ピクチャリストは、指定されたRefPictList[0]である。
第1の態様それ自体による方法の第5の実装形態または第1の態様の任意の前述の実装形態において、参照ピクチャリストは、指定されたRefPictList[1]である。
第1の態様それ自体による方法の第6の実装形態または第1の態様の任意の前述の実装形態において、少なくとも1つの再構築されたブロックは、電子デバイスのディスプレイ上に表示される画像を生成するために使用される。
第1の態様それ自体による方法の第7の実装形態または第1の態様の任意の前述の実装形態において、参照ピクチャリストは、インター予測のために使用される参照ピクチャのリストを含む。
第1の態様それ自体による方法の第8の実装形態または第1の態様の任意の前述の実装形態において、インター予測は、PスライスのためまたはBスライスのためのものである。
第1の態様それ自体による方法の第9の実装形態または第1の態様の任意の前述の実装形態において、パラメータセットは、シーケンスパラメータセット(SPS: sequence parameter set)を含む。
第1の態様それ自体による方法の第10の実装形態または第1の態様の任意の前述の実装形態において、パラメータセットからのシンタックス要素のセットは、ネットワーク抽象化レイヤ(NAL)ユニットの未加工バイトシーケンスペイロード(RBSP: Raw Byte Sequence Payload)に配置される。
第1の態様それ自体による方法の第11の実装形態または第1の態様の任意の前述の実装形態において、参照ピクチャリストは、指定されたRefPictList[0]またはRefPictList[1]であり、参照ピクチャリスト構造のエントリの順序は、参照ピクチャリスト内の対応する参照ピクチャの順序と同じである。
第1の態様それ自体による方法の第12の実装形態または第1の態様の任意の前述の実装形態において、方法は、コーディングされたビデオビットストリーム内に示されたパラメータセットを解析するステップであって、パラメータセットが、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む、ステップと、コーディングされたビデオビットストリーム内に示された参照ピクチャリスト構造を取得するステップと、参照ピクチャリスト構造に基づいて現在のスライスの第1の参照ピクチャリストを導出するステップであって、第1の参照ピクチャリストが、少なくとも1つのアクティブなエントリおよび少なくとも1つの非アクティブなエントリを含み、少なくとも1つの非アクティブなエントリが、現在のスライスのインター予測のために使用されないが、第2の参照ピクチャリストのアクティブなエントリによって参照される参照ピクチャを参照し、第2の参照ピクチャリストが、復号の順序で現在のスライスの後に続くスライスの参照ピクチャリストまたは復号の順序で現在のピクチャの後に続くピクチャの参照ピクチャリストである、ステップと、第1の参照ピクチャリストの少なくとも1つのアクティブなエントリに基づいて現在のスライスの少なくとも1つの再構築されたブロックを取得するステップとをさらに含む。
第2の態様は、復号デバイスに関し、復号デバイスは、コーディングされたビデオビットストリームを受信するように構成された受信機と、受信機に接続されたメモリであって、命令を記憶するメモリと、メモリに接続されたプロセッサであって、メモリに記憶された命令を実行するように構成されたプロセッサとを含み、命令は、コーディングされたビデオビットストリーム内に示されたパラメータセットを解析することであって、パラメータセットが、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む、ことと、コーディングされたビデオビットストリーム内に示された現在のスライスのスライスヘッダを解析することであって、スライスヘッダが、パラメータセット内の参照ピクチャリスト構造のセットのうちの参照ピクチャリスト構造のインデックスを含む、ことと、パラメータセット内のシンタックス要素のセットおよび参照ピクチャリスト構造のインデックスに基づいて現在のスライスの参照ピクチャリストを導出することと、参照ピクチャリストに基づいて現在のスライスの少なくとも1つの再構築されたブロックを取得することとをプロセッサに行わせる。
復号デバイスは、参照ピクチャリストのシグナリングを簡単にし、より効率的にする技術を提供する。したがって、コーディングプロセス全体が、改善される。
第2の態様それ自体による復号デバイスの第1の実装形態において、復号デバイスは、少なくとも1つの再構築されたブロックに基づいて生成された現在のピクチャを表示するように構成されたディスプレイをさらに含む。
第3の態様は、コーディング装置に関し、コーディング装置は、復号するビットストリームを受信するように構成された受信機と、受信機に接続された送信機であって、復号された画像をディスプレイに送信するように構成された送信機と、受信機または送信機のうちの少なくとも一方に接続されたメモリであって、命令を記憶するように構成されたメモリと、メモリに接続されたプロセッサであって、メモリに記憶された命令を実行して、前述の態様または実装のいずれかに記載の方法を実行するように構成されたプロセッサとを含む。
第4の態様は、エンコーダと、エンコーダと通信するデコーダとを含むシステムに関する。エンコーダまたはデコーダは、前述の態様または実装のいずれかの復号デバイスまたはコーディング装置を含む。
システムは、参照ピクチャリストのシグナリングを簡単にし、より効率的にする技術を提供する。したがって、コーディングプロセス全体が、改善される。
第5の態様は、コーディングのための手段に関し、コーディングのための手段は、符号化するピクチャを受信するかまたは復号するビットストリームを受信するように構成された受信手段と、受信手段に接続された送信手段であって、ビットストリームをデコーダに送信するかまたは復号された画像を表示手段に送信するように構成された送信手段と、受信手段または送信手段のうちの少なくとも一方に接続された記憶手段であって、命令を記憶するように構成された記憶手段と、記憶手段に接続された処理手段であって、記憶手段に記憶された命令を実行して、前述の態様または実装のいずれかに記載の方法を実行するように構成された処理手段とを含む。
コーディングのための手段は、参照ピクチャリストのシグナリングを簡単にし、より効率的にする技術を提供する。したがって、コーディングプロセス全体が、改善される。
本開示をより完全に理解するために、同様の参照番号が同様の部分を表す添付の図面および詳細な説明に関連して解釈される以下の簡単な説明がここで参照される。
双方向予測技術を利用する可能性がある例示的なコーディングシステムを示すブロック図である。 双方向予測技術を実装する可能性がある例示的なビデオエンコーダを示すブロック図である。 双方向予測技術を実装する可能性があるビデオデコーダの例を示すブロック図である。 ピクチャを有する参照ピクチャセット(RPS)をRPSのすべてのサブセットのエントリとともに示す概略図である。 コーディングされたビデオビットストリームを復号する方法の実施形態の図である。 ビデオコーディングデバイスの概略図である。 コーディングのための手段の実施形態の概略図である。
図1は、本明細書において説明されるようにビデオコーディング技術を利用する可能性がある例示的なコーディングシステム10を示すブロック図である。図1に示されるように、コーディングシステム10は、送信先デバイス14によって後で復号される符号化されたビデオデータを提供する送信元デバイス12を含む。特に、送信元デバイス12は、コンピュータ可読媒体16を介して送信先デバイス14にビデオデータを提供する可能性がある。送信先デバイス12および送信先デバイス14は、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレイヤー、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む幅広いデバイスのいずれかを含む可能性がある。場合によっては、送信元デバイス12および送信先デバイス14は、ワイヤレス通信に対応している可能性がある。
送信先デバイス14は、コンピュータ可読媒体16を介して復号される符号化されたビデオデータを受信する可能性がある。コンピュータ可読媒体16は、送信元デバイス12から送信先デバイス14に符号化されたビデオデータを移動させることができる任意の種類の媒体またはデバイスを含む可能性がある。一例において、コンピュータ可読媒体16は、送信元デバイス12が符号化されたビデオデータを送信先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を含む可能性がある。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、送信先デバイス14に送信される可能性がある。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理的な送信回線などの任意のワイヤレスまたは有線通信媒体を含む可能性がある。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットなどのグローバルネットワークなどのパケットに基づくネットワークの一部を形成する可能性がある。通信媒体は、送信元デバイス12から送信先デバイス14への通信を容易にするのに役立つ可能性があるルータ、スイッチ、基地局、または任意のその他の機器を含む可能性がある。
一部の例において、符号化されたデータは、出力インターフェース22からストレージデバイスに出力される可能性がある。同様に、符号化されたデータは、入力インターフェースによってストレージデバイスからアクセスされる可能性がある。ストレージデバイスは、ハードドライブ、ブルーレイディスク、デジタルビデオディスク(DVD)、コンパクトディスク読み出し専用メモリ(CD-ROM)、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意のその他の好適なデジタルストレージ媒体などの様々な分散されたまたはローカルでアクセスされるデータストレージ媒体のいずれかを含む可能性がある。さらなる例において、ストレージデバイスは、送信元デバイス12によって生成された符号化されたビデオを記憶する可能性があるファイルサーバまたは別の中間ストレージデバイスに対応する可能性がある。送信先デバイス14は、ストリーミングまたはダウンロードによってストレージデバイスからの記憶されたビデオデータにアクセスする可能性がある。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを送信先デバイス14に送信することができる任意の種類のサーバである可能性がある。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。送信先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスする可能性がある。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、デジタル加入者線(DSL)、ケーブルモデムなど)、またはこれら両方の組合せを含む可能性がある。ストレージデバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはこれらの組合せである可能性がある。
本開示の技術は、ワイヤレスアプリケーションまたは設定に必ずしも限定されない。技術は、電波テレビ放送、ケーブルテレビ送信、衛星テレビ送信、HTTPを介した動的適応ストリーミング(DASH: dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データストレージ媒体に符号化されるデジタルビデオ、データストレージ媒体に記憶されたデジタルビデオの復号、またはその他のアプリケーションなどの様々なマルチメディアアプリケーションのいずれかを支援してビデオコーディングに適用される可能性がある。一部の例において、コーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオのブロードキャスト、および/またはテレビ電話などのアプリケーションをサポートするために片方向または双方向のビデオ送信をサポートするように構成される可能性がある。
図1の例において、送信元デバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。送信先デバイス14は、入力インターフェース28、ビデオデコーダ30、およびディスプレイデバイス32を含む。本開示によれば、送信元デバイス12のビデオエンコーダ20および/または送信先デバイス14のビデオデコーダ30は、ビデオコーディングのための技術を適用するように構成される可能性がある。その他の例において、送信元デバイスおよび送信先デバイスは、その他の構成要素または構成を含む可能性がある。たとえば、送信元デバイス12は、外部カメラなどの外部ビデオソースからビデオデータを受信する可能性がある。同様に、送信先デバイス14は、一体化されたディスプレイデバイスを含むのではなく外部ディスプレイデバイスとインターフェースをとる可能性がある。
図1の示されたコーディングシステム10は、一例であるに過ぎない。ビデオコーディングのための技術が、任意のデジタルビデオ符号化および/または復号デバイスによって実行される可能性がある。本開示の技術は概してビデオコーディングデバイスによって実行されるが、技術は、通常「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行される可能性もある。さらに、本開示の技術は、ビデオプリプロセッサによって実行される可能性もある。ビデオエンコーダおよび/またはデコーダは、グラフィックス処理ユニット(GPU)または同様のデバイスである可能性がある。
送信元デバイス12および送信先デバイス14は、そのようなコーディングデバイスの例に過ぎず、送信元デバイス12が、送信先デバイス14に送信するためのコーディングされたビデオデータを生成する。一部の例において、送信元デバイス12および送信先デバイス14は、送信元および送信先デバイス12、14の各々がビデオ符号化および復号構成要素を含むような実質的に対称的な方法で動作する可能性がある。したがって、コーディングシステム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオのブロードキャスト、またはテレビ電話のためにビデオデバイス12、14の間の片方向または双方向のビデオ送信をサポートする可能性がある。
送信元デバイス12のビデオソース18は、ビデオカメラなどのビデオ撮影デバイス、前に撮影されたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含む可能性がある。さらなる代替として、ビデオソース18は、コンピュータグラフィックスに基づくデータをソースビデオとして生成するか、またはライブビデオと、アーカイブされたビデオと、コンピュータによって生成されたビデオとの組合せを生成する可能性がある。
場合によっては、ビデオソース18がビデオカメラであるとき、送信元デバイス12および送信先デバイス14は、いわゆるカメラ付き電話またはビデオ付き電話を形成する可能性がある。しかし、上述のように、本開示において説明される技術は、概してビデオコーディングに適用可能である可能性があり、ワイヤレスおよび/または有線アプリケーションに適用される可能性がある。それぞれの場合において、撮影された、事前に撮影された、またはコンピュータによって生成されたビデオが、ビデオエンコーダ20によって符号化される可能性がある。そして、符号化されたビデオ情報が、出力インターフェース22によってコンピュータ可読媒体16に出力される可能性がある。
コンピュータ可読媒体16は、ワイヤレス放送もしくは有線ネットワーク送信などの一過性の媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、もしくはその他のコンピュータ可読媒体などのストレージ媒体(すなわち、非一時的ストレージ媒体)を含む可能性がある。一部の例においては、ネットワークサーバ(図示せず)が、たとえば、ネットワーク送信によって送信元デバイス12から符号化されたビデオデータを受信し、送信先デバイス14に符号化されたビデオデータを提供する可能性がある。同様に、ディスクスタンピング(disc stamping)施設などの媒体製造施設のコンピューティングデバイスが、送信元デバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを含むディスクを製造する可能性がある。したがって、コンピュータ可読媒体16は、様々な例において様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解される可能性がある。
送信先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されたシンタックス情報を含む可能性があり、シンタックス情報は、ブロックおよびその他のコーディングされる単位、たとえば、ピクチャのグループ(GOP: group of pictures)の特徴および/または処理を記述するシンタックス要素を含む。ディスプレイデバイス32は、ユーザに対して復号されたビデオデータを表示し、ブラウン管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別の種類のディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを含む可能性がある。
ビデオエンコーダ20およびビデオデコーダ30は、現在開発されている高効率ビデオコーディング(HEVC: High Efficiency Video Coding)規格などのビデオコーディング規格に従って動作する可能性があり、HEVCテストモデル(HM: HEVC Test Model)に準拠する可能性がある。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、動画専門家グループ(MPEG: Moving Picture Expert Group)-4、パート10、高度ビデオコーディング(AVC: Advanced Video Coding)とも呼ばれる国際電気通信連合電気通信標準化セクタ(ITU-T)H.264規格、H.265/HEVC、またはそのような規格の拡張などのその他の独自仕様の規格または業界標準に従って動作する可能性がある。しかし、本開示の技術は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格のその他の例は、MPEG-2およびITU-T H.263を含む。図1に示されていないが、一部の態様において、ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、オーディオエンコーダおよびデコーダと統合される可能性があり、共通のデータストリームまたは別々のデータストリーム内の音声とビデオとの両方の符号化を扱うための適切なマルチプレクサ-デマルチプレクサ(MUX-DEMUX)ユニットまたはその他のハードウェアおよびソフトウェアを含む可能性がある。妥当な場合、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコルまたはユーザデータグラムプロトコル(UDP)などのその他のプロトコルに準拠する可能性がある。
ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せなどの様々な好適なエンコーダ回路のいずれかとして実装される可能性がある。技術が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技術を実行するために1つまたは複数のプロセッサを使用するハードウェアにおいて命令を実行する可能性がある。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれる可能性があり、それらのエンコーダまたはデコーダのどちらかが、それぞれのデバイスにおいて組み合わされたエンコーダ/デコーダ(コーデック)の一部として統合される可能性がある。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラ電話などのワイヤレス通信デバイスを含む可能性がある。
図2は、ビデオコーディング技術を実装する可能性があるビデオエンコーダ20の例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラおよびインターコーディングを実行する可能性がある。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を減らすかまたは取り除くために空間予測に依拠する。インターコーディングは、ビデオシーケンスの近くのフレームまたはピクチャ内のビデオの時間的冗長性を減らすかまたは取り除くために時間予測に依拠する。イントラモード(Iモード)は、いくつかの空間に基づくコーディングモードのいずれかを指す可能性がある。単方向(別名、単予測(uni prediction))予測(Pモード)または双予測(bi-prediction)(別名、双予測(bi prediction))(Bモード)などのインターモードは、いくつかの時間に基づくコーディングモードのいずれかを指す可能性がある。
図2に示されるように、ビデオエンコーダ20は、符号化されるビデオフレーム内の現在のビデオブロックを受信する。図2の例において、ビデオエンコーダ20は、モード選択ユニット40、参照フレームメモリ64、加算器(summer)50、変換処理ユニット52、量子化ユニット54、およびエントロピーコーディングユニット56を含む。さらに、モード選択ユニット40は、動き補償ユニット44、動き推定ユニット42、イントラ予測(intra-prediction)(別名、イントラ予測(intra prediction))ユニット46、および区分けユニット48を含む。ビデオブロックの再構築のために、ビデオエンコーダ20は、逆量子化ユニット58、逆変換ユニット60、および加算器62も含む。デブロッキングフィルタ(図2に示さず)も、ブロックの境界をフィルタリングして、再構築されたビデオからブロッキネスアーチファクトを取り除くために含まれる可能性がある。必要に応じて、デブロッキングフィルタは、概して、加算器62の出力をフィルタリングする。(ループ内またはループの後の)さらなるフィルタも、デブロッキングフィルタに加えて使用される可能性がある。そのようなフィルタは、簡潔にするために示されないが、必要に応じて、(ループ内フィルタとして)加算器50の出力をフィルタリングする可能性がある。
符号化プロセス中に、ビデオエンコーダ20は、コーディングされるビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割される可能性がある。動き推定ユニット42および動き補償ユニット44は、時間予測を提供するために1つまたは複数の参照フレーム内の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、代替的に、空間予測を提供するためにコーディングされるブロックと同じフレームまたはスライス内の1つまたは複数の近隣のブロックに対する受信されたビデオブロックのイントラ予測コーディングを実行する可能性がある。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに関する適切なコーディングモードを選択するために複数のコーディングパス(coding pass)を実行する可能性がある。
さらに、区分けユニット48は、前のコーディングパスにおける前の区分け方式の評価に基づいてビデオデータのブロックを下位ブロックに区分けする可能性がある。たとえば、区分けユニット48は、最初に、フレームまたはスライスを最大コーディングユニット(LCU)に区分けする可能性があり、レート歪み分析(たとえば、レート歪み最適化)に基づいてLCUの各々を下位コーディングユニット(下位CU)に区分けする可能性がある。モード選択ユニット40は、さらに、下位CUへのLCUの区分けを示す四分木データ構造を生成する可能性がある。四分木の葉ノードCUは、1つまたは複数の予測ユニット(PU)および1つまたは複数の変換ユニット(TU)を含む可能性がある。
本開示は、HEVCの文脈でCU、PU、もしくはTUのいずれかを指すため、またはその他の規格の文脈で同様のデータ構造(たとえば、H.264/AVCのマクロブロックおよびその下位ブロック)を指すために用語「ブロック」を使用する。CUは、コーディングノード、PU、およびコーディングノードに関連するTUを含む。CUのサイズは、コーディングノードのサイズに対応し、正方形の形状である。CUのサイズは、8×8ピクセルから最大64×64ピクセル以上のツリーブロックのサイズまでの範囲である可能性がある。各CUは、1つまたは複数のPUおよび1つまたは複数のTUを含む可能性がある。CUに関連するシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分けを記述する可能性がある。区分けモードは、CUがスキップもしくはダイレクトモード(skip or direct mode)符号化されるのか、イントラ予測モード符号化されるのか、またはインター予測(inter-prediction)(別名、インター予測(inter prediction))モード符号化されるのかの間で異なる可能性がある。PUは、正方形でない形状になるように区分けされる可能性がある。CUに関連するシンタックスデータは、たとえば、四分木による1つまたは複数のTUへのCUの区分けを記述する可能性もある。TUは、正方形であるかまたは正方形でない(たとえば、長方形)形状であることが可能である。
モード選択ユニット40は、たとえば、誤差の結果(error result)に基づいてコーディングモード、イントラまたはインターのうちの1を選択する可能性があり、結果として得られるイントラまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に提供し、参照フレームとして使用するために符号化ブロックを再構築するために加算器62に提供する。また、モード選択ユニット40は、動きベクトル、イントラモードインジケータ、区分け情報、およびその他のそのようなシンタックス情報などのシンタックス要素をエントロピーコーディングユニット56に提供する。
動き推定ユニット42および動き補償ユニット44は、高度に一体化される可能性があるが、概念的な目的のために別々に示される。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(またはその他のコーディングされる単位)内のコーディングされている現在のブロックに関連する参照フレーム(またはその他のコーディングされる単位)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示す可能性がある。予測ブロックは、差分絶対値和(SAD)、差分二乗和(SSD)、またはその他の差の測定基準によって決定される可能性があるピクセルの差の観点でコーディングされるブロックとよく一致することが判明しているブロックである。一部の例において、ビデオエンコーダ20は、参照フレームメモリ64に記憶された参照ピクチャの整数よりも細かいピクセル位置の値を計算する可能性がある。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、またはその他の分数ピクセル(fractional pixel)位置の値を補間する可能性がある。したがって、動き推定ユニット42は、フルピクセル(full pixel)位置および分数ピクセル位置に関連する動き探索を実行し、分数ピクセルの精度で動きベクトルを出力する可能性がある。
動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによってインターコーディングされるスライス内のビデオブロックのPUに関する動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(List 0)または第2の参照ピクチャリスト(List 1)から選択される可能性があり、それらの参照ピクチャリストの各々は、参照フレームメモリ64に記憶された1つまたは複数の参照ピクチャを特定する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56および動き補償ユニット44に送信する。
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックを取り出すことまたは生成することを含む可能性がある。やはり、動き推定ユニット42および動き補償ユニット44は、一部の例において、機能的に統合される可能性がある。現在のビデオブロックのPUに関する動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックを見つける可能性がある。加算器50は、以下で検討されるように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を引くことによって残差ビデオブロックを形成し、ピクセル差分値を形成する。概して、動き推定ユニット42は、ルーマ成分に関連する動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分との両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40は、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するためのビデオブロックおよびビデオスライスに関連するシンタックス要素も生成する可能性がある。
イントラ予測ユニットは、上述のように動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として現在のブロックをインター予測する可能性がある。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定する可能性がある。一部の例において、イントラ予測ユニット46は、たとえば、別々の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化する可能性があり、イントラ予測ユニット46(または一部の例においてはモード選択ユニット40)は、テストされたモードから使用する適切なイントラ予測モードを選択する可能性がある。
たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに関するレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択する可能性がある。レート歪み分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(または誤差)の量と、符号化されたブロックを生成するために使用されたビットレート(すなわち、ビット数)とを決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックに関して最良のレート歪み値を示すかを判定するために、様々な符号化されたブロックに関する歪みおよびレートから比率を計算する可能性がある。
さらに、イントラ予測ユニット46は、深度モデリングモード(DMM: depth modeling mode)を使用して深度マップの深度ブロックをコーディングするように構成される可能性がある。モード選択ユニット40は、たとえば、レート歪み最適化(RDO)を使用して、利用可能なDMMモードがイントラ予測モードおよびその他のDMMモードよりも良いコーディングの結果を生じるかどうかを判定する可能性がある。深度マップに対応するテクスチャ画像に関するデータが、参照フレームメモリ64に記憶される可能性がある。動き推定ユニット42および動き補償ユニット44は、深度マップの深度ブロックをインター予測するように構成される可能性もある。
ブロックに関するイントラ予測モード(たとえば、通常のイントラ予測モードまたはDMMモードのうちの1つ)を選択した後、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピーコーディングユニット56に提供する可能性がある。エントロピーコーディングユニット56は、選択されたイントラ予測モードを示す情報を符号化する可能性がある。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含む可能性がある送信ビットストリーム構成データに、様々なブロックに関する符号化コンテキストの定義、ならびにコンテキストの各々のために使用する最も可能性が高いイントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルのインジケーションを含める可能性がある。
ビデオエンコーダ20は、コーディングされている元のビデオブロックからモード選択ユニット40からの予測データを引くことによって残差ビデオブロックを形成する。加算器50は、この減算を実行する1つの構成要素または複数の構成要素を表す。
変換処理ユニット52は、残差ブロックに離散コサイン変換(DCT)または似た概念の変換などの変換を適用し、残差変換係数値を含むビデオブロックを生成する。変換処理ユニット52は、DCTと似た概念のその他の変換を実行する可能性がある。ウェーブレット変換、整数変換、サブバンド変換、またはその他の種類の変換も、使用される可能性がある。
変換処理ユニット52は、残差ブロックに変換を適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換する可能性がある。変換処理ユニット52は、結果として得られる変換係数を量子化ユニット54に送信する可能性がある。量子化ユニット54は、ビットレートをさらに削減するために変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を削減する可能性がある。量子化の度合いは、量子化パラメータを調整することによって修正される可能性がある。一部の例において、量子化ユニット54は、それから、量子化された変換係数を含む行列のスキャン(scan)を実行する可能性がある。代替的に、エントロピー符号化ユニット56が、スキャンを実行する可能性がある。
量子化の後、エントロピーコーディングユニット56は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット56は、コンテキスト適応可変長コーディング(CAVLC: context adaptive variable length coding)、コンテキスト適応2値算術コーディング(CABAC: context adaptive binary arithmetic coding)、シンタックスに基づくコンテキスト適応2値算術コーディング(SBAC: syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE: probability interval partitioning entropy) コーディング、または別のエントロピーコーディング技術を実行する可能性がある。コンテキストに基づくエントロピーコーディングの場合、コンテキストは、近隣のブロックに基づく可能性がある。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化されたビットストリームが、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後で送信するかもしくは取り出すためにアーカイブされる可能性がある。
逆量子化ユニット58および逆変換ユニット60は、たとえば、参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構築するために逆量子化および逆変換をそれぞれ適用する。動き補償ユニット44は、参照フレームメモリ64のフレームのうちの1つの予測ブロックに残差ブロックを足すことによって参照ブロックを計算する可能性がある。動き補償ユニット44は、動き推定において使用するための整数よりも細かいピクセル値を計算するために再構築された残差ブロックに1つまたは複数の補間フィルタを適用する可能性もある。加算器62は、動き補償ユニット44によって生成された動き補償された予測ブロックに再構築された残差ブロックを足して、参照フレームメモリ64に記憶するための再構築されたビデオブロックを生成する。再構築されたビデオブロックは、後続のビデオフレームのブロックをインターコーディングするための参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用される可能性がある。
図3は、ビデオコーディング技術を実装する可能性があるビデオデコーダ30の例を示すブロック図である。図3の例において、ビデオデコーダ30は、エントロピー復号ユニット70、動き補償ユニット72、イントラ予測ユニット74、逆量子化ユニット76、逆変換ユニット78、参照フレームメモリ82、および加算器80を含む。ビデオデコーダ30は、一部の例において、ビデオエンコーダ20(図2)に関連して説明された符号化パスと概して逆である復号パスを実行する可能性がある。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成する可能性があり、一方、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成する可能性がある。
復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から符号化されたビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、ビットストリームをエントロピー復号して、量子化された係数、動きベクトルまたはイントラ予測モードインジケータ、およびその他のシンタックス要素を生成する。エントロピー復号ユニット70は、動きベクトルおよびその他のシンタックス要素を動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスのレベルおよび/またはビデオブロックのレベルでシンタックス要素を受信する可能性がある。
ビデオスライスがイントラコーディングされる(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードおよび現在のフレームまたはピクチャの既に復号されたブロックからのデータに基づいて現在のビデオスライスのビデオブロックに関する予測データを生成する可能性がある。ビデオフレームがインターコーディングされる(たとえば、B、P、またはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルおよびその他のシンタックス要素に基づいて現在のビデオスライスのビデオブロックに関する予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成される可能性がある。ビデオデコーダ30は、参照フレームメモリ82に記憶された参照ピクチャに基づいてデフォルトの構築技術を使用して参照フレームリストList 0およびList 1を構築する可能性がある。
動き補償ユニット72は、動きベクトルおよびその他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックに関する予測ブロックを生成する。たとえば、動き補償ユニット72は、受信されたシンタックス要素の一部を使用して、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラまたはインター予測)、インター予測のスライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスのための参照ピクチャリストのうちの1つまたは複数に関する構築情報、スライスのそれぞれのインター符号化されたビデオブロックに関する動きベクトル、スライスのそれぞれのインターコーディングされたビデオブロックに関するインター予測のステータス、および現在のビデオスライス内のビデオブロックを復号するためのその他の情報を決定する。
動き補償ユニット72は、補間フィルタに基づいて補間を実行する可能性もある。動き補償ユニット72は、参照ブロックの整数よりも細かいピクセルに関する補間された値を計算するためにビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用する可能性がある。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成する可能性がある。
深度マップに対応するテクスチャ画像に関するデータが、参照フレームメモリ82に記憶される可能性がある。動き補償ユニット72は、深度マップの深度ブロックをインター予測するように構成される可能性もある。
画像およびビデオ圧縮は、急速な成長を遂げ、様々なコーディング規格をもたらした。そのようなビデオコーディング規格は、ITU-T H.261、ISO/IEC動画専門家グループ(MPEG)-1パート2、ITU-T H.262または国際標準化機構(ISO)/国際電気標準会議(IEC)MPEG-2パート2、ITU-T H.263、ISO/IEC MPEG-4パート2、ITU-T H.264またはISO/IEC MPEG-4パート10としても知られる高度ビデオコーディング(AVC)、およびITU-T H.265またはMPEG-Hパート2としても知られる高効率ビデオコーディング(HEVC)を含む。AVCは、スケーラブルビデオコーディング(SVC: Scalable Video Coding)、多視点ビデオコーディング(MVC: Multiview Video Coding)および多視点ビデオコーディングプラス深度(MVC+D: Multiview Video Coding plus Depth)、ならびに3D AVC(3D-AVC)などの拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、多視点HEVC(MV-HEVC)、および3D HEVC(3D-HEVC)などの拡張を含む。
多目的ビデオコーディング(VVC: Versatile Video Coding)は、ITU-TおよびISO/IECの合同ビデオ専門家チーム(JVET: joint video experts team)によって開発されている新しいビデオコーディング規格である。本明細書の執筆時点で、VVCの最新の作業草案(WD)は、JVET-K1001-v1に含まれている。JVETの文書JVET-K0325-v3は、VVCの高レベルのシンタックスの改訂を含む。
概して、本開示は、開発中のVVC規格に基づく技術を説明する。しかし、技術は、その他のビデオ/メディアコーデックの仕様にも適合する。
ビデオ圧縮技術は、空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行してビデオシーケンスに固有の冗長性を減らすかまたは取り除く。ブロックに基づくビデオコーディングのために、ビデオスライス(たとえば、ビデオピクチャまたはビデオピクチャの一部)が、ビデオブロックに区分けされる可能性があり、ビデオブロックは、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、および/またはコーディングノードとも呼ばれる可能性がある。ピクチャのイントラコーディングされる(I)スライス内のビデオブロックは、同じピクチャ内の近隣のブロック内の参照サンプルに関連する空間予測を使用して符号化される。ピクチャのインターコーディングされる(PまたはB)スライス内のビデオブロックは、同じピクチャ内の近隣のブロック内の参照サンプルに関連する空間予測またはその他の参照ピクチャ内の参照サンプルに関連する時間予測を使用する可能性がある。ピクチャは、フレームと呼ばれる可能性があり、参照ピクチャは、参照フレームと呼ばれる可能性がある。
空間または時間予測は、コーディングされるブロックに関する予測ブロックをもたらす。残差データは、コーディングされる元のブロックと予測ブロックとの間のピクセルの差を表す。インターコーディングされるブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コーディングされるブロックと予測ブロックとの間の差を示す残差データとによって符号化される。イントラコーディングされるブロックは、イントラコーディングモードおよび残差データによって符号化される。さらなる圧縮のために、残差データが、ピクセル領域から変換領域に変換される可能性があり、残差変換係数をもたらし、そして、残差変換係数が、量子化される可能性がある。最初に2次元配列に配列された量子化された変換係数は、変換係数の1次元ベクトルを生成するためにスキャンされる可能性があり、エントロピーコーディングが、さらなる圧縮を実現するために適用される可能性がある。
ビデオコーデック仕様において、ピクチャは、インター予測における参照ピクチャとして使用するため、復号ピクチャバッファ(DPB: decoded picture buffer)からのピクチャの出力のため、動きベクトルのスケーリングのため、重み付けされた予測のためなど、複数の目的のために特定される。AVCおよびHEVCにおいて、ピクチャは、ピクチャ順序カウント(POC: picture order count)によって特定され得る。AVCおよびHEVCにおいて、DPB内のピクチャは、「短期的参照のために使用される」、「長期的参照のために使用される」、または「参照のために使用されない」と印を付けられ得る。ピクチャが「参照のために使用されない」と印を付けられると、ピクチャは、もはや予測のために使用され得ない。ピクチャがもはや出力のために必要とされないとき、ピクチャは、DPBから削除され得る。
AVCにおいては、参照ピクチャの2つの種類、短期および長期が存在する。参照ピクチャは、参照ピクチャがもはや予測の参照のために必要とされなくなるときに「参照のために使用されない」と印を付けられる可能性がある。これら3つのステータス(短期、長期、および参照ために使用されない)の間の転換は、復号された参照ピクチャのマーキングプロセスによって制御される。2つの択一的な復号された参照ピクチャのマーキングメカニズム、暗黙的な移動窓(sliding window)プロセスおよび明示的なメモリ管理制御動作(MMCO: memory management control operation)プロセスが存在する。移動窓プロセスは、参照フレームの数が所与の最大数(シーケンスパラメータセット(SPS)のmax_num_ref_frames)に等しいとき、短期的参照ピクチャに「参照のために使用されない」と印を付ける。短期的参照ピクチャは、最も新しく復号された短期的ピクチャがDPBに保有されるように先入れ先出しで記憶される。
明示的MMCOプロセスは、複数のMMCOコマンドを含む可能性がある。MMCOコマンドは、1つもしくは複数の短期的または長期的参照ピクチャに「参照のために使用されない」と印を付ける可能性があり、すべてのピクチャに「参照のために使用されない」と印を付ける可能性があり、または現在の参照ピクチャもしくは既存の短期的参照ピクチャに長期的と印を付け、それから、その長期的参照ピクチャに長期的ピクチャインデックスを割り振る可能性がある。
AVCにおいては、参照ピクチャのマーキング動作ならびにDPBからのピクチャの出力および削除のためのプロセスが、ピクチャが復号された後に実行される。
HEVCは、参照ピクチャセット(RPS)と呼ばれる参照ピクチャの管理のための異なる手法を導入する。AVCのMMCO/移動窓プロセスと比べたRPSの概念の最も根本的な違いは、それぞれの特定のスライスに関して、現在のピクチャまたは任意の後続のピクチャによって使用される参照ピクチャの完全なセットが提供されることである。したがって、現在のまたは将来のピクチャによる使用のためにDPBに保有されなければならないすべてのピクチャの完全なセットが、シグナリングされる。これは、DPBに対する相対的な変更のみがシグナリングされるAVCの方式と異なる。RPS概念によれば、DPB内の参照ピクチャの正しいステータスを維持するために、復号の順序で先のピクチャからの情報が必要とされない。
HEVCにおけるピクチャの復号の順序およびDPBの動作は、RPSの利点を活かし、誤り耐性を高めるために、AVCと比べて変更される。AVCにおいて、ピクチャのマーキングおよびバッファの動作(DPBからの復号されたピクチャの出力と削除との両方)は、概して、現在のピクチャが復号された後に適用される。HEVCにおいては、まず、RPSが、現在のピクチャのスライスヘッダから復号され、それから、ピクチャのマーキングおよびバッファの動作が、概して、現在のピクチャを復号する前に適用される。
HEVCにおける各スライスヘッダは、スライスを含むピクチャに関するRPSのシグナリングのためのパラメータを含む可能性がある。唯一の例外は、即時復号リフレッシュ(IDR: Instantaneous Decoding Refresh)スライスに関してRPSがシグナリングされないことである。その代わりに、RPSは、空であると推測される。IDRピクチャに属さないIスライスに関しては、復号の順序でIピクチャに先行したピクチャからのインター予測を使用する、復号の順序でIピクチャの後に続くピクチャが存在する可能性があるので、たとえそれらのIスライスがIピクチャに属するとしてもRPSが提供される可能性がある。RPSのピクチャの数は、SPSのsps_max_dec_pic_bufferingシンタックス要素によって指定されるDPBのサイズ制限を超えない。
各ピクチャは、出力の順序を表すPOC値に関連付けられる。スライスヘッダは、POC LSBとしても知られる完全なPOC値の最下位ビット(LSB)を表す固定長コードワードpic_order_cnt_lsbを含む。コードワードの長さは、SPS内でシグナリングされ、たとえば、4ビットから16ビットまでの間であることが可能である。RPSの概念は、参照ピクチャを特定するためにPOCを使用する。自身のPOC値の他に、各スライスヘッダは、RPSの各ピクチャのPOC値(またはLSB)のコーディングされた表現を直に含むかまたはSPSから継承する。
各ピクチャのRPSは、5つのRPSサブセットとも呼ばれる参照ピクチャの5つの異なるリストからなる。RefPicSetStCurrBeforeは、復号の順序と出力の順序との両方で現在のピクチャの前にあり、現在のピクチャのインター予測において使用される可能性があるすべての短期的参照ピクチャからなる。RefPicSetStCurrAfterは、復号の順序で現在のピクチャの前にあり、出力の順序で現在のピクチャの後にあり、現在のピクチャのインター予測において使用される可能性があるすべての短期的参照ピクチャからなる。RefPicSetStFollは、復号の順序で現在のピクチャの後に続くピクチャのうちの1つまたは複数のインター予測において使用される可能性があり、現在のピクチャのインター予測において使用されないすべての短期的参照ピクチャからなる。RefPicSetLtCurrは、現在のピクチャのインター予測において使用される可能性があるすべての長期的参照ピクチャからなる。RefPicSetLtFollは、復号の順序で現在のピクチャの後に続くピクチャのうちの1つまたは複数のインター予測において使用される可能性があり、現在のピクチャのインター予測において使用されないすべての長期的参照ピクチャからなる。
RPSは、異なる種類の参照ピクチャ、現在のピクチャよりも小さなPOC値を有する短期的参照ピクチャ、現在のピクチャよりも大きなPOC値を有する短期的参照ピクチャ、および長期的参照ピクチャに対して繰り返される最大3つのループを使用してシグナリングされる。さらに、フラグ(used_by_curr_pic_X_flag)が、各ピクチャに関して送信され、参照ピクチャが現在のピクチャによる参照のために使用される(リストRefPicSetStCurrBefore、RefPicSetStCurrAfter、またはRefPicSetLtCurrのうちの1つに含まれる)のかまたは使用されない(リストRefPicSetStFollまたはRefPicSetLtFollのうちの1つに含まれる)のかを示す。
図4は、現在のピクチャB14を有するRPS 400をRPS 400のすべてのサブセット402のエントリ(たとえば、ピクチャ)とともに示す。図4の例において、現在のピクチャB14は、5つのサブセット404(別名、RPSサブセット)の各々にちょうど1つのピクチャを含む。P8は、ピクチャが出力の順序でB14の前にあり、B14によって使用されるので、RefPicSetStCurrBeforeと呼ばれるサブセット402のピクチャである。P12は、ピクチャが出力の順序でB14の後にあり、B14によって使用されるので、RefPicSetStCurrAfterと呼ばれるサブセット402のピクチャである。P13は、ピクチャがB14によって使用されない短期的参照ピクチャである(しかし、そのピクチャはB15によって使用されるのでDPBに保有されなければならない)ので、RefPicSetStFollと呼ばれるサブセット402のピクチャである。P4は、ピクチャがB14によって使用される長期的参照ピクチャであるのでRefPicSetLtCurrと呼ばれるサブセット402のピクチャである。I0は、ピクチャが現在のピクチャによって使用されない長期的参照ピクチャである(しかし、そのピクチャがB15によって使用されるのでDPBに保有されなければならない)ので、RefPicSetLtFollと呼ばれるサブセット402のピクチャである。
RPS 400の短期的な部分は、スライスヘッダに直に含まれる可能性がある。代替的に、スライスヘッダは、アクティブなSPS内で送信されたRPSの予め定義されたリストを参照するインデックスを表すシンタックス要素のみを含む可能性がある。RPS 402の短期的な部分は、2つの異なる方式、下で説明されるインターRPSまたはここで説明されるイントラRPSのどちらかを使用してシグナリングされ得る。イントラRPSが使用されるとき、参照ピクチャの2つの異なるリストの長さを表すnum_negative_picsおよびnum_positive_picsが、シグナリングされる。これらのリストは、それぞれ、現在のピクチャと比べて負のPOCの差および正のPOCの差を有する参照ピクチャを含む。これらのリストの各要素は、リスト内の前の要素に関連するPOC値の差から1を引いた値を表す可変長コーディングによって符号化される。各リストの最初のピクチャに関しては、シグナリングは、現在のピクチャのPOC値から1を引いた値に関連する。
シーケンスパラメータセット内の繰り返し現れるRPSを符号化するとき、1つのRPS(たとえば、RPS 400)の要素を、シーケンスパラメータセット内の既に符号化された別のRPSを参照して符号化することが可能である。これは、インターRPSと呼ばれる。シーケンスパラメータセットのすべてのRPSが同じネットワーク抽象化レイヤ(NAL)ユニット内にあるので、この方法に関連する誤り堅牢性(error robustness)の問題は存在しない。インターRPSのシンタックスは、現在のピクチャのRPSが既に復号されたピクチャのRPSから予測され得るという事実を利用する。これは、現在のピクチャのすべての参照ピクチャが前のピクチャの参照ピクチャかまたは既に復号されたピクチャ自体かのどちらかでなければならないからである。これらのピクチャのどちらが参照ピクチャであり、現在のピクチャの予測のために使用されるべきかを示しさえすればよい。したがって、シンタックスは、以下、すなわち、予測子(predictor)として使用するRPSを指すインデックス、現在のRPSの差分(delta)POCを得るために予測子のdelta_POCに足されるdelta_POC、ならびにどのピクチャが参照ピクチャであるのかおよびそれらのピクチャが将来のピクチャの予測のためにのみ使用されるのかどうかを示す1セットのインジケータを含む。
長期的参照ピクチャを利用したいエンコーダは、SPSシンタックス要素long_term_ref_pics_present_flagを1に設定しなければならない。そのとき、長期的参照ピクチャは、それぞれの長期的ピクチャの完全なPOC値の最下位ビットを表す固定長コードワードpoc_lsb_ltによってスライスヘッダ内でシグナリングされ得る。それぞれのpoc_lsb_ltは、特定の長期的ピクチャに関してシグナリングされたpic_order_cnt_lsbコードワードのコピーである。POC LSB値のリストとしてSPS内で1セットの長期的ピクチャをシグナリングすることも、可能である。そのとき、長期的ピクチャに関するPOC LSBは、このリストへのインデックスとしてスライスヘッダ内でシグナリングされ得る。
現在のピクチャに対する長期的参照ピクチャの完全なPOCの距離の計算を可能にするために、delta_poc_msb_cycle_lt_minus1シンタックス要素がさらにシグナリングされ得る。コードワードdelta_poc_msb_cycle_lt_minus1が、RPS内のいずれかのその他の参照ピクチャと同じPOC LSB値を有するそれぞれの長期的参照ピクチャに関してシグナリングされることが必要とされる。
HEVCにおける参照ピクチャのマーキングに関しては、概して、ピクチャの復号の前にDPB内にいくつかのピクチャが存在する。ピクチャの一部は、予測のために利用可能であり、したがって、「参照のために使用される」と印を付けられる可能性がある。その他のピクチャは、予測のために利用不可能である可能性があるが、出力を待っており、したがって、「参照のために使用されない」と印を付けられる。スライスヘッダが解析されたとき、スライスデータが復号される前にピクチャのマーキングプロセスが実行される。DPB内に存在し、「参照のために使用される」と印を付けられるが、RPSに含まれないピクチャは、「参照のために使用されない」と印を付けられる。used_by_curr_pic_X_flagがゼロに等しいとき、DPB内に存在しないが参照ピクチャセットに含まれるピクチャは、無視される。しかし、その代わりにused_by_curr_pic_X_flagが1に等しいとき、この参照ピクチャは、現在のピクチャにおいて予測のために使用されるように意図されていたが、欠落している。そのとき、意図されていないピクチャの喪失が、推測され、デコーダが、適切な対応を行うべきである。
現在のピクチャを復号した後、そのピクチャは、「短期的参照のために使用される」と印を付けられる。
次に、HEVCにおける参照ピクチャリストの構築が、検討される。HEVCにおいて、インター予測という用語は、現在復号されているピクチャ以外の参照ピクチャのデータ要素(たとえば、サンプル値または動きベクトル)から導出される予測を指すために使用される。AVCと同様に、ピクチャは、複数の参照ピクチャから予測され得る。インター予測のために使用される参照ピクチャは、1つまたは複数の参照ピクチャリストに編成される。参照インデックスは、リストの参照ピクチャのうちのどれが予測信号を生成するために使用されるべきであるかを特定する。
単一の参照ピクチャリストList 0が、Pスライスのために使用され、2つの参照ピクチャリストList 0およびList 1が、Bスライスのために使用される。AVCと同様に、HEVCにおける参照ピクチャリストの構築は、参照ピクチャリストの初期化および参照ピクチャリストの修正を含む。
AVCにおいて、List 0の初期化プロセスは、(復号の順序が使用される)Pスライスと(出力の順序が使用される)Bスライスとに関して異なる。HEVCにおいて、出力の順序が、両方の場合に使用される。
参照ピクチャリストの初期化は、3つのRPSサブセット、すなわち、RefPicSetStCurrBefore、RefPicSetStCurrAfter、およびRefPicSetLtCurrに基づいてデフォルトのList 0およびList 1(スライスがBスライスである場合)を生成する。まず、先の(後の)出力の順序の短期的ピクチャが、現在のピクチャとのPOCの距離の昇順にList 0(List 1)に挿入され、それから、後の(先の)出力の順序の短期的ピクチャが、現在のピクチャとのPOCの距離の昇順にList 0(List 1)に挿入され、そして最終的に、長期的ピクチャが、最後に挿入される。RPSの観点で見ると、List 0に関して、RefPicSetStCurrBeforeのエントリが、初期リストに挿入され、その後にRefPicSetStCurrAfterのエントリが続く。その後、利用可能である場合は、RefPicSetLtCurrのエントリが、末尾に付け加えられる。
HEVCにおいては、リストのエントリの数が(ピクチャパラメータセット(picture parameter set)またはスライスヘッダ内でシグナリングされた)アクティブな参照ピクチャの目標数よりも少ないとき、上述のプロセスが繰り返される(参照ピクチャリストに既に追加された参照ピクチャが再び追加される)。エントリの数が目標数よりも多いとき、リストは、切り詰められる。
参照ピクチャリストが初期化された後、参照ピクチャリストは、参照ピクチャリスト修正コマンドに基づいて、1つの特定の参照ピクチャがリスト内で2つ以上の位置に現れる可能性がある場合も含め、現在のピクチャのための参照ピクチャが任意の順序で配列される可能性があるように修正される可能性がある。リストの修正の存在を示すフラグが1に設定されるとき、(参照ピクチャリストのエントリの目標数に等しい)決まった数のコマンドがシグナリングされ、各コマンドが参照ピクチャリストに関する1つのエントリを挿入する。RPSのシグナリングから導出された現在のピクチャのための参照ピクチャのリストへのインデックスによって、コマンド内で参照ピクチャが特定される。これは、ピクチャが(frame_numシンタックス要素から導出された)ピクチャ番号かまたは長期的参照ピクチャインデックスかのどちらかによって特定され、たとえば、初期リストの最初の2つのエントリを交換するかまたは初期リストの初めに1つのエントリを挿入し、その他のエントリをシフトするためにより少ないコマンドが必要とされる可能性があるH.264/AVCにおける参照ピクチャリストの修正とは異なる。
参照ピクチャリストは、現在のピクチャよりも大きいTemporalIdを有するいかなる参照ピクチャも含むことを許されない。HEVCのビットストリームは、いくつかの時間的サブレイヤからなる可能性がある。各NALユニットは、(temporal_id_plus1 - 1に等しい)TemporalIdによって示される特定のサブレイヤに属する。
参照ピクチャの管理は、参照ピクチャリストに直接基づく。JCT-VCの文書JCTVC-G643は、DPB内の参照ピクチャリストの管理のために3つの参照ピクチャリスト、参照ピクチャリスト0、参照ピクチャリスト1、およびアイドル参照ピクチャリストを直接使用する手法を含み、それによって、1)AVCの移動窓およびMMCOプロセスならびに参照ピクチャリスト初期化および修正プロセスか、または2)HEVCの参照ピクチャセットならびに参照ピクチャリスト初期化および修正プロセスかのどちらかを含むシグナリングおよび復号プロセスの必要性を回避する。
参照ピクチャの管理のための手法は、いくつかの問題を有する可能性がある。AVCの手法は、複雑な移動窓、MMCOプロセス、ならびに参照ピクチャリスト初期化および修正プロセスを含む。さらに、ピクチャの喪失は、さらなるインター予測が参照する目的でどのピクチャがDPB内にあるべきであったかという観点でのDPBのステータスの喪失につながる可能性がある。HEVCの手法は、DPBのステータスの喪失の問題がない。しかし、HEVCの手法は、複雑な参照ピクチャセットシグナリングおよび導出プロセスならびに複雑な参照ピクチャリスト初期化および修正プロセスを含む。DPB内の参照ピクチャの管理のために3つの参照ピクチャリスト、参照ピクチャリスト0、参照ピクチャリスト1、およびアイドル参照ピクチャリストを直接使用するJCTVC-G643の手法は、以下の点、すなわち、第3の参照ピクチャリスト、すなわち、アイドル参照ピクチャリスト、「短期的」部分およびue(v)コーディングされた(ue(v)-coded)「長期的部分」としてのPOCの差の2部分コーディング、POCの差のコーディングのためのTemporalIdに基づくPOCの粒度(granularity)、「短期的参照のために使用される」または「長期的参照のために使用される」の間でマーキングを決定するためのPOCの差の2部分コーディングの使用、特定の先の参照ピクチャリストの記述の末尾から参照ピクチャを削除することによって参照ピクチャを指定する能力を与える参照ピクチャリストのサブセットの記述、シンタックス要素ref_pic_list_copy_flagによって有効化される参照ピクチャリストコピーモード、ならびに参照ピクチャリスト記述プロセスを含む。上述の点の各々は、手法を不必要に複雑にする。さらに、JCTVC-G643の参照ピクチャリストに関する復号プロセスも、複雑である。長期的参照ピクチャのシグナリングは、スライスヘッダ内でPOCサイクルのシグナリングを必要とする可能性がある。これは、効率的ではない。
上に挙げられた問題に対処するために、本明細書において開示されるのは、下の解決策であり、それらの解決策の各々は、個々に適用されることが可能であり、それらの解決策の一部は、組み合わせて適用されることが可能である。1)参照ピクチャのマーキングが、2つの参照ピクチャリスト、すなわち、参照ピクチャリスト0および参照ピクチャリスト1に直接基づく。1a)2つの参照ピクチャリストの導出のための情報が、SPS、PPS、および/またはスライスヘッダ内のシンタックス要素およびシンタックス構造に基づいてシグナリングされる。1b)ピクチャのための2つの参照ピクチャリストの各々が、参照ピクチャリスト構造内で明示的にシグナリングされる。1b.i)1つまたは複数の参照ピクチャリスト構造が、SPS内でシグナリングされることが可能であり、それらの参照ピクチャリスト構造の各々が、スライスヘッダからのインデックスによって参照されることが可能である。1b.ii)参照ピクチャリスト0および1の各々が、スライスヘッダ内で直接シグナリングされ得る。2)2つの参照ピクチャリストの導出のための情報が、すべての種類のスライス、すなわち、B(双予測)、P(短予測)、およびI(イントラ)スライスに関してシグナリングされる。スライスという用語は、HEVCまたは最新のVVC WDのスライスなどのコーディングツリーユニットの集合を指し、スライスという用語は、HEVCのタイルなどのコーディングツリーユニットの何らかのその他の集合を指す可能性もある。3)2つの参照ピクチャリストが、すべての種類のスライス、すなわち、B、P、およびIスライスに関して生成される。4)2つの参照ピクチャリストが、参照ピクチャリスト初期化プロセスおよび参照ピクチャリスト修正プロセスを使用することなく直接構築される。5)2つの参照ピクチャリストの各々において、現在のピクチャのインター予測のために使用される可能性がある参照ピクチャが、リストの初めのいくつかのエントリによってのみ参照され得る。これらのエントリは、リストのアクティブエントリと呼ばれ、一方、その他のエントリは、リストの非アクティブエントリと呼ばれる。リストのすべてのエントリの数およびアクティブエントリの数は、両方とも導出され得る。6)参照ピクチャリストの非アクティブエントリによって参照されるピクチャが、参照ピクチャリストの別のエントリまたはその他の参照ピクチャリストのいかなるエントリによっても参照されることを許されない。7)長期的参照ピクチャが、特定の数のPOC LSBによってのみ特定され、この数は、POC値の導出のためにスライスヘッダ内でシグナリングされるPOC LSBの数よりも大きい可能性があり、この数は、SPSにおいて示される。8)参照ピクチャリスト構造が、スライスヘッダ内でのみシグナリングされ、短期的参照ピクチャと長期的参照ピクチャとの両方が、POC値の導出のためにスライスヘッダ内でシグナリングされるPOC LSBを表すために使用されるビットの数と異なる数のビットによって表される可能性があるそれらの参照ピクチャのPOC LSBによって特定され、短期的参照ピクチャおよび長期的参照ピクチャを特定するためのPOC LSBを表すために使用されるビットの数は、異なる可能性がある。9)参照ピクチャリスト構造が、スライスヘッダ内でのみシグナリングされ、短期的参照ピクチャと長期的参照ピクチャとの間の区別がなされず、すべての参照ピクチャが、単に参照ピクチャと呼ばれ、参照ピクチャが、POC値の導出のためにスライスヘッダ内でシグナリングされるPOC LSBを表すために使用されるビットの数と異なる数のビットによって表される可能性があるそれらの参照ピクチャのPOC LSBによって特定される。
本開示の第1の実施形態が、提供される。説明は、最新のVVC WDに関連する。この実施形態においては、参照ピクチャリスト構造の2つのセットが、参照ピクチャリスト0および参照ピクチャリスト1の各々につき1つずつSPS内でシグナリングされる。
本明細書において使用される用語の一部に関する定義が、与えられる。イントランダムアクセスポイント(IRAP)ピクチャ:各ビデオコーディングレイヤ(VCL)NALユニットがIRAP_NUTに等しいnal_unit_typeを有するコーディングされたピクチャ。非IRAPピクチャ:各VCL NALユニットがNON_IRAP_NUTに等しいnal_unit_typeを有するコーディングされたピクチャ。参照ピクチャリスト:PまたはBスライスのインター予測のために使用される参照ピクチャのリスト。2つの参照ピクチャリスト、参照ピクチャリスト0および参照ピクチャリスト1が、非IRAPピクチャの各スライスに関して生成される。ピクチャに関連する2つの参照ピクチャリストのすべてのエントリによって参照される一意のピクチャのセットは、関連するピクチャまたは復号の順序で関連するピクチャの後に続く任意のピクチャのインター予測のために使用される可能性があるすべての参照ピクチャからなる。Pスライスのスライスデータを復号するために、参照ピクチャリスト0のみが、インター予測のために使用される。Bスライスのスライスデータを復号するために、両方の参照ピクチャリストが、インター予測のために使用される。Iスライスのスライスデータを復号するために、参照ピクチャリストは、インター予測のために使用されない。長期的参照ピクチャ(LTRP):「長期的参照のために使用される」と印を付けられるピクチャ。短期的参照ピクチャ(STRP):「短期的参照のために使用される」と印を付けられるピクチャ。
用語「短期的参照のために使用される」、「長期的参照のために使用される」、または「参照のために使用されない」は、VVCにおいてはセクション8.3.3 Decoding process for reference picture markingに定義され、HEVCにおいてはセクション8.3.2 Decoding process for reference picture setに定義され、AVCにおいてはセクション7.4.3.3 Decoded reference picture marking semanticsに定義されている。本明細書において使用されるとき、用語は、同じ意味を有する。
第1の実施形態のための関連するシンタックスおよびセマンティクスが、以下で与えられる。
NALユニットヘッダのシンタックス
Figure 2021534668
シーケンスパラメータセットの未加工バイトシーケンスペイロード(RBSP)のシンタックス
Figure 2021534668
ピクチャパラメータセットのRBSPのシンタックス
Figure 2021534668
スライスヘッダのシンタックス
Figure 2021534668
参照ピクチャリスト構造のシンタックス
Figure 2021534668
NALユニットヘッダのセマンティクス
forbidden_zero_bitは、0に等しい。nal_unit_typeは、NALユニットに含まれるRBSPデータ構造の種類を指定する。
Figure 2021534668
nuh_temporal_id_plus1から1を引いた値は、NALユニットに関する時間識別子(temporal identifier)を指定する。nuh_temporal_id_plus1の値は、0に等しくない。変数TemporalIdは、次のように、すなわち、TemporalId = nuh_temporal_id_plus1 - 1のように指定される。nal_unit_typeがIRAP_NUTに等しいとき、コーディングされたスライスは、IRAPピクチャに属し、TemporalIdは、0に等しい。TemporalIdの値は、アクセスユニットのすべてのVCL NALユニットに関して同じである。コーディングされたピクチャまたはアクセスユニットのTemporalIdの値は、コーディングされたピクチャまたはアクセスユニットのVCL NALユニットのTemporalIdの値である。非VCL NALユニットに関するTemporalIdの値は、以下のように制約される。nal_unit_typeがSPS_NUTに等しい場合、TemporalIdは、0に等しく、NALユニットを含むアクセスユニットのTemporalIdは、0に等しい。そうではなくnal_unit_typeがEOS_NUTまたはEOB_NUTに等しい場合、TemporalIdは、0に等しい。そうでない場合、TemporalIdは、NALユニットを含むアクセスユニットのTemporalId以上である。NALユニットが非VCL NALユニットであるとき、TemporalIdの値は、非VCL NALユニットが当てはまるすべてのアクセスユニットのTemporalId値のうちの最小値に等しい。nal_unit_typeがPPS_NUTに等しいとき、TemporalIdは、すべてのピクチャパラメータセット(PPS)がビットストリームの初めに含まれる可能性があり、第1のコーディングされたピクチャが0に等しいTemporalIdを有するので、包含するアクセスユニットのTemporalId以上である可能性がある。nal_unit_typeがPREFIX_SEI_NUTまたはSUFFIX_SEI_NUTに等しいとき、TemporalIdは、TemporalId値がSEI NALユニットを含むアクセスユニットのTemporalIdよりも大きいアクセスユニットを含むビットストリームのサブセットに適用される情報をSEI NALユニットが含む可能性があるので、包含するアクセスユニットのTemporalId以上である可能性がある。nuh_reserved_zero_7bitsは、'0000000'に等しい。nuh_reserved_zero_7bitsのその他の値が、ITU_T | ISO/IECによって将来規定される可能性がある。デコーダは、'0000000'に等しくないnuh_reserved_zero_7bitsの値を有するNALユニットを無視する(すなわち、ビットストリームから削除し、破棄する)。
シーケンスパラメータセットのRBSPのセマンティクス
log2_max_pic_order_cnt_lsb_minus4は、ピクチャ順序カウントに関する復号プロセスにおいて使用される変数MaxPicOrderCntLsbの値を次のように、すなわち、MaxPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 )のように指定する。log2_max_pic_order_cnt_lsb_minus4の値は、0および12を含んで0から12までの範囲内にある。sps_max_dec_pic_buffering_minus1に1を足した値は、ピクチャストレージバッファ(picture storage buffer)を単位としてCVSのための復号ピクチャバッファの最大の必要とされるサイズを指定する。sps_max_dec_pic_buffering_minus1の値は、0およびMaxDpbSize - 1を含んで0からMaxDpbSize - 1までの範囲内にあり、MaxDpbSizeは、別のどこかで指定される。0に等しいlong_term_ref_pics_flagは、LTRPがCVS内のいかなるコーディングされたピクチャのインター予測にも使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、LTRPがCVS内の1つまたは複数のコーディングされたピクチャのインター予測のために使用される可能性があることを指定する。additional_lt_poc_lsbは、参照ピクチャリストに関する復号プロセスにおいて使用される変数MaxLtPicOrderCntLsbの値を次のように、すなわち、MaxLtPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 + additional_lt_poc_lsb )のように指定する。additional_lt_poc_lsbの値は、0および32 - log2_max_pic_order_cnt_lsb_minus4 - 4を含んで0から32 - log2_max_pic_order_cnt_lsb_minus4 - 4までの範囲内にある。存在しないとき、additional_lt_poc_lsbの値は、0に等しいと推測される。num_ref_pic_lists_in_sps[i]は、SPSに含まれるlistIdxがiに等しいref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造の数を指定する。num_ref_pic_lists_in_sps[i]の値は、0および64を含んで0から64までの範囲内にある。(0または1に等しい)listIdxの各値に関して、デコーダは、現在のピクチャのスライスヘッダ内で直接シグナリングされた1つのref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造が存在する可能性があるので、合計num_ref_pic_lists_in_sps[i] + 1個のref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のためにメモリを割り当てるべきである。
ピクチャパラメータセットのRBSPのセマンティクス
num_ref_idx_default_active_minus1[i]に1を足した値は、iが0に等しいとき、num_ref_idx_active_override_flagが0に等しいPまたはBスライスに関する変数NumRefIdxActive[0]の推測された値を指定し、iが1に等しいとき、num_ref_idx_active_override_flagが0に等しいBスライスに関するNumRefIdxActive[1]の推測された値を指定する。num_ref_idx_default_active_minus1[i]の値は、0および14を含んで0から14までの範囲内にある。
スライスヘッダのセマンティクス
存在するとき、スライスヘッダのシンタックス要素slice_pic_parameter_set_idおよびslice_pic_order_cnt_lsbの各々の値は、コーディングされたピクチャのすべてのスライスヘッダにおいて同じである。... slice_typeは、Table 7-3(表7)に従ってスライスのコーディングタイプを指定する。
Figure 2021534668
nal_unit_typeがIRAP_NUTに等しい、すなわち、ピクチャがIRAPピクチャであるとき、slice_typeは、2に等しい。... slice_pic_order_cnt_lsbは、現在のピクチャに関するピクチャ順序カウントのモジュロMaxPicOrderCntLsbを指定する。slice_pic_order_cnt_lsbシンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4 + 4ビットである。slice_pic_order_cnt_lsbの値は、0およびMaxPicOrderCntLsb - 1を含んで0からMaxPicOrderCntLsb - 1までの範囲内にある。slice_pic_order_cnt_lsbが存在しないとき、slice_pic_order_cnt_lsbは、0に等しいと推測される。1に等しいref_pic_list_sps_flag[i]は、現在のピクチャの参照ピクチャリストiがアクティブなSPS内でlistIdxがiに等しいref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のうちの1つに基づいて導出されることを指定する。0に等しいref_pic_list_sps_flag[i]は、現在のピクチャの参照ピクチャリストiが現在のピクチャのスライスヘッダに直接含まれるlistIdxがiに等しいref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造に基づいて導出されることを指定する。num_ref_pic_lists_in_sps[i]が0に等しいとき、ref_pic_list_sps_flag[i]の値は、0に等しい。ref_pic_list_idx[i]は、現在のピクチャの参照ピクチャリストiの導出のために使用されるlistIdxがiに等しいref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造の、アクティブなSPSに含まれるlistIdxがiに等しいref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のリストへのインデックスを指定する。シンタックス要素ref_pic_list_idx[i]は、Ceil( Log2(num_ref_pic_lists_in_sps[i]) )ビットによって表される。存在しないとき、ref_pic_list_idx[i]の値は、0に等しいと推測される。ref_pic_list_idx[i]の値は、0およびnum_ref_pic_lists_in_sps[i] - 1を含んで0からnum_ref_pic_lists_in_sps[i] - 1までの範囲内にある。1に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]がPおよびBスライスに関して存在することと、シンタックス要素num_ref_idx_active_minus1[1]がBスライスに関して存在することとを指定する。0に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]およびnum_ref_idx_active_minus1[1]が存在しないことを指定する。num_ref_idx_active_minus1[i]は、存在するとき、変数NumRefIdxActive[i]の値を次のように、すなわち、NumRefIdxActive[i] = num_ref_idx_active_minus1[i] + 1のように指定する。num_ref_idx_active_minus1[i]の値は、0および14を含んで0から14までの範囲内にある。
NumRefIdxActive[i]の値 - 1は、スライスを復号するために使用される可能性がある参照ピクチャリストiに関する最大の参照インデックスを指定する。NumRefIdxActive[i]の値が0に等しいとき、参照ピクチャリストiに関する参照インデックスは、スライスを復号するために使用されない可能性がある。0または1に等しいiに関して、現在のスライスがBスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[i]は、num_ref_idx_default_active_minus1[i] + 1に等しいと推測される。現在のスライスがPスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[0]は、num_ref_idx_default_active_minus1[0] + 1に等しいと推測される。現在のスライスがPスライスであるとき、NumRefIdxActive[1]は、0に等しいと推測される。現在のスライスがIスライスであるとき、NumRefIdxActive[0]とNumRefIdxActive[1]との両方は、0に等しいと推測される。
代替的に、0または1に等しいiに関して、以上の後、以下のことが適用される。rplsIdx1がref_pic_list_sps_flag[i] ? ref_pic_list_idx[i] : num_ref_pic_lists_in_sps[i]に等しいように設定され、numRpEntries[i]がnum_strp_entries[i][rplsIdx1] + num_ltrp_entries[i][rplsIdx1]に等しいものとする。NumRefIdxActive[i]がnumRpEntries[i]よりも大きいとき、NumRefIdxActive[i]の値は、numRpEntries[i]に等しいように設定される。
参照ピクチャリスト構造のセマンティクス
ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造は、SPS内またはスライスヘッダ内に存在する可能性がある。シンタックス構造がスライスヘッダに含まれるのかまたはSPSに含まれるのかに応じて、以下のことが適用される。スライスヘッダ内に存在する場合、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の参照ピクチャリストのlistIdxを指定する。そうでない(SPS内に存在する)場合、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造は、参照ピクチャリストのlistIdxに関する候補を指定し、このセクションの残りにおいて明示されるセマンティクスにおける用語「現在のピクチャ」は、1)SPSに含まれるref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のリストへのインデックスに等しいref_pic_list_idx[listIdx]を含む1つまたは複数のスライスを有し、2)SPSをアクティブなSPSとして有するCVS内にある各ピクチャを指す。num_strp_entries[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のSTRPエントリの数を指定する。num_ltrp_entries[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のLTRPエントリの数を指定する。存在しないとき、num_ltrp_entries[listIdx][rplsIdx]の値は、0に等しいと推測される。変数NumEntriesInList[listIdx][rplsIdx]は、次のように、すなわち、NumEntriesInList[listIdx][rplsIdx] = num_strp_entries[listIdx][rplsIdx] + num_ltrp_entries[listIdx][rplsIdx]のように導出される。NumEntriesInList[listIdx][rplsIdx]の値は、0およびsps_max_dec_pic_buffering_minus1を含んで0からsps_max_dec_pic_buffering_minus1までの範囲内にある。1に等しいlt_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のi番目のエントリがLTRPエントリであることを指定する。0に等しいlt_ref_pic_flag[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のi番目のエントリがSTRPエントリであることを指定する。存在しないとき、lt_ref_pic_flag[listIdx][rplsIdx][i]の値は、0に等しいと推測される。0およびNumEntriesInList[listIdx][rplsIdx] - 1を含んで0からNumEntriesInList[listIdx][rplsIdx] - 1までの範囲内にあるiのすべての値に関するlt_ref_pic_flag[listIdx][rplsIdx][i]の総和がnum_ltrp_entries[listIdx][rplsIdx]に等しいことが、ビットストリームの準拠の要件である。delta_poc_st[listIdx][rplsIdx][i]は、i番目のエントリがref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造の最初のSTRPエントリであるとき、現在のピクチャのピクチャ順序カウントの値とi番目のエントリによって参照されるピクチャのピクチャ順序カウントの値との間の差を指定し、またはi番目のエントリがref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のSTRPエントリであるが最初のSTRPエントリではないとき、i番目のエントリによって参照されるピクチャのピクチャ順序カウントの値とref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造の前のSTRPエントリによって参照されるピクチャのピクチャ順序カウントの値との間の差を指定する。delta_poc_st[listIdx][rplsIdx][i]の値は、-215および215 - 1を含んで-215から215 - 1までの範囲内にある。poc_lsb_lt[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のi番目のエントリによって参照されるピクチャのピクチャ順序カウントのモジュロMaxLtPicOrderCntLsbの値を指定する。poc_lsb_lt[listIdx][rplsIdx][i]シンタックス要素の長さは、Log2(MaxLtPicOrderCntLsb)ビットである。
復号プロセスが、検討される。復号プロセスは、現在のピクチャCurrPicに関して以下のように動作する。NALユニットの復号が、下で規定される。下のプロセスは、スライスヘッダレイヤ以上のシンタックス要素を使用して以下の復号プロセスを規定する。ピクチャ順序カウントに関連する変数および関数が、導出される。これは、ピクチャの最初のスライスに関してのみ呼び出される必要がある。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストの構築のための復号プロセスが、参照ピクチャリスト0(RefPicList[0])および参照ピクチャリスト1(RefPicList[1])の導出のために呼び出される。参照ピクチャのマーキングのための復号プロセスが、呼び出され、参照ピクチャが、「参照のために使用されない」または「長期的参照のために使用される」と印を付けられる可能性がある。これは、ピクチャの最初のスライスに関してのみ呼び出される必要がある。コーディングツリーユニット、スケーリング、変換、ループ内フィルタリングなどのための復号プロセスが、呼び出される。現在のピクチャのすべてのスライスが復号された後、現在の復号されたピクチャが、「短期的参照のために使用される」と印を付けられる。
NALユニット復号プロセスが、検討される。このプロセスへの入力は、現在のピクチャのNALユニットおよびそれらの関連する非VCL NALユニットである。このプロセスの出力は、NALユニットにカプセル化された解析されたRBSPシンタックス構造である。各NALユニットに関する復号プロセスは、NALユニットからRBSPシンタックス構造を抽出し、それから、RBSPシンタックス構造を解析する。
ピクチャ順序カウントに関する復号プロセスを含むスライス復号プロセスが、検討される。このプロセスの出力は、PicOrderCntVal、現在のピクチャのピクチャ順序カウントである。ピクチャ順序カウントは、マージモード(merge mode)および動きベクトルの予測において動きパラメータを導出するためおよびデコーダの準拠の検査のためにピクチャを特定するために使用される。それぞれのコーディングされたピクチャは、PicOrderCntValと表されるピクチャ順序カウント変数に関連付けられる。現在のピクチャがIRAPピクチャでないとき、変数prevPicOrderCntLsbおよびprevPicOrderCntMsbは、以下のように導出される。prevTid0Picが、0に等しいTemporalIdを有する、復号の順序で前のピクチャであるものとする。変数prevPicOrderCntLsbは、prevTid0Picのslice_pic_order_cnt_lsbに等しいように設定される。変数prevPicOrderCntMsbは、prevTid0PicのPicOrderCntMsbに等しいように設定される。
現在のピクチャの変数PicOrderCntMsbは、次のように導出される。現在のピクチャがIRAPピクチャである場合、PicOrderCntMsbは、0に等しいように設定される。そうでない場合、PicOrderCntMsbは、以下のように導出される。
if( ( slice_pic_order_cnt_lsb < prevPicOrderCntLsb ) && ( ( prevPicOrderCntLsb - slice_pic_order_cnt_lsb ) >= ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb
else if( (slice_pic_order_cnt_lsb > prevPicOrderCntLsb ) && ( ( slice_pic_order_cnt_lsb - prevPicOrderCntLsb ) > ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb - MaxPicOrderCntLsb
else
PicOrderCntMsb = prevPicOrderCntMsb
PicOrderCntValは、次のように、すなわち、PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsbのように導出される。
slice_pic_order_cnt_lsbがIRAPピクチャに関して0であると推測され、prevPicOrderCntLsbとprevPicOrderCntMsbとの両方が0に等しいように設定されるので、すべてのIRAPピクチャは、0に等しいPicOrderCntValを持つ。PicOrderCntValの値は、-231および231 - 1を含んで-231から231 - 1までの範囲内にある。1つのCVSにおいては、いかなる2つのコーディングされたピクチャに関するPicOrderCntVal値も、同じでない。
復号プロセス中の任意の瞬間に、DPB内のいかなる2つの参照ピクチャに関するPicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )の値も、同じでない。関数PicOrderCnt(picX)は、次のように、すなわち、PicOrderCnt(picX) =ピクチャpicXのPicOrderCntValのように指定される。関数DiffPicOrderCnt(picA, picB)は、次のように、すなわち、DiffPicOrderCnt(picA, picB) = PicOrderCnt(picA) - PicOrderCnt(picB)のように指定される。ビットストリームは、-215および215 - 1を含む-215から215 - 1までの範囲内にない、復号プロセスにおいて使用されるDiffPicOrderCnt(picA, picB)の値をもたらすデータを含まない。Xが現在のピクチャであり、YおよびZが同じコーディングビデオシーケンス(CVS: coded video sequence)内の2つのその他のピクチャであるものとして、YおよびZは、DiffPicOrderCnt(X, Y)とDiffPicOrderCnt(X, Z)との両方が正であるかまたは両方が負であるとき、Xから同じ出力順序の方向にあると考えられる。
参照ピクチャリストの構築のための復号プロセスが、検討される。このプロセスは、非IRAPピクチャの各スライスに関する復号プロセスの初めに呼び出される。参照ピクチャは、参照インデックスによってアドレス指定される。参照インデックスは、参照ピクチャリストへのインデックスである。Iスライスを復号するとき、参照ピクチャリストは、スライスデータの復号において使用されない。Pスライスを復号するとき、参照ピクチャリスト0(すなわち、RefPicList[0])のみが、スライスデータの復号において使用される。Bスライスを復号するとき、参照ピクチャリスト0と参照ピクチャリスト1(すなわち、RefPicList[1])との両方が、スライスデータの復号において使用される。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストRefPicList[0]およびRefPicList[1]が、導出される。参照ピクチャリストは、参照ピクチャのマーキングにおいてまたはスライスデータの復号において使用される。ピクチャの最初のスライスでない非IRAPピクチャのIスライスに関して、RefPicList[0]およびRefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、それらの導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。ピクチャの最初のスライスでないPスライスに関して、RefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、その導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
for( i = 0; i < 2; i++ ) {
if( ref_pic_list_sps_flag[i] )
RplsIdx[i] = ref_pic_list_idx[i]
else
RplsIdx[i] = num_ref_pic_lists_in_sps[i]
for( j = 0, pocBase = PicOrderCntVal; j < NumEntriesInList[i][RplsIdx[i]]; j++ ) {
if( !lt_ref_pic_flag[i][RplsIdx[i]][j] ) {
RefPicPocList[i][j] = pocBase - delta_poc_st[i][RplsIdx[i]][j]
if( PicOrderCntValがRefPicPocList[i][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
pocBase = RefPicPocList[i][j]
} else {
if( PicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )がpoc_lsb_lt[i][RplsIdx[i]][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
}
}
}
0または1に等しい各iに関して、以下のことが適用される。RefPicList[i]の最初のNumRefIdxActive[i]個のエントリが、RefPicList[i]のアクティブなエントリと呼ばれ、RefPicList[i]のその他のエントリは、RefPicList[i]の非アクティブなエントリと呼ばれる。0およびNumEntriesInList[i][RplsIdx[i]] - 1を含んで0からNumEntriesInList[i][RplsIdx[i]] - 1までの範囲内のjに関してRefPicList[i][j]の各エントリは、lt_ref_pic_flag[i][RplsIdx[i]][j]が0に等しい場合、STRPエントリと呼ばれ、そうでない場合、LTRPエントリと呼ばれる。特定のピクチャが、RefPicList[0]のエントリとRefPicList[1]のエントリとの両方によって参照されることが可能である。特定のピクチャが、RefPicList[0]の2つ以上のエントリによってまたはRefPicList[1]の2つ以上のエントリによって参照されることも可能である。RefPicList[0]のアクティブなエントリおよびRefPicList[1]のアクティブなエントリは、現在のピクチャおよび復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測のために使用される可能性があるすべての参照ピクチャを集合的に指す。RefPicList[0]の非アクティブなエントリおよびRefPicList[1]の非アクティブなエントリは、現在のピクチャのインター予測のために使用されないが、復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測において使用される可能性があるすべての参照ピクチャを集合的に指す。対応するピクチャがDPB内に存在しないので「no reference picture」に等しいRefPicList[0]またはRefPicList[1]の1つまたは複数のエントリが、存在する可能性がある。「no reference picture」に等しいRefPicList[0]またはRefPicList[0]のそれぞれの非アクティブなエントリは、無視されるべきである。「no reference picture」に等しいRefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリに関しては、意図しないピクチャの喪失が、推測されるべきである。
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[i][RplsIdx[i]]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
参照ピクチャのマーキングのための復号プロセス
このプロセスは、スライスヘッダの復号およびスライスに関する参照ピクチャリストの構築のための復号プロセスの後であるが、スライスデータの復号の前に、ピクチャ毎に1回呼び出される。このプロセスは、DPB内の1つまたは複数の参照ピクチャが「参照のために使用されない」または「長期的参照のために使用される」と印を付けられる結果をもたらす可能性がある。DPB内の復号されたピクチャは、「参照のために使用されない」、「短期的参照のために使用される」、または「長期的参照のために使用される」として、ただし、復号プロセスの動作中の任意の所与の瞬間にこれら3つのうちのただ1つとして印を付けられ得る。ピクチャにこれらのマーキングのうちの1つを割り振ることは、該当する場合、これらのマーキングのうちの別のマーキングを暗黙的に削除する。ピクチャが「参照のために使用される」と印を付けられていると言われるとき、これは、集合的に、ピクチャが「短期的参照のために使用される」または「長期的参照のために使用される」として(ただし、両方ではない)印を付けられていることを指す。現在のピクチャがIRAPピクチャであるとき、現在DPB内にあるすべての参照ピクチャ(もしあれば)は、「参照のために使用されない」と印を付けられる。STRPは、それらのPicOrderCntVal値によって特定される。LTRPは、それらのPicOrderCntVal値のLog2(MaxLtPicOrderCntLsb) LSBによって特定される。以下のことが、適用される。RefPicList[0]またはRefPicList[1]の各LTRPエントリに関して、参照されるピクチャがSTRPであるとき、ピクチャは、「長期的参照のために使用される」と印を付けられる。RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されないDPB内の各参照ピクチャは、「参照のために使用されない」と印を付けられる。
本開示の第2の実施形態の詳細な説明が、与えられる。このセクションは、上述のように本開示の第2の実施形態の文書を提供する。説明は、最新のVVC WDに関連する。この実施形態においては、参照ピクチャリスト構造の1つのセットが、SPS内でシグナリングされ、参照ピクチャリスト0および参照ピクチャリスト1によって共有される。
シーケンスパラメータセットのRBSPのシンタックス
Figure 2021534668
ピクチャパラメータセットのRBSPのシンタックス
Figure 2021534668
スライスヘッダのシンタックス
Figure 2021534668
参照ピクチャリスト構造のシンタックス
Figure 2021534668
NALユニットヘッダのセマンティクスが、検討される。
シーケンスパラメータセットのRBSPのセマンティクス
log2_max_pic_order_cnt_lsb_minus4は、ピクチャ順序カウントに関する復号プロセスにおいて使用される変数MaxPicOrderCntLsbの値を次のように、すなわち、MaxPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 )のように指定する。log2_max_pic_order_cnt_lsb_minus4の値は、0および12を含んで0から12までの範囲内にある。sps_max_dec_pic_buffering_minus1に1を足した値は、ピクチャストレージバッファを単位としてCVSのための復号ピクチャバッファの最大の必要とされるサイズを指定する。sps_max_dec_pic_buffering_minus1の値は、0およびMaxDpbSize - 1を含んで0からMaxDpbSize - 1までの範囲内にあり、MaxDpbSizeは、別のどこかで指定される。num_ref_pic_lists_in_spsは、SPSに含まれるref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造の数を指定する。num_ref_pic_lists_in_spsの値は、0および128を含んで0から128までの範囲内にある。デコーダは、現在のピクチャのスライスヘッダ内で直接シグナリングされる2つのref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造が存在する可能性があるので、合計num_short_term_ref_pic_sets + 2個のref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のためのメモリを割り当てるべきである。0に等しいlong_term_ref_pics_flagは、LTRPがCVS内のいかなるコーディングされたピクチャのインター予測にも使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、LTRPがCVS内の1つまたは複数のコーディングされたピクチャのインター予測のために使用される可能性があることを指定する。additional_lt_poc_lsbは、参照ピクチャリストに関する復号プロセスにおいて使用される変数MaxLtPicOrderCntLsbの値を次のように、すなわち、MaxLtPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 + additional_lt_poc_lsb )のように指定する。additional_lt_poc_lsbの値は、0および32 - log2_max_pic_order_cnt_lsb_minus4 - 4を含んで0から32 - log2_max_pic_order_cnt_lsb_minus4 - 4までの範囲内にある。存在しないとき、additional_lt_poc_lsbの値は、0に等しいと推測される。
ピクチャパラメータセットのRBSPのセマンティクスが、検討される。
スライスヘッダのセマンティクス
存在するとき、スライスヘッダのシンタックス要素slice_pic_parameter_set_idおよびslice_pic_order_cnt_lsbの各々の値は、コーディングされたピクチャのすべてのスライスヘッダにおいて同じである。slice_typeは、Table 7-3(表12)に従ってスライスのコーディングタイプを指定する。
Figure 2021534668
nal_unit_typeがIRAP_NUTに等しい、すなわち、ピクチャがIRAPピクチャであるとき、slice_typeは、2に等しい。... slice_pic_order_cnt_lsbは、現在のピクチャに関するピクチャ順序カウントのモジュロMaxPicOrderCntLsbを指定する。slice_pic_order_cnt_lsbシンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4 + 4ビットである。slice_pic_order_cnt_lsbの値は、0およびMaxPicOrderCntLsb - 1を含んで0からMaxPicOrderCntLsb - 1までの範囲内にある。slice_pic_order_cnt_lsbが存在しないとき、slice_pic_order_cnt_lsbは、0に等しいと推測される。1に等しいref_pic_list_sps_flag[i]は、現在のピクチャの参照ピクチャリストiがアクティブなSPS内のref_pic_list_struct(rplsIdx, ltrpFlag)のうちの1つに基づいて導出されることを指定する。0に等しいref_pic_list_sps_flag[i]は、現在のピクチャの参照ピクチャリストiが現在のピクチャのスライスヘッダに直接含まれるref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造に基づいて導出されることを指定する。num_ref_pic_lists_in_spsが0に等しいとき、ref_pic_list_sps_flag[i]の値は、0に等しい。ref_pic_list_idx[i]は、現在のピクチャの参照ピクチャリストiの導出のために使用されるref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造の、アクティブなSPSに含まれるref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のリストへのインデックスを指定する。シンタックス要素ref_pic_list_idx[i]は、Ceil( Log2(num_ref_pic_lists_in_sps) )ビットによって表される。存在しないとき、ref_pic_list_idx[i]の値は、0に等しいと推測される。ref_pic_list_idx[i]の値は、0およびnum_ref_pic_lists_in_sps - 1を含んで0からnum_ref_pic_lists_in_sps - 1までの範囲内にある。1に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]がPおよびBスライスに関して存在することと、シンタックス要素num_ref_idx_active_minus1[1]がBスライスに関して存在することとを指定する。0に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]およびnum_ref_idx_active_minus1[1]が存在しないことを指定する。
num_ref_idx_active_minus1[i]は、存在するとき、変数NumRefIdxActive[i]の値を次のように、すなわち、NumRefIdxActive[i] = num_ref_idx_active_minus1[i] + 1のように指定する。num_ref_idx_active_minus1[i]の値は、0および14を含んで0から14までの範囲内にある。NumRefIdxActive[i]の値 - 1は、スライスを復号するために使用される可能性がある参照ピクチャリストiに関する最大の参照インデックスを指定する。NumRefIdxActive[i]の値が0に等しいとき、参照ピクチャリストiに関する参照インデックスは、スライスを復号するために使用されない可能性がある。0または1に等しいiに関して、現在のスライスがBスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[i]は、num_ref_idx_default_active_minus1[i] + 1に等しいと推測される。現在のスライスがPスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[0]は、num_ref_idx_default_active_minus1[0] + 1に等しいと推測される。現在のスライスがPスライスであるとき、NumRefIdxActive[1]は、0に等しいと推測される。現在のスライスがIスライスであるとき、NumRefIdxActive[0]とNumRefIdxActive[1]との両方は、0に等しいと推測される。
代替的に、0または1に等しいiに関して、以上の後、以下のことが適用される。rplsIdx1がref_pic_list_sps_flag[i] ? ref_pic_list_idx[i] : num_ref_pic_lists_in_sps[i]に等しいように設定され、numRpEntries[i]がnum_strp_entries[i][rplsIdx1] + num_ltrp_entries[i][rplsIdx1]に等しいものとする。NumRefIdxActive[i]がnumRpEntries[i]よりも大きいとき、NumRefIdxActive[i]の値は、numRpEntries[i]に等しいように設定される。
参照ピクチャリスト構造のセマンティクス
ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造は、SPS内またはスライスヘッダ内に存在する可能性がある。シンタックス構造がスライスヘッダに含まれるのかまたはSPSに含まれるのかに応じて、以下のことが適用される。スライスヘッダ内に存在する場合、ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の参照ピクチャリストを指定する。そうでない(SPS内に存在する)場合、ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造は、候補参照ピクチャリストを指定し、このセクションの残りにおいて明示されるセマンティクスにおける用語「現在のピクチャ」は、1)SPSに含まれるref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のリストへのインデックスに等しいref_pic_list_idx[i]を含む1つまたは複数のスライスを有し、2)SPSをアクティブなSPSとして有するCVS内にある各ピクチャを指す。num_strp_entries[rplsIdx]は、ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のSTRPエントリの数を指定する。num_ltrp_entries[rplsIdx]は、ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のLTRPエントリの数を指定する。存在しないとき、num_ltrp_entries[rplsIdx]の値は、0に等しいと推測される。
変数NumEntriesInList[rplsIdx]は、次のように、すなわち、NumEntriesInList[rplsIdx] = num_strp_entries[rplsIdx] + num_ltrp_entries[rplsIdx]のように導出される。NumEntriesInList[rplsIdx]の値は、0およびsps_max_dec_pic_buffering_minus1を含んで0からsps_max_dec_pic_buffering_minus1までの範囲内にある。1に等しいlt_ref_pic_flag[rplsIdx][i]は、ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のi番目のエントリがLTRPエントリであることを指定する。0に等しいlt_ref_pic_flag[rplsIdx][i]は、ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のi番目のエントリがSTRPエントリであることを指定する。存在しないとき、lt_ref_pic_flag[rplsIdx][i]の値は、0に等しいと推測される。0およびNumEntriesInList[rplsIdx] - 1を含んで0からNumEntriesInList[rplsIdx] - 1までの範囲内にあるiのすべての値に関するlt_ref_pic_flag[rplsIdx][i]の総和がnum_ltrp_entries[rplsIdx]に等しいことが、ビットストリームの準拠の要件である。delta_poc_st[rplsIdx][i]は、i番目のエントリがref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造の最初のSTRPエントリであるとき、現在のピクチャのピクチャ順序カウントの値とi番目のエントリによって参照されるピクチャのピクチャ順序カウントの値との間の差を指定し、またはi番目のエントリがref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のSTRPエントリであるが最初のSTRPエントリではないとき、i番目のエントリによって参照されるピクチャのピクチャ順序カウントの値とref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造の前のSTRPエントリによって参照されるピクチャのピクチャ順序カウントの値との間の差を指定する。delta_poc_st[rplsIdx][i]の値は、0および215 - 1を含んで0から215 - 1までの範囲内にある。poc_lsb_lt[rplsIdx][i]は、ref_pic_list_struct(rplsIdx, ltrpFlag)シンタックス構造のi番目のエントリによって参照されるピクチャのピクチャ順序カウントのモジュロMaxLtPicOrderCntLsbの値を指定する。poc_lsb_lt[rplsIdx][i]シンタックス要素の長さは、Log2(MaxLtPicOrderCntLsb)ビットである。
本開示の第1の実施形態の詳細な説明の一部として明示された全体的な復号プロセスが、適用される。NALユニット復号プロセスが、説明される。本開示の第1の実施形態の詳細な説明の一部として明示されたNALユニット復号プロセスが、適用される。
スライス復号プロセスが、提供される。
ピクチャ順序カウントに関する復号プロセス
本開示の第1の実施形態の詳細な説明の一部として明示されたピクチャ順序カウントに関する復号プロセスが、適用される。
参照ピクチャリストの構築のための復号プロセス
このプロセスは、非IRAPピクチャの各スライスに関する復号プロセスの初めに呼び出される。参照ピクチャは、参照インデックスによってアドレス指定される。参照インデックスは、参照ピクチャリストへのインデックスである。Iスライスを復号するとき、参照ピクチャリストは、スライスデータの復号において使用されない。Pスライスを復号するとき、参照ピクチャリスト0(すなわち、RefPicList[0])のみが、スライスデータの復号において使用される。Bスライスを復号するとき、参照ピクチャリスト0と参照ピクチャリスト1(すなわち、RefPicList[1])との両方が、スライスデータの復号において使用される。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストRefPicList[0]およびRefPicList[1]が、導出される。参照ピクチャリストは、参照ピクチャのマーキングにおいてまたはスライスデータの復号において使用される。ピクチャの最初のスライスでない非IRAPピクチャのIスライスに関して、RefPicList[0]およびRefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、それらの導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。ピクチャの最初のスライスでないPスライスに関して、RefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、その導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
for( i = 0; i < 2; i++ ) {
if( ref_pic_list_sps_flag[i] )
RplsIdx[i] = ref_pic_list_idx[i]
else
RplsIdx[i] = num_ref_pic_lists_in_sps
for( j = 0, pocBase = PicOrderCntVal; j < NumEntriesInList[RplsIdx[i]]; j++ ) {
if( !lt_ref_pic_flag[RplsIdx[i]][j] ) {
RefPicPocList[i][j] = pocBase - delta_poc_st[RplsIdx[i]][j]
if( PicOrderCntValがRefPicPocList[i][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
pocBase = RefPicPocList[i][j]
} else {
if( PicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )がpoc_lsb_lt[RplsIdx[i]][j]に等しいDPB内の参照picAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
}
}
}
0または1に等しい各iに関して、以下のことが適用される。RefPicList[i]の最初のNumRefIdxActive[i]個のエントリが、RefPicList[i]のアクティブなエントリと呼ばれ、RefPicList[i]のその他のエントリは、RefPicList[i]の非アクティブなエントリと呼ばれる。0およびNumEntriesInList[RplsIdx[i]] - 1を含んで0からNumEntriesInList[RplsIdx[i]] - 1までの範囲内のjに関してRefPicList[i][j]の各エントリは、lt_ref_pic_flag[RplsIdx[i]][j]が0に等しい場合、STRPエントリと呼ばれ、そうでない場合、LTRPエントリと呼ばれる。特定のピクチャが、RefPicList[0]のエントリとRefPicList[1]のエントリとの両方によって参照されることが可能である。特定のピクチャが、RefPicList[0]の2つ以上のエントリによってまたはRefPicList[1]の2つ以上のエントリによって参照されることも可能である。RefPicList[0]のアクティブなエントリおよびRefPicList[1]のアクティブなエントリは、現在のピクチャおよび復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測のために使用される可能性があるすべての参照ピクチャを集合的に指す。RefPicList[0]の非アクティブなエントリおよびRefPicList[1]の非アクティブなエントリは、現在のピクチャのインター予測のために使用されないが、復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測において使用される可能性があるすべての参照ピクチャを集合的に指す。対応するピクチャがDPB内に存在しないので「no reference picture」に等しいRefPicList[0]またはRefPicList[1]の1つまたは複数のエントリが、存在する可能性がある。「no reference picture」に等しいRefPicList[0]またはRefPicList[1]のそれぞれの非アクティブなエントリは、無視されるべきである。「no reference picture」に等しいRefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリに関しては、意図しないピクチャの喪失が、推測されるべきである。
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[RplsIdx[i]]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
参照ピクチャのマーキングのための復号プロセスが、検討される。
このプロセスは、スライスヘッダの復号およびスライスに関する参照ピクチャリストの構築のための復号プロセスの後であるが、スライスデータの復号の前に、ピクチャ毎に1回呼び出される。このプロセスは、DPB内の1つまたは複数の参照ピクチャが「参照のために使用されない」または「長期的参照のために使用される」と印を付けられる結果をもたらす可能性がある。DPB内の復号されたピクチャは、「参照のために使用されない」、「短期的参照のために使用される」、または「長期的参照のために使用される」として、ただし、復号プロセスの動作中の任意の所与の瞬間にこれら3つのうちのただ1つとして印を付けられ得る。ピクチャにこれらのマーキングのうちの1つを割り振ることは、該当する場合、これらのマーキングのうちの別のマーキングを暗黙的に削除する。ピクチャが「参照のために使用される」と印を付けられていると言われるとき、これは、集合的に、ピクチャが「短期的参照のために使用される」または「長期的参照のために使用される」として(ただし、両方ではない)印を付けられていることを指す。現在のピクチャがIRAPピクチャであるとき、現在DPB内にあるすべての参照ピクチャ(もしあれば)は、「参照のために使用されない」と印を付けられる。STRPは、それらのPicOrderCntVal値によって特定される。LTRPは、それらのPicOrderCntVal値のLog2(MaxLtPicOrderCntLsb) LSBによって特定される。
以下のことが、適用される。RefPicList[0]またはRefPicList[1]の各LTRPエントリに関して、参照されるピクチャがSTRPであるとき、ピクチャは、「長期的参照のために使用される」と印を付けられる。RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されないDPB内の各参照ピクチャは、「参照のために使用されない」と印を付けられる。
図5は、ビデオデコーダ(たとえば、ビデオデコーダ30)によって実施されるコーディングされたビデオビットストリームを復号する方法500の実施形態である。方法500は、復号されたビットストリームがビデオエンコーダ(たとえば、ビデオエンコーダ20)から直接的または間接的に受信された後に実行される可能性がある。方法500は、復号プロセスを改善する(たとえば、復号プロセスを通常の復号プロセスよりも効率的にする、高速にするなど)ために実行される可能性がある。したがって、実際の問題として、コーデックの性能が、改善されることが可能であり、それが、より良いユーザエクスペリエンスにつながる。
ブロック502において、コーディングされたビデオビットストリーム内に示されたパラメータセットが、解析される。実施形態において、パラメータセットは、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む。
ブロック504において、コーディングされたビデオビットストリーム内に示された現在のスライスのスライスヘッダが、解析される。実施形態において、スライスヘッダは、パラメータセット内の参照ピクチャリスト構造のセットのうちの参照ピクチャリスト構造のインデックスを含む。
ブロック506において、現在のスライスの参照ピクチャリストが、導出される。実施形態において、参照ピクチャリストは、パラメータセット内のシンタックス要素のセットおよび参照ピクチャリスト構造のインデックスに基づいて導出される。実施形態において、参照ピクチャリスト構造のエントリの順序は、参照ピクチャリスト内の対応する参照ピクチャの順序と同じである。実施形態において、順序は、ゼロから示された値までである。実施形態において、示された値は、ゼロからsps_max_dec_pic_buffering_minus1によって示される値までである。
ブロック508において、現在のスライスの少なくとも1つの再構築されたブロックが、取得される。実施形態において、現在のスライスの少なくとも1つの再構築されたブロックは、参照ピクチャリストに基づいて再構築される。再構築プロセスの後、ビデオデコーダは、ビデオまたは画像を出力することができる。実施形態においては、そのビデオまたは画像が、電子デバイス(たとえば、スマートフォン、タブレット、ラップトップなど)のディスプレイ上に表示される可能性がある。
実施形態において、参照ピクチャリストは、指定されたRefPictList[0]またはRefPictList[1]である。実施形態において、参照ピクチャリストは、インター予測のために使用される参照ピクチャのリストを含む。実施形態において、インター予測は、PスライスのためまたはBスライスのためのものである。実施形態において、パラメータセットからのシンタックス要素のセットは、ネットワーク抽象化レイヤ(NAL)ユニットの未加工バイトシーケンスペイロード(RBSP)に配置される。
第1のおよび第2の実施形態に基づく代替的な実施形態の概要が、与えられる。
このセクションは、本開示のその他の代替的な実施形態の簡潔な概要を与える。概要は、第1の実施形態の説明に関連する。しかし、以下の代替的な実施形態に関する本開示の基本的な概念は、第2の実施形態に関する本開示を熟知した実装のためにも適用可能である。そのような実装は、第1の実施形態を熟知したうえで態様が実装される方法と同じ趣旨である。
短期的参照ピクチャのエントリの差分POCのセマンティクス
本開示の1つの代替的な実施形態において、参照ピクチャリスト構造ref_pic_list_struct( )のi番目のエントリの差分POCを指定するシンタックス要素のセマンティック(semantic)は、現在のピクチャとi番目のエントリに関連する参照ピクチャとの間のPOCの差として定義される。本明細書において使用される記述の一部は、差分のみが示されるかまたは記述される現在の規格の草案(たとえば、VVCの作業草案)に関連する。削除されたテキストは、取り消し線によって示され、任意の追加されたテキストは、強調される。
delta_poc_st[listIdx][rplsIdx][i]のセマンティックは、以下のように定義される。delta_poc_st[listIdx][rplsIdx][i]は、現在のピクチャのピクチャ順序カウントの値とi番目のエントリによって参照されるピクチャのピクチャ順序カウントの値との間の差を指定する。delta_poc_st[listIdx][rplsIdx][i]の値は、-215および215 - 1を含んで-215から215 - 1までの範囲内にある。
参照ピクチャリストの構築プロセスの等式は、更新される必要がある。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
長期的参照ピクチャのエントリのシグナリング
本開示の1つの代替的な実施形態において、長期的参照ピクチャのエントリは、短期的参照ピクチャのエントリを含む同じ参照ピクチャリスト構造内でシグナリングされない。長期的参照ピクチャのエントリは別個の構造内でシグナリングされ、構造の各エントリに関して、最終的な参照ピクチャリスト内の対応するエントリインデックスの導出のための、長期的参照ピクチャの意図された位置を記述するシンタックス要素が存在する。
シーケンスパラメータセットのRBSPのシンタックス
Figure 2021534668
スライスヘッダのシンタックス
Figure 2021534668
参照ピクチャリスト構造のシンタックス
Figure 2021534668
長期的参照ピクチャリスト構造のシンタックス
Figure 2021534668
シーケンスパラメータセットのRBSPのセマンティクス
num_ref_pic_lists_lt_in_spsは、SPSに含まれるref_pic_list_lt_struct(ltRplsIdx)シンタックス構造の数を指定する。num_ref_pic_lists_lt_in_spsの値は、0および64を含んで0から64までの範囲内にある。存在しないとき、num_ref_pic_lists_lt_in_spsの値は、0に等しいと推測される。
スライスヘッダのセマンティクス
ref_pic_list_lt_idx[i]は、現在のピクチャの参照ピクチャリストiの導出のために使用されるアクティブなSPSに含まれるref_pic_list_lt_struct(ltRplsIdx)シンタックス構造のリストへのインデックスを指定する。シンタックス要素ref_pic_list_lt_idx[i]は、Ceil( Log2(num_ref_pic_lists_lt_in_sps) )ビットによって表される。ref_pic_list_lt_idxの値は、0およびnum_ref_pic_lists_lt_in_sps - 1を含んで0からnum_ref_pic_lists_lt_in_sps - 1までの範囲内にある。
参照ピクチャリスト構造のセマンティクス
ref_pic_list_struct(listIdx, rplsIdx)シンタックス構造は、SPS内またはスライスヘッダ内に存在する可能性がある。シンタックス構造がスライスヘッダに含まれるのかまたはSPSに含まれるのかに応じて、以下のことが適用される。スライスヘッダ内に存在する場合、ref_pic_list_struct(listIdx, rplsIdx)シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の短期的参照ピクチャリストのlistIdxを指定する。そうでない(SPS内に存在する)場合、ref_pic_list_struct(listIdx, rplsIdx)シンタックス構造は、短期的参照ピクチャリストのlistIdxに関する候補を指定し、このセクションの残りにおいて明示されるセマンティクスにおける用語「現在のピクチャ」は、1)SPSに含まれるref_pic_list_struct(listIdx, rplsIdx)シンタックス構造のリストへのインデックスに等しいref_pic_list_idx[listIdx]を含む1つまたは複数のスライスを有し、2)SPSをアクティブなSPSとして有するCVS内にある各ピクチャを指す。num_strp_entries[listIdx][rplsIdx]は、ref_pic_list_struct(listIdx, rplsIdx)シンタックス構造のSTRPエントリの数を指定する。
Figure 2021534668
Figure 2021534668
Figure 2021534668
Figure 2021534668
Figure 2021534668
Figure 2021534668
delta_poc_st[listIdx][rplsIdx][i]は、i番目のエントリがref_pic_list_struct(listIdx, rplsIdx)シンタックス構造の最初のSTRPエントリであるとき、現在のピクチャのピクチャ順序カウントの値とi番目のエントリによって参照されるピクチャのピクチャ順序カウントの値との間の差を指定し、またはi番目のエントリがref_pic_list_struct(listIdx, rplsIdx)シンタックス構造のSTRPエントリであるが最初のSTRPエントリではないとき、i番目のエントリによって参照されるピクチャのピクチャ順序カウントの値とref_pic_list_struct(listIdx, rplsIdx)シンタックス構造の前のSTRPエントリによって参照されるピクチャのピクチャ順序カウントの値との間の差を指定する。delta_poc_st[listIdx][rplsIdx][i]の値は、-215および215 - 1を含んで-215から215 - 1までの範囲内にある。
Figure 2021534668
長期的参照ピクチャリスト構造のセマンティクス
ref_pic_list_lt_struct(ltRplsIdx)シンタックス構造は、SPS内またはスライスヘッダ内に存在する可能性がある。シンタックス構造がスライスヘッダに含まれるのかまたはSPSに含まれるのかに応じて、以下のことが適用される。スライスヘッダ内に存在する場合、ref_pic_list_lt_struct(ltRplsIdx)シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の長期的参照ピクチャリストを指定する。そうでない(SPS内に存在する)場合、ref_pic_list_struct(listIdx, rplsIdx)シンタックス構造は、長期的参照ピクチャリストに関する候補を指定し、このセクションの残りにおいて明示されるセマンティクスにおける用語「現在のピクチャ」は、1)SPSに含まれるref_pic_list_lt_struct(ltRplsIdx)シンタックス構造のリストへのインデックスに等しいref_pic_list_lt_idx[i]を含む1つまたは複数のスライスを有し、2)SPSをアクティブなSPSとして有するCVS内にある各ピクチャを指す。num_ltrp_entries[ltRplsIdx]は、ref_pic_list_lt_struct(ltRplsIdx)シンタックス構造のLTRPエントリの数を指定する。poc_lsb_lt[rplsIdx][i]は、ref_pic_list_lt_struct(rplsIdx)シンタックス構造のi番目のエントリによって参照されるピクチャのピクチャ順序カウントのモジュロMaxLtPicOrderCntLsbの値を指定する。poc_lsb_lt[rplsIdx][i]シンタックス要素の長さは、Log2(MaxLtPicOrderCntLsb)ビットである。lt_pos_idx[rplsIdx][i]は、参照ピクチャリストの構築後の参照ピクチャリスト内のref_pic_list_lt_struct(rplsIdx)シンタックス構造のi番目のエントリのインデックスを指定する。lt_pos_idx[rplsIdx][i]シンタックス要素の長さは、Log2( sps_max_dec_pic_buffering_minus1 + 1 )ビットである。num_ltrp_entries[ltRplsIdx]が1を超えているとき、poc_lsb_lt[rplsIdx][i]およびlt_pos_idx[rplsIdx][i]は、lt_pos_idx[rplsIdx][i]の値の降順である。
復号プロセスが、説明される。
参照ピクチャリストの構築のための復号プロセス
このプロセスは、非IRAPピクチャの各スライスに関する復号プロセスの初めに呼び出される。参照ピクチャは、参照インデックスによってアドレス指定される。参照インデックスは、参照ピクチャリストへのインデックスである。Iスライスを復号するとき、参照ピクチャリストは、スライスデータの復号において使用されない。Pスライスを復号するとき、参照ピクチャリスト0(すなわち、RefPicList[0])のみが、スライスデータの復号において使用される。Bスライスを復号するとき、参照ピクチャリスト0と参照ピクチャリスト1(すなわち、RefPicList[1])との両方が、スライスデータの復号において使用される。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストRefPicList[0]およびRefPicList[1]が、導出される。参照ピクチャリストは、参照ピクチャのマーキングにおいてまたはスライスデータの復号において使用される。ピクチャの最初のスライスでない非IRAPピクチャのIスライスに関して、RefPicList[0]およびRefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、それらの導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。ピクチャの最初のスライスでないPスライスに関して、RefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、その導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
0または1に等しい各iに関して、以下のことが適用される。RefPicList[i]の最初のNumRefIdxActive[i]個のエントリが、RefPicList[i]のアクティブなエントリと呼ばれ、RefPicList[i]のその他のエントリは、RefPicList[i]の非アクティブなエントリと呼ばれる。0およびNumEntriesInList[i][RplsIdx[i]] - 1を含んで0からNumEntriesInList[i][RplsIdx[i]] - 1までの範囲内のjに関してRefPicList[i][j]の各エントリは、lt_ref_pic_flag[i][RplsIdx[i]][j]が0に等しい場合、STRPエントリと呼ばれ、そうでない場合、LTRPエントリと呼ばれる。特定のピクチャが、RefPicList[0]のエントリとRefPicList[1]のエントリとの両方によって参照されることが可能である。特定のピクチャが、RefPicList[0]の2つ以上のエントリによってまたはRefPicList[1]の2つ以上のエントリによって参照されることも可能である。RefPicList[0]のアクティブなエントリおよびRefPicList[1]のアクティブなエントリは、現在のピクチャおよび復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測のために使用される可能性があるすべての参照ピクチャを集合的に指す。RefPicList[0]の非アクティブなエントリおよびRefPicList[1]の非アクティブなエントリは、現在のピクチャのインター予測のために使用されないが、復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測において使用される可能性があるすべての参照ピクチャを集合的に指す。対応するピクチャがDPB内に存在しないので「no reference picture」に等しいRefPicList[0]またはRefPicList[1]の1つまたは複数のエントリが、存在する可能性がある。「no reference picture」に等しいRefPicList[0]またはRefPicList[0]のそれぞれの非アクティブなエントリは、無視されるべきである。「no reference picture」に等しいRefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリに関しては、意図しないピクチャの喪失が、推測されるべきである。
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、RefPicList[i]のエントリの数が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
短期的参照ピクチャのエントリの数のシグナリングが、検討される。
本開示の1つの代替的な実施形態において、参照ピクチャリスト構造ref_pic_list_struct( )内の短期的参照ピクチャに関連するエントリの数を指定するシンタックス要素は、num_strp_entries[listIdx][rplsIdx]の代わりにnum_strp_entries_minus1[listIdx][rplsIdx]として定義される。変更は、参照ピクチャリストのシグナリングに関して2つの効果を有する。変更は、要素がue(v)を使用してコーディングされるので、参照ピクチャリスト構造内の短期的参照ピクチャに関連するエントリの数をシグナリングするためのビットを節約する可能性がある。変更は、各参照ピクチャリストが少なくとも1つの短期的参照ピクチャを含むような制約を暗黙的に課す。この着想に対応するために、第1の実施形態に関連するいくつかの変更が必要とされる。
スライスヘッダ内での参照ピクチャリストのシグナリングに関しては、必要な参照ピクチャリストのみが、スライスタイプに応じてシグナリングされ、すなわち、IまたはPスライスに関しては1つの参照ピクチャリスト(すなわち、参照ピクチャリスト0)がシグナリングされ、Bスライスに関しては2つの参照ピクチャリスト(すなわち、参照ピクチャリスト0と参照ピクチャリスト1との両方)がシグナリングされる。スライスヘッダのシンタックスが、以下のように変更される。
Figure 2021534668
スライスヘッダの上記変更(すなわち、IまたはPスライスに関して参照ピクチャリスト0およびBスライスに関して参照ピクチャ0および参照ピクチャ1)を適用することによって、それは、Pスライスに関して1つの短期的参照ピクチャのみが存在する場合に方式が問題に陥ることを防ぐ。しかし、重複した短期的参照ピクチャは、参照ピクチャリスト0および参照ピクチャリスト1内でシグナリングされ得ず、参照ピクチャリスト1のアクティブエントリの数が0に等しくなければならないので、参照ピクチャリスト1のエントリは非アクティブなエントリである。num_strp_entries_minus1[listIdx][rplsIdx]のセマンティックは、以下のように変更される。num_strp_entries_minus1[listIdx][rplsIdx]に1を足した値が、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のSTRPエントリの数を指定する。変数NumEntriesInList[listIdx][rplsIdx]は、次のように、すなわち、NumRefPicEntriesInRpl[listIdx][rplsIdx] = num_strp_entries_minus1[listIdx][rplsIdx] + 1 + num_ltrp_entries[listIdx][rplsIdx]のように導出される。NumRefPicEntries[listIdx][rplsIdx]の値は、1およびsps_max_dec_pic_buffering_minus1を含んで1からsps_max_dec_pic_buffering_minus1までの範囲内にある。
参照ピクチャリストへの現在のピクチャの包含を許すこと
本開示の1つの代替的な実施形態においては、現在のピクチャが、その参照ピクチャリストに含まれることを許される。この特徴をサポートするために、第1のおよび第2の実施形態におけるそれらの説明に関連して必要とされるシンタックスおよびセマンティクスの変更はない。しかし、参照ピクチャリストの構築のための復号プロセスにおいて説明されているビットストリームの準拠の制約が、以下のように修正される必要がある。以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[i][RplsIdx[i]]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。
Figure 2021534668
0または1に等しいiに関して現在のピクチャがRefPicList[i]のエントリによって参照されるとき、エントリインデックスが、NumRefIdxActive[i]未満である。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。現在のピクチャがsetOfRefPicsに含まれない場合、setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、そうでない場合、setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1 + 1以下である。setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
参照ピクチャリスト内のLTRPエントリに関して異なるPOC LSBビットを使用すること
本開示の1つの代替的な実施形態において、参照ピクチャリスト構造内の長期的参照ピクチャを特定するために使用されるビットの数が、参照ピクチャリスト0と参照ピクチャリスト1との間で異なることが許される。この特徴をサポートするために、以下の変更が必要とされる。
Figure 2021534668
additional_lt_poc_lsb[i]が、iに等しい参照ピクチャリストのlistIdxに関する復号プロセスにおいて使用される変数MaxLtPicOrderCntLsb[i]の値を次のように、すなわち、MaxLtPicOrderCntLsb[i] = 2( log2_max_pic_order_cnt_lsb_ minus4 + 4 + additional_lt_poc_lsb[i] )のように指定する。additional_lt_poc_lsb[i]の値は、0および32 - log2_max_pic_order_cnt_lsb_minus4 - 4を含んで0から32 - log2_max_pic_order_cnt_lsb_minus4 - 4までの範囲内にある。存在しないとき、additional_lt_poc_lsb[i]の値は、0に等しいと推測される。
poc_lsb_lt[listIdx][rplsIdx][i]は、ref_pic_list_struct(listIdx, rplsIdx, ltrpFlag)シンタックス構造のi番目のエントリによって参照されるピクチャのピクチャ順序カウントのモジュロMaxLtPicOrderCntLsb[listIdx]の値を指定する。poc_lsb_lt[listIdx][rplsIdx][i]シンタックス要素の長さは、Log2(MaxLtPicOrderCntLsb[listIdx])ビットである。
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
for( i = 0; i < 2; i++ ) {
if( ref_pic_list_sps_flag[i] )
RplsIdx[i] = ref_pic_list_idx[i]
else
RplsIdx[i] = num_ref_pic_lists_in_sps[i]
for( j = 0, pocBase = PicOrderCntVal; j < NumEntriesInList[i][RplsIdx[i]]; j++ ) {
if( !lt_ref_pic_flag[i][RplsIdx[i]][j] ) {
RefPicPocList[i][j] = pocBase - delta_poc_st[i][RplsIdx[i]][j]
if( PicOrderCntValがRefPicPocList[i][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
pocBase = RefPicPocList[i][j]
} else {
if( PicOrderCntVal & ( MaxLtPicOrderCntLsb[i] - 1 )がpoc_lsb_lt[i][RplsIdx[i]][j]に等しいDPB内の参照picAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
}
}
}
参照ピクチャリスト0および1に関して同じref_pic_list_sps_flagを使用すること
本開示の1つの代替的な実施形態においては、参照ピクチャリスト0および参照ピクチャリスト1がアクティブなSPS内のref_pic_list_struct( )シンタックス構造に基づいて導出されるかどうかを示すために2つのフラグを使用する代わりに、両方の参照ピクチャリストのために1つのフラグが使用される。そのような代替は、両方の参照ピクチャリストがアクティブなSPS内のref_pic_list_struct( )に基づいて導出されるか、またはそれらの参照ピクチャリストが現在のピクチャのスライスヘッダに直接含まれるref_pic_list_struct( )シンタックス構造に基づいて導出されるかのどちらかあると制約する。この特徴をサポートするために、以下の変更が必要とされる。
Figure 2021534668
Figure 2021534668
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
長期的参照ピクチャのエントリに関する差分POC最上位ビット(MSB)のシグナリング
本開示の1つの代替的な実施形態においては、ref_pic_list_struct( )内の長期的参照ピクチャのエントリのPOC LSBを表すための追加のビットを使用する代わりに、POC MSBサイクルが、長期的参照ピクチャを区別するためにシグナリングされる。シグナリングされるとき、POC MSBサイクル情報が、長期的参照ピクチャを指すref_pic_list_struct( )内の各エントリに関してシグナリングされる。ref_pic_list_struct( )シンタックス構造は、SPS内でシグナリングされず、スライスヘッダ内でのみシグナリングされる。この特徴をサポートするために、以下の変更が必要とされる。
Figure 2021534668
Figure 2021534668
Figure 2021534668
Figure 2021534668
Figure 2021534668
Figure 2021534668
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
代替的に、delta_poc_msb_cycle_lt[listIdx][i]のセマンティクスは、参照ピクチャリストの構築が以下のように更新され得るように差分の差分として表現されることが可能である。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[i][RplsIdx[i]]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
各STRPは、そのPicOrderCntVal値によって特定される。各LTRPに関して、そのLTRPがdelta_poc_msb_present_flag[listIdx][i]が1に等しいRefPicList[0]またはRefPicList[1]のエントリによって参照される場合、そのLTRPは、そのPicOrderCntVal値によって特定され、そうでない場合、そのLTRPは、そのPicOrderCntVal値のLog2(MaxPicOrderCntLsb) LSBによって特定される。
長期的参照ピクチャのエントリに関する差分POC MSBのシグナリングの代替1
この実施形態は、前のセクションにおいて説明された実施形態の代替を提供する。前のセクションの着想と同様に、ref_pic_list_struct( )内の長期的参照ピクチャのPOC LSBを表すための追加のビットを使用する代わりに、POC MSBサイクルが、長期的参照ピクチャを区別するためにシグナリングされる。しかし、この代替においては、シグナリングされるとき、POC MSBサイクル情報は、ref_pic_list_struct( )内でシグナリングされず、その代わりに、POC MSBサイクル情報が必要とされるとき、POC MSBサイクル情報は、スライスヘッダ内でシグナリングされる。ref_pic_list_struct( )シンタックス構造は、SPS内およびスライスヘッダ内でシグナリングされる可能性がある。
Figure 2021534668
Figure 2021534668
Figure 2021534668
1に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在することを指定する。0に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在しないことを指定する。NumLtrpEntries[i]が0を超えており、ref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のj番目のLTRPエントリに関して、スライスヘッダが復号されるときにPicOrderCntValのモジュロMaxPicOrderCntLsbがpoc_lsb_lt[i][rplsIdx][jj]に等しい2つ以上の参照ピクチャがDPB内に存在し、jjが、ref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のj番目のLTRPエントリであるref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のエントリのエントリインデックスであるとき、delta_poc_msb_present_flag[i][j]は、1に等しい。存在しないとき、delta_poc_msb_cycle_lt[i][j]の値は、0に等しいと推測される。delta_poc_msb_cycle_lt[i][j]は、ref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のj番目のLTRPエントリのピクチャ順序カウントの値の最上位ビットの値を決定するために使用される。delta_poc_msb_cycle_lt[i][j]が存在しないとき、delta_poc_msb_cycle_lt[i][j]は、0に等しいと推測される。
Figure 2021534668
Figure 2021534668
1に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在することを指定する。0に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在しないことを指定する。NumLtrpEntries[i]が0を超えており、スライスヘッダが復号されるときにPicOrderCntValのモジュロMaxPicOrderCntLsbがpoc_lsb_lt[i][rplsIdx][j]に等しい2つ以上の参照ピクチャがDPB内に存在するとき、delta_poc_msb_present_flag[i][j]は、1に等しい。存在しないとき、delta_poc_msb_cycle_lt[i][j]の値は、0に等しいと推測される。delta_poc_msb_cycle_lt[i][j]は、ref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のj番目のエントリのピクチャ順序カウントの値の最上位ビットの値を決定するために使用される。delta_poc_msb_cycle_lt[i][j]が存在しないとき、delta_poc_msb_cycle_lt[i][j]は、0に等しいと推測される。
Figure 2021534668
ピクチャ順序カウントに関する復号プロセスに対する変更。
Figure 2021534668
スライスヘッダの設計1に関して、参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
代替的に、スライスヘッダの設計1に関して、delta_poc_msb_cycle_lt[listIdx][i]のセマンティクスは、参照ピクチャリストの構築が以下のように更新され得るように差分の差分として表現されることが可能である。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
スライスヘッダの設計2に関して、参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
代替的に、スライスヘッダの設計2に関して、delta_poc_msb_cycle_lt[listIdx][i]のセマンティクスは、参照ピクチャリストの構築が以下のように更新され得るように差分の差分として表現されることが可能である。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
Figure 2021534668
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[i][RplsIdx[i]]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
各STRPは、そのPicOrderCntVal値によって特定される。各LTRPに関して、そのLTRPがdelta_poc_msb_present_flag[i][j]が1に等しいRefPicList[0]またはRefPicList[1]のエントリによって参照される場合、そのLTRPは、そのPicOrderCntVal値によって特定され、そうでない場合、そのLTRPは、そのPicOrderCntVal値のLog2(MaxPicOrderCntLsb) LSBによって特定される。
長期的参照ピクチャのエントリに関する差分POC MSBのシグナリングの代替2
本開示の1つの代替的な実施形態において、第1の実施形態または第2の実施形態において説明された開示は、上述の、それぞれ「長期的参照ピクチャのエントリに関する差分POC MSBのシグナリング」および「長期的参照ピクチャのエントリに関する差分POC MSBのシグナリングの代替1」と呼ばれる実施形態と組み合わされ得る。組み合わされる本開示の態様は、additional_lt_poc_lsbの(すなわち、第1の実施形態または第2の実施形態からの)およびPOC MSBサイクル情報の(すなわち、上述の、「長期的参照ピクチャのエントリに関する差分POC MSBのシグナリング」および「長期的参照ピクチャのエントリに関する差分POC MSBのシグナリングの代替1」と呼ばれる実施形態からの)シグナリングである。第1の実施形態と、上述の、「長期的参照ピクチャのエントリに関する差分POC MSBのシグナリングの代替1」と呼ばれる実施形態とを組み合わせる組合せがどのように行われ得るのかの一例が、以下のように示される。
Figure 2021534668
Figure 2021534668
1に等しいdelta_poc_msb_present_flag[i][j]は、delta_poc_msb_cycle_lt[i][j]が存在することを指定する。0に等しいdelta_poc_msb_present_flag[i][i]は、delta_poc_msb_cycle_lt[i][j]が存在しないことを指定する。NumLtrpEntries[i]が0を超えており、ref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のj番目のLTRPエントリに関して、スライスヘッダが復号されるときにPicOrderCntValのモジュロMaxPicOrderCntLsbがpoc_lsb_lt[i][rplsIdx][jj]に等しい2つ以上の参照ピクチャがDPB内に存在し、jjが、ref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のj番目のLTRPエントリであるref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のエントリのエントリインデックスであるとき、delta_poc_msb_present_flag[i][j]は、1に等しい。存在しないとき、delta_poc_msb_cycle_lt[i][j]の値は、0に等しいと推測される。delta_poc_msb_cycle_lt[i][j]は、ref_pic_list_struct(i, rplsIdx, 1)シンタックス構造のj番目のLTRPエントリのピクチャ順序カウントの値の最上位ビットの値を決定するために使用される。delta_poc_msb_cycle_lt[i][j]が存在しないとき、delta_poc_msb_cycle_lt[i][j]は、0に等しいと推測される。
ピクチャ順序カウントに関する復号プロセスに対する変更。
Figure 2021534668
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
for( i = 0; i < 2; i++ ) {
if( ref_pic_list_sps_flag[i] )
RplsIdx[i] = ref_pic_list_idx[i]
else
RplsIdx[i] = num_ref_pic_lists_in_sps[i]
msbCycleIdx = 0
for( j = 0, pocBase = PicOrderCntVal; j < NumEntriesInList[i][RplsIdx[i]]; j++ ) {
if( !lt_ref_pic_flag[i][RplsIdx[i]][j] ) {
RefPicPocList[i][j] = pocBase - delta_poc_st[i][RplsIdx[i]][j]
if( PicOrderCntValがRefPicPocList[i][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
pocBase = RefPicPocList[i][j]
} else {
if( delta_poc_msb_cycle_lt[i][msbCycleIdx]が0に等しい && PicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )がpoc_lsb_lt[i][RplsIdx[i]][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else if( delta_poc_msb_cycle_lt[i][msbCycleIdx]が1に等しい && PicOrderCntValが(MaxLtPicOrderCntLsb * delta_poc_msb_cycle_lt[i][msbCycleIdx] ) + poc_lsb_lt[i][RplsIdx[i]][j]に等しいDPB内の参照ピクチャpicAが存在する ) ) {
RefPicList[i][j] = picA
msbCycleIdx++
} else
RefPicList[i][j] = "no reference picture"
}
}
}
代替的に、delta_poc_msb_cycle_lt[listIdx][i]のセマンティクスは、参照ピクチャリストの構築が以下のように更新され得るように差分の差分として表現されることが可能である。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
for( i = 0; i < 2; i++ ) {
if( ref_pic_list_sps_flag[i] )
RplsIdx[i] = ref_pic_list_idx[i]
else
RplsIdx[i] = num_ref_pic_lists_in_sps[i]
prevMsbCycle = 0
msbCycleIdx = 0
for( j = 0, pocBase = PicOrderCntVal; j < NumEntriesInList[i][RplsIdx[i]]; j++ ) {
if( !lt_ref_pic_flag[i][RplsIdx[i]][j] ) {
RefPicPocList[i][j] = pocBase - delta_poc_st[i][RplsIdx[i]][j]
if( PicOrderCntValがRefPicPocList[i][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
pocBase = RefPicPocList[i][j]
} else {
if( delta_poc_msb_cycle_lt[i][msbCycleIdx]が0に等しい && PicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )がpoc_lsb_lt[i][RplsIdx[i]][j]に等しいDPB内の参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else if( delta_poc_msb_cycle_lt[i][msbCycleIdx]が1に等しい && PicOrderCntValが( MaxLtPicOrderCntLsb * ( delta_poc_msb_cycle_lt[i][msbCycleIdx] + prevMsbCycle ) + poc_lsb_lt[i][RplsIdx[i]][j] )に等しいDPB内の参照ピクチャpicAが存在する ) {
RefPicList[i][j] = picA
prevMsbCycle += delta_poc_msb_cycle_lt[i][msbCycleIdx]
msbCycleIdx++
} else
RefPicList[i][j] = "no reference picture"
}
}
}
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[i][RplsIdx[i]]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
各STRPは、そのPicOrderCntVal値によって特定される。各LTRPに関して、そのLTRPがdelta_poc_msb_present_flag[i][j]が1に等しいRefPicList[0]またはRefPicList[1]のエントリによって参照される場合、そのLTRPは、そのPicOrderCntVal値によって特定され、そうでない場合、そのLTRPは、そのPicOrderCntVal値のLog2(MaxLtPicOrderCntLsb) LSBによって特定される。
短期的参照ピクチャと長期的参照ピクチャとを区別するようにして常にスライスヘッダ内で参照ピクチャリストをシグナリングすること
このセクションは、本開示の別の代替的な実施形態を説明する。説明は、最新のVVC WDに関連する(すなわち、JVET-K1001-v1の最新のVVC WDに対する差分のみが説明されるが、下で説明されない最新のVVC WDのテキストはそのまま適用される)。この代替的な実施形態は、以下のように要約される。参照ピクチャリスト構造が、スライスヘッダ内でのみシグナリングされる。短期的参照ピクチャと長期的参照ピクチャとの両方が、POC値の導出のためにスライスヘッダ内でシグナリングされるPOC LSBを表すために使用されるビットの数と異なる数のビットによって表される可能性があるそれらの参照ピクチャのPOC LSBによって特定される。さらに、短期的参照ピクチャおよび長期的参照ピクチャを特定するためのPOC LSBを表すために使用されるビットの数は、異なる可能性がある。
NALユニットヘッダのシンタックス
Figure 2021534668
シーケンスパラメータセットのRBSPのシンタックス
Figure 2021534668
ピクチャパラメータセットのRBSPのシンタックス
Figure 2021534668
スライスヘッダのシンタックス
Figure 2021534668
参照ピクチャリスト構造のシンタックス
Figure 2021534668
NALユニットヘッダのセマンティクス
forbidden_zero_bitは、0に等しい。nal_unit_typeは、NALユニットに含まれるRBSPデータ構造の種類を指定する。
Figure 2021534668
nuh_temporal_id_plus1から1を引いた値は、NALユニットに関する時間識別子を指定する。nuh_temporal_id_plus1の値は、0に等しくない。変数TemporalIdは、次のように、すなわち、TemporalId = nuh_temporal_id_plus1 - 1のように指定される。
nal_unit_typeがIRAP_NUTに等しいとき、コーディングされたスライスは、IRAPピクチャに属し、TemporalIdは、0に等しい。TemporalIdの値は、アクセスユニットのすべてのVCL NALユニットに関して同じである。コーディングされたピクチャまたはアクセスユニットのTemporalIdの値は、コーディングされたピクチャまたはアクセスユニットのVCL NALユニットのTemporalIdの値である。非VCL NALユニットに関するTemporalIdの値は、以下のように制約される。nal_unit_typeがSPS_NUTに等しい場合、TemporalIdは、0に等しく、NALユニットを含むアクセスユニットのTemporalIdは、0に等しい。そうではなくnal_unit_typeがEOS_NUTまたはEOB_NUTに等しい場合、TemporalIdは、0に等しい。そうでない場合、TemporalIdは、NALユニットを含むアクセスユニットのTemporalId以上である。NALユニットが非VCL NALユニットであるとき、TemporalIdの値は、非VCL NALユニットが当てはまるすべてのアクセスユニットのTemporalId値のうちの最小値に等しい。nal_unit_typeがPPS_NUTに等しいとき、TemporalIdは、すべてのピクチャパラメータセット(PPS)がビットストリームの初めに含まれる可能性があり、第1のコーディングされたピクチャが0に等しいTemporalIdを有するので、包含するアクセスユニットのTemporalId以上である可能性がある。nal_unit_typeがPREFIX_SEI_NUTまたはSUFFIX_SEI_NUTに等しいとき、TemporalIdは、TemporalId値が補足増強情報(SEI)NALユニットを含むアクセスユニットのTemporalIdよりも大きいアクセスユニットを含むビットストリームのサブセットに適用される情報をSEI NALユニットが含む可能性があるので、包含するアクセスユニットのTemporalId以上である可能性がある。nuh_reserved_zero_7bitsは、'0000000'に等しい。nuh_reserved_zero_7bitsのその他の値が、ITU_T | ISO/IECによって将来規定される可能性がある。デコーダは、'0000000'に等しくないnuh_reserved_zero_7bitsの値を有するNALユニットを無視する(すなわち、ビットストリームから削除し、破棄する)。
シーケンスパラメータセットのRBSPのセマンティクス
log2_max_pic_order_cnt_lsb_minus4は、ピクチャ順序カウントに関する復号プロセスにおいて使用される変数MaxPicOrderCntLsbの値を次のように指定する。
MaxPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 )
log2_max_pic_order_cnt_lsb_minus4の値は、0および12を含んで0から12までの範囲内にある。sps_max_dec_pic_buffering_minus1に1を足した値は、ピクチャストレージバッファを単位としてCVSのための復号ピクチャバッファの最大の必要とされるサイズを指定する。sps_max_dec_pic_buffering_minus1の値は、0およびMaxDpbSize - 1を含んで0からMaxDpbSize - 1までの範囲内にあり、MaxDpbSizeは、別のどこかで指定される。additional_st_poc_lsbは、参照ピクチャリストに関する復号プロセスにおいて使用される変数MaxStPicOrderCntLsbの値を次のように指定する。
MaxStPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 + additional_st_poc_lsb )
additional_st_poc_lsbの値は、0および32 - log2_max_pic_order_cnt_lsb_minus4 - 4を含んで0から32 - log2_max_pic_order_cnt_lsb_minus4 - 4までの範囲内にある。0に等しいlong_term_ref_pics_flagは、LTRPがCVS内のいかなるコーディングされたピクチャのインター予測にも使用されないことを指定する。1に等しいlong_term_ref_pics_flagは、LTRPがCVS内の1つまたは複数のコーディングされたピクチャのインター予測のために使用される可能性があることを指定する。additional_lt_poc_lsbは、参照ピクチャリストに関する復号プロセスにおいて使用される変数MaxLtPicOrderCntLsbの値を次のように指定する。
MaxLtPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 + additional_st_poc_lsb + additional_lt_poc_lsb )
additional_lt_poc_lsbの値は、0および32 - log2_max_pic_order_cnt_lsb_minus4 - 4 - additional_st_poc_lsbを含んで0から32 - log2_max_pic_order_cnt_lsb_minus4 - 4 - additional_st_poc_lsbまでの範囲内にある。存在しないとき、additional_lt_poc_lsbの値は、0に等しいと推測される。
ピクチャパラメータセットのRBSPのセマンティクス
num_ref_idx_default_active_minus1[i]に1を足した値は、iが0に等しいとき、num_ref_idx_active_override_flagが0に等しいPまたはBスライスに関する変数NumRefIdxActive[0]の推測された値を指定し、iが1に等しいとき、num_ref_idx_active_override_flagが0に等しいBスライスに関するNumRefIdxActive[1]の推測された値を指定する。num_ref_idx_default_active_minus1[i]の値は、0および14を含んで0から14までの範囲内にある。
スライスヘッダのセマンティクス
存在するとき、スライスヘッダのシンタックス要素slice_pic_parameter_set_idおよびslice_pic_order_cnt_lsbの各々の値は、コーディングされたピクチャのすべてのスライスヘッダにおいて同じである。slice_typeは、Table 7-3(表33)に従ってスライスのコーディングタイプを指定する。
Figure 2021534668
nal_unit_typeがIRAP_NUTに等しい、すなわち、ピクチャがIRAPピクチャであるとき、slice_typeは、2に等しい。
slice_pic_order_cnt_lsbは、現在のピクチャに関するピクチャ順序カウントのモジュロMaxPicOrderCntLsbを指定する。slice_pic_order_cnt_lsbシンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4 + 4ビットである。slice_pic_order_cnt_lsbの値は、0およびMaxPicOrderCntLsb - 1を含んで0からMaxPicOrderCntLsb - 1までの範囲内にある。slice_pic_order_cnt_lsbが存在しないとき、slice_pic_order_cnt_lsbは、0に等しいと推測される。1に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]がPおよびBスライスに関して存在することと、シンタックス要素num_ref_idx_active_minus1[1]がBスライスに関して存在することとを指定する。0に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]およびnum_ref_idx_active_minus1[1]が存在しないことを指定する。num_ref_idx_active_minus1[i]は、存在するとき、変数NumRefIdxActive[i]の値を次のように指定する。
NumRefIdxActive[i] = num_ref_idx_active_minus1[i] + 1
num_ref_idx_active_minus1[i]の値は、0および14を含んで0から14までの範囲内にある。NumRefIdxActive[i]の値 - 1は、スライスを復号するために使用される可能性がある参照ピクチャリストiに関する最大の参照インデックスを指定する。NumRefIdxActive[i]の値が0に等しいとき、参照ピクチャリストiに関する参照インデックスは、スライスを復号するために使用されない可能性がある。0または1に等しいiに関して、現在のスライスがBスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[i]は、num_ref_idx_default_active_minus1[i] + 1に等しいと推測される。現在のスライスがPスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[0]は、num_ref_idx_default_active_minus1[0] + 1に等しいと推測される。現在のスライスがPスライスであるとき、NumRefIdxActive[1]は、0に等しいと推測される。現在のスライスがIスライスであるとき、NumRefIdxActive[0]とNumRefIdxActive[1]との両方は、0に等しいと推測される。代替的に、0または1に等しいiに関して、以上の後、以下のことが適用される。rplsIdx1がref_pic_list_sps_flag[i] ? ref_pic_list_idx[i] : num_ref_pic_lists_in_sps[i]に等しいように設定され、numRpEntries[i]がnum_strp_entries[i][rplsIdx1] + num_ltrp_entries[i][rplsIdx1]に等しいものとする。NumRefIdxActive[i]がnumRpEntries[i]よりも大きいとき、NumRefIdxActive[i]の値は、numRpEntries[i]に等しいように設定される。
参照ピクチャリスト構造のセマンティクス
ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造は、スライスヘッダ内に存在する可能性がある。ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造がスライスヘッダ内に存在する場合、ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の参照ピクチャリストのlistIdxを指定する。num_strp_entries[listIdx]は、ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造のSTRPエントリの数を指定する。num_ltrp_entries[listIdx]は、ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造のLTRPエントリの数を指定する。存在しないとき、num_ltrp_entries[listIdx]の値は、0に等しいと推測される。変数NumEntriesInList[listIdx]は、次のように導出される。
NumEntriesInList[listIdx] = num_strp_entries[listIdx] + num_ltrp_entries[listIdx]
NumEntriesInList[listIdx]の値は、0およびsps_max_dec_pic_buffering_minus1を含んで0からsps_max_dec_pic_buffering_minus1までの範囲内にある。1に等しいlt_ref_pic_flag[listIdx][i]は、ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造のi番目のエントリがLTRPエントリであることを指定する。0に等しいlt_ref_pic_flag[listIdx][i]は、ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造のi番目のエントリがSTRPエントリであることを指定する。存在しないとき、lt_ref_pic_flag[listIdx][i]の値は、0に等しいと推測される。0およびNumEntriesInList[listIdx] - 1を含んで0からNumEntriesInList[listIdx] - 1までの範囲内にあるiのすべての値に関するlt_ref_pic_flag[listIdx][i]の総和がnum_ltrp_entries[listIdx]に等しいことが、ビットストリームの準拠の要件である。poc_lsb_st[listIdx][i]は、lt_ref_pic_flag[listIdx][i]が0に等しいとき、ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造のi番目のエントリによって参照されるピクチャのピクチャ順序カウントのモジュロMaxStPicOrderCntLsbの値を指定する。poc_lsb_st[listIdx][i]シンタックス要素の長さは、Log2(MaxStPicOrderCntLsb)ビットである。poc_lsb_lt[listIdx][i]は、lt_ref_pic_flag[listIdx][i]が1に等しいとき、ref_pic_list_struct(listIdx, ltrpFlag)シンタックス構造のi番目のエントリによって参照されるピクチャのピクチャ順序カウントのモジュロMaxLtPicOrderCntLsbの値を指定する。poc_lsb_lt[listIdx][i]シンタックス要素の長さは、Log2(MaxLtPicOrderCntLsb)ビットである。
復号プロセスが、検討される。
全体的復号プロセス
復号プロセスは、現在のピクチャCurrPicに関して以下のように動作する。NALユニットの復号が、下で規定される。下のプロセスは、スライスヘッダレイヤ以上のシンタックス要素を使用して以下の復号プロセスを規定する。ピクチャ順序カウントに関連する変数および関数が、導出される。これは、ピクチャの最初のスライスに関してのみ呼び出される必要がある。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストの構築のための復号プロセスが、参照ピクチャリスト0(RefPicList[0])および参照ピクチャリスト1(RefPicList[1])の導出のために呼び出される。参照ピクチャのマーキングのための復号プロセスが、呼び出され、参照ピクチャが、「参照のために使用されない」または「長期的参照のために使用される」と印を付けられる可能性がある。これは、ピクチャの最初のスライスに関してのみ呼び出される必要がある。コーディングツリーユニット、スケーリング、変換、ループ内フィルタリングなどのための復号プロセスが、呼び出される。現在のピクチャのすべてのスライスが復号された後、現在の復号されたピクチャが、「短期的参照のために使用される」と印を付けられる。
NALユニット復号プロセス
このプロセスへの入力は、現在のピクチャのNALユニットおよびそれらの関連する非VCL NALユニットである。このプロセスの出力は、NALユニットにカプセル化された解析されたRBSPシンタックス構造である。各NALユニットに関する復号プロセスは、NALユニットからRBSPシンタックス構造を抽出し、それから、RBSPシンタックス構造を解析する。
スライス復号プロセス
ピクチャ順序カウントに関する復号プロセス
このプロセスの出力は、PicOrderCntVal、現在のピクチャのピクチャ順序カウントである。ピクチャ順序カウントは、マージモードおよび動きベクトルの予測において動きパラメータを導出するためおよびデコーダの準拠の検査のためにピクチャを特定するために使用される。それぞれのコーディングされたピクチャは、PicOrderCntValと表されるピクチャ順序カウント変数に関連付けられる。現在のピクチャがIRAPピクチャでないとき、変数prevPicOrderCntLsbおよびprevPicOrderCntMsbは、以下のように導出される。prevTid0Picが、0に等しいTemporalIdを有する、復号の順序で前のピクチャであるものとする。変数prevPicOrderCntLsbは、prevTid0Picのslice_pic_order_cnt_lsbに等しいように設定される。変数prevPicOrderCntMsbは、prevTid0PicのPicOrderCntMsbに等しいように設定される。現在のピクチャの変数PicOrderCntMsbは、次のように導出される。現在のピクチャがIRAPピクチャである場合、PicOrderCntMsbは、0に等しいように設定される。そうでない場合、PicOrderCntMsbは、以下のように導出される。
if( ( slice_pic_order_cnt_lsb < prevPicOrderCntLsb ) && ( ( prevPicOrderCntLsb - slice_pic_order_cnt_lsb ) >= ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb
else if( (slice_pic_order_cnt_lsb > prevPicOrderCntLsb ) && ( ( slice_pic_order_cnt_lsb - prevPicOrderCntLsb ) > ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb - MaxPicOrderCntLsb
else
PicOrderCntMsb = prevPicOrderCntMsb
PicOrderCntValは、次のように導出される。
PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsb
slice_pic_order_cnt_lsbがIRAPピクチャに関して0であると推測され、prevPicOrderCntLsbとprevPicOrderCntMsbとの両方が0に等しいように設定されるので、すべてのIRAPピクチャは、0に等しいPicOrderCntValを持つ。PicOrderCntValの値は、-231および231 - 1を含んで-231から231 - 1までの範囲内にある。1つのCVSにおいては、いかなる2つのコーディングされたピクチャに関するPicOrderCntVal値も、同じでない。復号プロセス中の任意の瞬間に、DPB内のいかなる2つの短期的参照ピクチャに関するPicOrderCntVal & ( MaxStPicOrderCntLsb - 1 )の値も、同じでない。復号プロセス中の任意の瞬間に、DPB内のいかなる2つの参照ピクチャに関するPicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )の値も、同じでない。
関数PicOrderCnt(picX)が、次のように指定される。
PicOrderCnt(picX) =ピクチャpicXのPicOrderCntVal
関数DiffPicOrderCnt(picA, picB)が、次のように指定される。
DiffPicOrderCnt(picA, picB) = PicOrderCnt(picA) - PicOrderCnt(picB)
ビットストリームは、-215および215 - 1を含む-215から215 - 1までの範囲内にない、復号プロセスにおいて使用されるDiffPicOrderCnt(picA, picB)の値をもたらすデータを含まない。Xが現在のピクチャであり、YおよびZが同じCVS内の2つのその他のピクチャであるものとして、YおよびZは、DiffPicOrderCnt(X, Y)とDiffPicOrderCnt(X, Z)との両方が正であるかまたは両方が負であるとき、Xから同じ出力順序の方向にあると考えられる。
参照ピクチャリストの構築のための復号プロセス
このプロセスは、非IRAPピクチャの各スライスに関する復号プロセスの初めに呼び出される。参照ピクチャは、参照インデックスによってアドレス指定される。参照インデックスは、参照ピクチャリストへのインデックスである。Iスライスを復号するとき、参照ピクチャリストは、スライスデータの復号において使用されない。Pスライスを復号するとき、参照ピクチャリスト0(すなわち、RefPicList[0])のみが、スライスデータの復号において使用される。Bスライスを復号するとき、参照ピクチャリスト0と参照ピクチャリスト1(すなわち、RefPicList[1])との両方が、スライスデータの復号において使用される。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストRefPicList[0]およびRefPicList[1]が、導出される。参照ピクチャリストは、参照ピクチャのマーキングにおいてまたはスライスデータの復号において使用される。ピクチャの最初のスライスでない非IRAPピクチャのIスライスに関して、RefPicList[0]およびRefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、それらの導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。ピクチャの最初のスライスでないPスライスに関して、RefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、その導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。
参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
for( i = 0; i < 2; i++ ) {
for( j = 0; j < NumEntriesInList[i]; j++ ) {
if( lt_ref_pic_flag[i][j] ) {
if( PicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )がpoc_lsb_lt[i][j]に等しいDPB内の参照picAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
}
}
}
for( i = 0; i < 2; i++ ) {
for( j = 0; j < NumEntriesInList[i]; j++ ) {
if( !lt_ref_pic_flag[i][j] ) {
if( PicOrderCntVal & ( MaxStPicOrderCntLsb - 1 )がpoc_lsb_st[i][j]に等しいDPB内の短期的参照ピクチャpicAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
}
}
}
0または1に等しい各iに関して、以下のことが適用される。
RefPicList[i]の最初のNumRefIdxActive[i]個のエントリが、RefPicList[i]のアクティブなエントリと呼ばれ、RefPicList[i]のその他のエントリは、RefPicList[i]の非アクティブなエントリと呼ばれる。0およびNumEntriesInList[i] - 1を含んで0からNumEntriesInList[i] - 1までの範囲内のjに関してRefPicList[i][j]の各エントリは、lt_ref_pic_flag[i][j]が0に等しい場合、STRPエントリと呼ばれ、そうでない場合、LTRPエントリと呼ばれる。特定のピクチャが、RefPicList[0]のエントリとRefPicList[1]のエントリとの両方によって参照されることが可能である。特定のピクチャが、RefPicList[0]の2つ以上のエントリによってまたはRefPicList[1]の2つ以上のエントリによって参照されることも可能である。RefPicList[0]のアクティブなエントリおよびRefPicList[1]のアクティブなエントリは、現在のピクチャおよび復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測のために使用される可能性があるすべての参照ピクチャを集合的に指す。RefPicList[0]の非アクティブなエントリおよびRefPicList[1]の非アクティブなエントリは、現在のピクチャのインター予測のために使用されないが、復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測において使用される可能性があるすべての参照ピクチャを集合的に指す。対応するピクチャがDPB内に存在しないので「no reference picture」に等しいRefPicList[0]またはRefPicList[1]の1つまたは複数のエントリが、存在する可能性がある。「no reference picture」に等しいRefPicList[0]またはRefPicList[0]のそれぞれの非アクティブなエントリは、無視されるべきである。「no reference picture」に等しいRefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリに関しては、意図しないピクチャの喪失が、推測されるべきである。
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[i]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。ピクチャのスライスのRefPicList[0]またはRefPicList[1]のSTRPエントリおよび同じスライスまたは同じピクチャの異なるスライスのRefPicList[0]またはRefPicList[1]のLTRPエントリが、同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のLTRPエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
参照ピクチャのマーキングのための復号プロセス
このプロセスは、スライスヘッダの復号およびスライスに関する参照ピクチャリストの構築のための復号プロセスの後であるが、スライスデータの復号の前に、ピクチャ毎に1回呼び出される。このプロセスは、DPB内の1つまたは複数の参照ピクチャが「参照のために使用されない」または「長期的参照のために使用される」と印を付けられる結果をもたらす可能性がある。DPB内の復号されたピクチャは、「参照のために使用されない」、「短期的参照のために使用される」、または「長期的参照のために使用される」として、ただし、復号プロセスの動作中の任意の所与の瞬間にこれら3つのうちのただ1つとして印を付けられ得る。ピクチャにこれらのマーキングのうちの1つを割り振ることは、該当する場合、これらのマーキングのうちの別のマーキングを暗黙的に削除する。ピクチャが「参照のために使用される」と印を付けられていると言われるとき、これは、集合的に、ピクチャが「短期的参照のために使用される」または「長期的参照のために使用される」として(ただし、両方ではない)印を付けられていることを指す。現在のピクチャがIRAPピクチャであるとき、現在DPB内にあるすべての参照ピクチャ(もしあれば)は、「参照のために使用されない」と印を付けられる。STRPは、それらのPicOrderCntVal値のLog2(MaxStPicOrderCntLsb) LSBによって特定される。LTRPは、それらのPicOrderCntVal値のLog2(MaxLtPicOrderCntLsb) LSBによって特定される。
以下のことが、適用される。RefPicList[0]またはRefPicList[1]の各LTRPエントリに関して、参照されるピクチャがSTRPであるとき、ピクチャは、「長期的参照のために使用される」と印を付けられる。RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されないDPB内の各参照ピクチャは、「参照のために使用されない」と印を付けられる。
短期的参照ピクチャと長期的参照ピクチャとを区別することなく常にスライスヘッダ内で参照ピクチャリストをシグナリングすること
このセクションは、本開示の別の代替的な実施形態を説明する。説明は、最新のVVC WDに関連する(すなわち、JVET-K1001-v1の最新のVVC WDに対する差分のみが説明されるが、下で説明されない最新のVVC WDのテキストはそのまま適用される)。この代替的な実施形態は、以下のように要約される。参照ピクチャリスト構造が、スライスヘッダ内でのみシグナリングされる。短期的参照ピクチャと長期的参照ピクチャとの間の区別が、なされない。すべての参照ピクチャが、単に参照ピクチャと呼ばれる。参照ピクチャが、POC値の導出のためにスライスヘッダ内でシグナリングされるPOC LSBを表すために使用されるビットの数と異なる数のビットによって表される可能性があるそれらの参照ピクチャのPOC LSBによって特定される。
略語。VVC WDの4項のテキストが、適用される。
NALユニットヘッダのシンタックス
Figure 2021534668
シーケンスパラメータセットのRBSPのシンタックス
Figure 2021534668
ピクチャパラメータセットのRBSPのシンタックス
Figure 2021534668
スライスヘッダのシンタックス
Figure 2021534668
参照ピクチャリスト構造のシンタックス
Figure 2021534668
NALユニットヘッダのセマンティクス
forbidden_zero_bitは、0に等しい。nal_unit_typeは、NALユニットに含まれるRBSPデータ構造の種類を指定する。
Figure 2021534668
nuh_temporal_id_plus1から1を引いた値は、NALユニットに関する時間識別子を指定する。nuh_temporal_id_plus1の値は、0に等しくない。変数TemporalIdは、次のように指定される。
TemporalId = nuh_temporal_id_plus1 - 1
nal_unit_typeがIRAP_NUTに等しいとき、コーディングされたスライスは、IRAPピクチャに属し、TemporalIdは、0に等しい。TemporalIdの値は、アクセスユニットのすべてのVCL NALユニットに関して同じである。コーディングされたピクチャまたはアクセスユニットのTemporalIdの値は、コーディングされたピクチャまたはアクセスユニットのVCL NALユニットのTemporalIdの値である。非VCL NALユニットに関するTemporalIdの値は、以下のように制約される。
nal_unit_typeがSPS_NUTに等しい場合、TemporalIdは、0に等しく、NALユニットを含むアクセスユニットのTemporalIdは、0に等しい。そうではなくnal_unit_typeがEOS_NUTまたはEOB_NUTに等しい場合、TemporalIdは、0に等しい。そうでない場合、TemporalIdは、NALユニットを含むアクセスユニットのTemporalId以上である。NALユニットが非VCL NALユニットであるとき、TemporalIdの値は、非VCL NALユニットが当てはまるすべてのアクセスユニットのTemporalId値のうちの最小値に等しい。nal_unit_typeがPPS_NUTに等しいとき、TemporalIdは、すべてのピクチャパラメータセット(PPS)がビットストリームの初めに含まれる可能性があり、第1のコーディングされたピクチャが0に等しいTemporalIdを有するので、包含するアクセスユニットのTemporalId以上である可能性がある。nal_unit_typeがPREFIX_SEI_NUTまたはSUFFIX_SEI_NUTに等しいとき、TemporalIdは、TemporalId値がSEI NALユニットを含むアクセスユニットのTemporalIdよりも大きいアクセスユニットを含むビットストリームのサブセットに適用される情報をSEI NALユニットが含む可能性があるので、包含するアクセスユニットのTemporalId以上である可能性がある。nuh_reserved_zero_7bitsは、'0000000'に等しい。nuh_reserved_zero_7bitsのその他の値が、ITU_T | ISO/IECによって将来規定される可能性がある。デコーダは、'0000000'に等しくないnuh_reserved_zero_7bitsの値を有するNALユニットを無視する(すなわち、ビットストリームから削除し、破棄する)。
シーケンスパラメータセットのRBSPのセマンティクス
log2_max_pic_order_cnt_lsb_minus4は、ピクチャ順序カウントに関する復号プロセスにおいて使用される変数MaxPicOrderCntLsbの値を次のように指定する。
MaxPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 )
log2_max_pic_order_cnt_lsb_minus4の値は、0および12を含んで0から12までの範囲内にある。sps_max_dec_pic_buffering_minus1に1を足した値は、ピクチャストレージバッファを単位としてCVSのための復号ピクチャバッファの最大の必要とされるサイズを指定する。sps_max_dec_pic_buffering_minus1の値は、0およびMaxDpbSize - 1を含んで0からMaxDpbSize - 1までの範囲内にあり、MaxDpbSizeは、別のどこかで指定される。additional_ref_poc_lsbは、参照ピクチャリストに関する復号プロセスにおいて使用される変数MaxRefPicOrderCntLsbの値を次のように指定する。
MaxRefPicOrderCntLsb = 2( log2_max_pic_order_cnt_lsb_minus4 + 4 + additional_ref_poc_lsb )
additional_ref_poc_lsbの値は、0および32 - log2_max_pic_order_cnt_lsb_minus4 - 4を含んで0から32 - log2_max_pic_order_cnt_lsb_minus4 - 4までの範囲内にある。
ピクチャパラメータセットのRBSPのセマンティクス
num_ref_idx_default_active_minus1[i]に1を足した値は、iが0に等しいとき、num_ref_idx_active_override_flagが0に等しいPまたはBスライスに関する変数NumRefIdxActive[0]の推測された値を指定し、iが1に等しいとき、num_ref_idx_active_override_flagが0に等しいBスライスに関するNumRefIdxActive[1]の推測された値を指定する。num_ref_idx_default_active_minus1[i]の値は、0および14を含んで0から14までの範囲内にある。
スライスヘッダのセマンティクス
存在するとき、スライスヘッダのシンタックス要素slice_pic_parameter_set_idおよびslice_pic_order_cnt_lsbの各々の値は、コーディングされたピクチャのすべてのスライスヘッダにおいて同じである。... slice_typeは、Table 7-3(表40)に従ってスライスのコーディングタイプを指定する。
Figure 2021534668
nal_unit_typeがIRAP_NUTに等しい、すなわち、ピクチャがIRAPピクチャであるとき、slice_typeは、2に等しい。... slice_pic_order_cnt_lsbは、現在のピクチャに関するピクチャ順序カウントのモジュロMaxPicOrderCntLsbを指定する。slice_pic_order_cnt_lsbシンタックス要素の長さは、log2_max_pic_order_cnt_lsb_minus4 + 4ビットである。slice_pic_order_cnt_lsbの値は、0およびMaxPicOrderCntLsb - 1を含んで0からMaxPicOrderCntLsb - 1までの範囲内にある。slice_pic_order_cnt_lsbが存在しないとき、slice_pic_order_cnt_lsbは、0に等しいと推測される。1に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]がPおよびBスライスに関して存在することと、シンタックス要素num_ref_idx_active_minus1[1]がBスライスに関して存在することとを指定する。0に等しいnum_ref_idx_active_override_flagは、シンタックス要素num_ref_idx_active_minus1[0]およびnum_ref_idx_active_minus1[1]が存在しないことを指定する。num_ref_idx_active_minus1[i]は、存在するとき、変数NumRefIdxActive[i]の値を次のように指定する。
NumRefIdxActive[i] = num_ref_idx_active_minus1[i] + 1
num_ref_idx_active_minus1[i]の値は、0および14を含んで0から14までの範囲内にある。NumRefIdxActive[i]の値 - 1は、スライスを復号するために使用される可能性がある参照ピクチャリストiに関する最大の参照インデックスを指定する。NumRefIdxActive[i]の値が0に等しいとき、参照ピクチャリストiに関する参照インデックスは、スライスを復号するために使用されない可能性がある。0または1に等しいiに関して、現在のスライスがBスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[i]は、num_ref_idx_default_active_minus1[i] + 1に等しいと推測される。現在のスライスがPスライスであり、num_ref_idx_active_override_flagが0に等しいとき、NumRefIdxActive[0]は、num_ref_idx_default_active_minus1[0] + 1に等しいと推測される。現在のスライスがPスライスであるとき、NumRefIdxActive[1]は、0に等しいと推測される。現在のスライスがIスライスであるとき、NumRefIdxActive[0]とNumRefIdxActive[1]との両方は、0に等しいと推測される。代替的に、0または1に等しいiに関して、以上の後、以下のことが適用される。rplsIdx1がref_pic_list_sps_flag[i] ? ref_pic_list_idx[i] : num_ref_pic_lists_in_sps[i]に等しいように設定され、numRpEntries[i]がnum_strp_entries[i][rplsIdx1] + num_ltrp_entries[i][rplsIdx1]に等しいものとする。NumRefIdxActive[i]がnumRpEntries[i]よりも大きいとき、NumRefIdxActive[i]の値は、numRpEntries[i]に等しいように設定される。
参照ピクチャリスト構造のセマンティクス
ref_pic_list_struct(listIdx)シンタックス構造は、スライスヘッダ内に存在する可能性がある。ref_pic_list_struct(listIdx)シンタックス構造がスライスヘッダ内に存在する場合、ref_pic_list_struct(listIdx)シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の参照ピクチャリストのlistIdxを指定する。num_ref_entries[listIdx]は、ref_pic_list_struct(listIdx)シンタックス構造のエントリの数を指定する。変数NumEntriesInList[listIdx]は、次のように導出される。
NumRefPicEntriesInRpl[listIdx] = num_ref_entries[listIdx]
NumRefPicEntries[listIdx]の値は、0およびsps_max_dec_pic_buffering_minus1を含んで0からsps_max_dec_pic_buffering_minus1までの範囲内にある。poc_ref_lsb[listIdx][i]は、ref_pic_list_struct(listIdx)シンタックス構造のi番目のエントリによって参照されるピクチャのピクチャ順序カウントのモジュロMaxRefPicOrderCntLsbの値を指定する。poc_ref_lsb[listIdx][i]シンタックス要素の長さは、Log2(MaxRefPicOrderCntLsb)ビットである。
復号プロセスが、検討される。
全体的復号プロセス
復号プロセスは、現在のピクチャCurrPicに関して以下のように動作する。NALユニットの復号が、下で規定される。下のプロセスは、スライスヘッダレイヤ以上のシンタックス要素を使用して以下の復号プロセスを規定する。ピクチャ順序カウントに関連する変数および関数が、導出される。これは、ピクチャの最初のスライスに関してのみ呼び出される必要がある。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストの構築のための復号プロセスが、参照ピクチャリスト0(RefPicList[0])および参照ピクチャリスト1(RefPicList[1])の導出のために呼び出される。参照ピクチャのマーキングのための復号プロセスが、呼び出され、参照ピクチャが、「参照のために使用されない」と印を付けられる可能性がある。これは、ピクチャの最初のスライスに関してのみ呼び出される必要がある。コーディングツリーユニット、スケーリング、変換、ループ内フィルタリングなどのための復号プロセスが、呼び出される。現在のピクチャのすべてのスライスが復号された後、現在の復号されたピクチャが、「参照のために使用される」と印を付けられる。
NALユニット復号プロセス
このプロセスへの入力は、現在のピクチャのNALユニットおよびそれらの関連する非VCL NALユニットである。このプロセスの出力は、NALユニットにカプセル化された解析されたRBSPシンタックス構造である。各NALユニットに関する復号プロセスは、NALユニットからRBSPシンタックス構造を抽出し、それから、RBSPシンタックス構造を解析する。
スライス復号プロセス
ピクチャ順序カウントに関する復号プロセス
このプロセスの出力は、PicOrderCntVal、現在のピクチャのピクチャ順序カウントである。ピクチャ順序カウントは、マージモードおよび動きベクトルの予測において動きパラメータを導出するためおよびデコーダの準拠の検査のためにピクチャを特定するために使用される。それぞれのコーディングされたピクチャは、PicOrderCntValと表されるピクチャ順序カウント変数に関連付けられる。現在のピクチャがIRAPピクチャでないとき、変数prevPicOrderCntLsbおよびprevPicOrderCntMsbは、以下のように導出される。prevTid0Picが、0に等しいTemporalIdを有する、復号の順序で前のピクチャであるものとする。変数prevPicOrderCntLsbは、prevTid0Picのslice_pic_order_cnt_lsbに等しいように設定される。変数prevPicOrderCntMsbは、prevTid0PicのPicOrderCntMsbに等しいように設定される。現在のピクチャの変数PicOrderCntMsbは、次のように導出される。現在のピクチャがIRAPピクチャである場合、PicOrderCntMsbは、0に等しいように設定される。そうでない場合、PicOrderCntMsbは、以下のように導出される。
if( ( slice_pic_order_cnt_lsb < prevPicOrderCntLsb ) && ( ( prevPicOrderCntLsb - slice_pic_order_cnt_lsb ) >= ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb
else if( (slice_pic_order_cnt_lsb > prevPicOrderCntLsb ) && ( ( slice_pic_order_cnt_lsb - prevPicOrderCntLsb ) > ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb - MaxPicOrderCntLsb
else
PicOrderCntMsb = prevPicOrderCntMsb
PicOrderCntValは、次のように導出される。
PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsb
slice_pic_order_cnt_lsbがIRAPピクチャに関して0であると推測され、prevPicOrderCntLsbとprevPicOrderCntMsbとの両方が0に等しいように設定されるので、すべてのIRAPピクチャは、0に等しいPicOrderCntValを持つ。PicOrderCntValの値は、-231および231 - 1を含んで-231から231 - 1までの範囲内にある。1つのCVSにおいては、いかなる2つのコーディングされたピクチャに関するPicOrderCntVal値も、同じでない。復号プロセス中の任意の瞬間に、DPB内のいかなる2つの参照ピクチャに関するPicOrderCntVal & ( MaxRefPicOrderCntLsb - 1 )の値も、同じでない。
関数PicOrderCnt(picX)が、次のように指定される。
PicOrderCnt(picX) =ピクチャpicXのPicOrderCntVal
関数DiffPicOrderCnt(picA, picB)が、次のように指定される。
DiffPicOrderCnt(picA, picB) = PicOrderCnt(picA) - PicOrderCnt(picB)
ビットストリームは、-215および215 - 1を含む-215から215 - 1までの範囲内にない、復号プロセスにおいて使用されるDiffPicOrderCnt(picA, picB)の値をもたらすデータを含まない。Xが現在のピクチャであり、YおよびZが同じCVS内の2つのその他のピクチャであるものとして、YおよびZは、DiffPicOrderCnt(X, Y)とDiffPicOrderCnt(X, Z)との両方が正であるかまたは両方が負であるとき、Xから同じ出力順序の方向にあると考えられる。
参照ピクチャリストの構築のための復号プロセス
このプロセスは、非IRAPピクチャの各スライスに関する復号プロセスの初めに呼び出される。参照ピクチャは、参照インデックスによってアドレス指定される。参照インデックスは、参照ピクチャリストへのインデックスである。Iスライスを復号するとき、参照ピクチャリストは、スライスデータの復号において使用されない。Pスライスを復号するとき、参照ピクチャリスト0(すなわち、RefPicList[0])のみが、スライスデータの復号において使用される。Bスライスを復号するとき、参照ピクチャリスト0と参照ピクチャリスト1(すなわち、RefPicList[1])との両方が、スライスデータの復号において使用される。非IRAPピクチャの各スライスに関する復号プロセスの初めに、参照ピクチャリストRefPicList[0]およびRefPicList[1]が、導出される。参照ピクチャリストは、参照ピクチャのマーキングにおいてまたはスライスデータの復号において使用される。ピクチャの最初のスライスでない非IRAPピクチャのIスライスに関して、RefPicList[0]およびRefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、それらの導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。ピクチャの最初のスライスでないPスライスに関して、RefPicList[1]が、ビットストリームの準拠の検査の目的で導出される可能性があるが、その導出は、現在のピクチャまたは復号の順序で現在のピクチャの後に続くピクチャの復号のために必要でない。参照ピクチャリストRefPicList[0]およびRefPicList[1]は、以下のように構築される。
for( i = 0; i < 2; i++ ) {
for( j = 0, pocBase = PicOrderCntVal; j < NumEntriesInList[i]; j++ ) {
if( PicOrderCntVal & ( MaxRefPicOrderCntLsb - 1 )がpoc_ref_lsb[i][j]に等しいDPB内の参照picAが存在する )
RefPicList[i][j] = picA
else
RefPicList[i][j] = "no reference picture"
}
}
0または1に等しい各iに関して、RefPicList[i]の最初のNumRefIdxActive[i]個のエントリが、RefPicList[i]のアクティブなエントリと呼ばれ、RefPicList[i]のその他のエントリは、RefPicList[i]の非アクティブなエントリと呼ばれる。特定のピクチャが、RefPicList[0]のエントリとRefPicList[1]のエントリとの両方によって参照されることが可能である。特定のピクチャが、RefPicList[0]の2つ以上のエントリによってまたはRefPicList[1]の2つ以上のエントリによって参照されることも可能である。RefPicList[0]のアクティブなエントリおよびRefPicList[1]のアクティブなエントリは、現在のピクチャおよび復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測のために使用される可能性があるすべての参照ピクチャを集合的に指す。RefPicList[0]の非アクティブなエントリおよびRefPicList[1]の非アクティブなエントリは、現在のピクチャのインター予測のために使用されないが、復号の順序で現在のピクチャの後に続く1つまたは複数のピクチャのインター予測において使用される可能性があるすべての参照ピクチャを集合的に指す。対応するピクチャがDPB内に存在しないので「no reference picture」に等しいRefPicList[0]またはRefPicList[1]の1つまたは複数のエントリが、存在する可能性がある。「no reference picture」に等しいRefPicList[0]またはRefPicList[0]のそれぞれの非アクティブなエントリは、無視されるべきである。「no reference picture」に等しいRefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリに関しては、意図しないピクチャの喪失が、推測されるべきである。
以下の制約が適用されることが、ビットストリームの準拠の要件である。0または1に等しい各iに関して、NumEntriesInList[i]が、NumRefIdxActive[i]以上である。RefPicList[0]またはRefPicList[1]のそれぞれのアクティブなエントリによって参照されるピクチャが、DPB内に存在し、現在のピクチャのTemporalId以下のTemporalIdを有する。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]のいかなる非アクティブなエントリのエントリインデックスも、現在のピクチャの復号のための参照インデックスとして使用されない。任意で、以下の制約が、さらに指定される可能性がある。RefPicList[0]またはRefPicList[1]の非アクティブなエントリが、RefPicList[0]またはRefPicList[1]のいかなるその他のエントリとも同じピクチャを参照しない。現在のピクチャ自体が、RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されない。現在のピクチャのPicOrderCntValとエントリによって参照されるピクチャのPicOrderCntValとの間の差が224以上であるRefPicList[0]またはRefPicList[1]のエントリが、存在しない。setOfRefPicsは、RefPicList[0]のすべてのエントリおよびRefPicList[1]のすべてのエントリによって参照される一意のピクチャのセットであるものとする。setOfRefPics内のピクチャの数が、sps_max_dec_pic_buffering_minus1以下であり、setOfRefPicsが、ピクチャのすべてのスライスに関して同じである。
参照ピクチャのマーキングのための復号プロセス
このプロセスは、スライスヘッダの復号およびスライスに関する参照ピクチャリストの構築のための復号プロセスの後であるが、スライスデータの復号の前に、ピクチャ毎に1回呼び出される。このプロセスは、DPB内の1つまたは複数の参照ピクチャが「参照のために使用されない」と印を付けられる結果をもたらす可能性がある。DPB内の復号されたピクチャは、「参照のために使用されない」または「参照のために使用される」として、ただし、復号プロセスの動作中の任意の所与の瞬間にこれら2つのうちのただ1つとして印を付けられ得る。ピクチャにこれらのマーキングのうちの1つを割り振ることは、該当する場合、これらのマーキングのうちの別のマーキングを暗黙的に削除する。現在のピクチャがIRAPピクチャであるとき、現在DPB内にあるすべての参照ピクチャ(もしあれば)は、「参照のために使用されない」と印を付けられる。DPB内の参照ピクチャは、それらのPicOrderCntVal値のLog2(MaxRefPicOrderCntLsb) LSBによって特定される。RefPicList[0]またはRefPicList[1]のいかなるエントリによっても参照されないDPB内の各参照ピクチャは、「参照のために使用されない」と印を付けられる。
さらに別の代替的な実施形態
このセクションは、「短期的参照ピクチャと長期的参照ピクチャとを区別するようにして常にスライスヘッダ内で参照ピクチャリストをシグナリングすること」と呼ばれる上で詳細に説明された手法の代替的な実施形態を説明する。この代替的な実施形態においては、スライスヘッダ内で、HEVCまたは上述の手法と同様に、POC MSBサイクルが各LTRPエントリに関してシグナリングされる可能性があり、以下の制約が取り除かれる。復号プロセス中の任意の瞬間に、DPB内のいかなる2つの参照ピクチャに関するPicOrderCntVal & ( MaxLtPicOrderCntLsb - 1 )の値も、同じでない。
図6は、本開示の実施形態によるビデオコーディングデバイス600(たとえば、ビデオエンコーダ20またはビデオデコーダ30)の概略図である。ビデオコーディングデバイス600は、本明細書において説明されたように開示された実施形態を実装するのに好適である。ビデオコーディングデバイス600は、データを受信するための着信ポート610および受信機ユニット(Rx)620、データを処理するためのプロセッサ、論理ユニット、または中央演算処理装置(CPU)630、データを送信するための送信機ユニット(Tx)640および発信ポート650、ならびにデータを記憶するためのメモリ660を含む。ビデオコーディングデバイス600は、光または電気信号の着信または発信のために着信ポート610、受信機ユニット620、送信機ユニット640、および発信ポート650に接続された光-電気(OE)構成要素および電気-光(EO)構成要素も含む可能性がある。
プロセッサ630は、ハードウェアおよびソフトウェアによって実装される。プロセッサ630は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実装される可能性がある。プロセッサ630は、着信ポート610、受信機ユニット620、送信機ユニット640、発信ポート650、およびメモリ660と通信する。プロセッサ630は、コーディングモジュール670を含む。コーディングモジュール670は、上述の開示された実施形態を実装する。たとえば、コーディングモジュール670は、様々なネットワーキング機能を実装するか、処理するか、準備するか、または提供する。したがって、コーディングモジュール670を含むことは、ビデオコーディングデバイス600の機能を大幅に改善し、ビデオコーディングデバイス600の異なる状態への転換を実現する。代替的に、コーディングモジュール670は、メモリ660に記憶され、プロセッサ630によって実行される命令として実装される。
ビデオコーディングデバイス600は、ユーザにおよびユーザからデータを伝達するための入力および/または出力(I/O)デバイス680も含む可能性がある。I/Oデバイス680は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力デバイスを含む可能性がある。I/Oデバイス680は、キーボード、マウス、トラックボールなどの入力デバイス、および/またはそのような出力デバイスとインタラクションするための対応するインターフェースも含む可能性がある。
メモリ660は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを含み、プログラムが実行するために選択されるときにそのようなプログラムを記憶するためならびにプログラムの実行中に読まれる命令およびデータを記憶するためのオーバーフローデータストレージデバイス(over-flow data storage device)として使用される可能性がある。メモリ660は、揮発性および/または不揮発性である可能性があり、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、3値連想メモリ(TCAM: ternary content-addressable memory)、および/またはスタティックランダムアクセスメモリ(SRAM)である可能性がある。
図7は、コーディングのための手段700の実施形態の概略図である。実施形態において、コーディングのための手段700は、ビデオコーディングデバイス702(たとえば、ビデオエンコーダ20またはビデオデコーダ30)に実装される。ビデオコーディングデバイス702は、受信手段701を含む。受信手段701は、符号化するピクチャを受信するかまたは復号するビットストリームを受信するように構成される。ビデオコーディングデバイス702は、受信手段701に接続された送信手段707を含む。送信手段707は、ビットストリームをデコーダに送信するかまたは復号された画像を表示手段(たとえば、I/Oデバイス680のうちの1つ)に送信するように構成される。
ビデオコーディングデバイス702は、記憶手段703を含む。記憶手段703は、受信手段701または送信手段707のうちの少なくとも一方に接続される。記憶手段703は、命令を記憶するように構成される。ビデオコーディングデバイス702は、処理手段705も含む。処理手段705は、記憶手段703に接続される。処理手段705は、本明細書において開示された方法を実行するための、記憶手段703に記憶された命令を実行するように構成される。
いくつかの実施形態が本開示において与えられたが、開示されたシステムおよび方法は、本開示の精神または範囲を逸脱することなく多くのその他の特定の形態で具現化される可能性があることを理解されたい。これらの例は、例示的であって限定的でないと考えられるべきであり、意図は、本明細書において与えられた詳細に限定されるべきでない。たとえば、様々な要素もしくは構成要素が、組み合わされるかもしくは別のシステムに統合される可能性があり、または特定の特徴が、省略されるかもしくは実装されない可能性がある。
加えて、様々な実施形態において分離しているまたは別々であるものとして説明され、図示された技術、システム、サブシステム、および方法は、本開示の範囲を逸脱することなくその他のシステム、モジュール、技術、または方法と組み合わされるかまたは統合される可能性がある。互いに結合されるかもしくは直接結合されるか、または互いに通信しているものとして示されたかまたは検討されたその他のものが、電気的であるか、機械的であるか、またはそれ以外であるかにかかわらず何らかのインターフェース、デバイス、または中間構成要素を通じて間接的に結合されるかまたは通信している可能性がある。変更、置き換え、および改変のその他の例が、当業者によって突き止められる可能性があり、本明細書において開示された精神および範囲を逸脱することなくなされる可能性がある。
10 コーディングシステム
12 送信元デバイス
14 送信先デバイス
16 コンピュータ可読媒体
18 ビデオソース
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
30 ビデオデコーダ
32 ディスプレイデバイス
40 モード選択ユニット
42 動き推定ユニット
44 動き補償ユニット
46 イントラ予測ユニット
48 区分けユニット
50 加算器
52 変換処理ユニット
54 量子化ユニット
56 エントロピーコーディングユニット
58 逆量子化ユニット
60 逆変換ユニット
62 加算器
64 参照フレームメモリ
70 エントロピー復号ユニット
72 動き補償ユニット
74 イントラ予測ユニット
76 逆量子化ユニット
78 逆変換ユニット
80 加算器
82 参照フレームメモリ
400 参照ピクチャセット(RPS)
402 サブセット
500 方法
600 ビデオコーディングデバイス
610 着信ポート
620 受信機ユニット(Rx)
630 プロセッサ、論理ユニット、中央演算処理装置(CPU)
640 送信機ユニット(Tx)
650 発信ポート
660 メモリ
670 コーディングモジュール
680 入力および/または出力(I/O)デバイス
700 コーディングのための手段
701 受信手段
702 ビデオコーディングデバイス
703 記憶手段
705 処理手段
707 送信手段
本開示は、概して、ビデオコーディングにおける参照ピクチャの管理のための技術に関する。より詳細には、本開示は、参照ピクチャリストの構築および参照ピクチャのマーキングのための技術を説明する。

Claims (18)

  1. ビデオデコーダによって実施される、コーディングされたビデオビットストリームを復号する方法であって、
    前記コーディングされたビデオビットストリーム内に示されたパラメータセットを解析するステップであって、前記パラメータセットが、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む、ステップと、
    前記コーディングされたビデオビットストリーム内に示された現在のスライスのスライスヘッダを解析するステップであって、前記スライスヘッダが、前記パラメータセット内の参照ピクチャリスト構造の前記セットのうちの参照ピクチャリスト構造のインデックスを含む、ステップと、
    前記パラメータセット内のシンタックス要素の前記セットおよび前記参照ピクチャリスト構造の前記インデックスに基づいて前記現在のスライスの参照ピクチャリストを導出するステップと、
    前記参照ピクチャリストに基づいて前記現在のスライスの少なくとも1つの再構築されたブロックを取得するステップと
    を含む方法。
  2. 前記参照ピクチャリスト構造のエントリの順序が、前記参照ピクチャリスト内の対応する参照ピクチャの順序と同じである、請求項1に記載の方法。
  3. エントリの順序が、ゼロから、示された値までである、請求項1または2に記載の方法。
  4. 前記示された値が、ゼロから、sps_max_dec_pic_buffering_minus1によって示される値までである、請求項3に記載の方法。
  5. 前記参照ピクチャリストが、指定されたRefPictList[0]である、請求項1から4のいずれか一項に記載の方法。
  6. 前記参照ピクチャリストが、指定されたRefPictList[1]である、請求項1から4のいずれか一項に記載の方法。
  7. 前記少なくとも1つの再構築されたブロックが、電子デバイスのディスプレイに表示される画像を生成するために使用される、請求項1から6のいずれか一項に記載の方法。
  8. 前記参照ピクチャリストが、インター予測のために使用される参照ピクチャのリストを含む、請求項1から7のいずれか一項に記載の方法。
  9. インター予測が、PスライスのためまたはBスライスのためのものである、請求項1から8のいずれか一項に記載の方法。
  10. 前記パラメータセットが、シーケンスパラメータセット(SPS)を含む、請求項1から9のいずれか一項に記載の方法。
  11. 前記パラメータセットからのシンタックス要素の前記セットが、ネットワーク抽象化レイヤ(NAL)ユニットの未加工バイトシーケンスペイロード(RBSP)に配置される、請求項1から10のいずれか一項に記載の方法。
  12. 前記参照ピクチャリストが、指定されたRefPictList[0]またはRefPictList[1]であり、前記参照ピクチャリスト構造のエントリの順序が、前記参照ピクチャリスト内の対応する参照ピクチャの順序と同じである、請求項7から11のいずれか一項に記載の方法。
  13. 前記コーディングされたビデオビットストリーム内に示されたパラメータセットを解析するステップであって、前記パラメータセットが、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む、ステップと、
    前記コーディングされたビデオビットストリーム内に示された参照ピクチャリスト構造を取得するステップと、
    前記参照ピクチャリスト構造に基づいて現在のスライスの第1の参照ピクチャリストを導出するステップであって、前記第1の参照ピクチャリストが、少なくとも1つのアクティブなエントリおよび少なくとも1つの非アクティブなエントリを含み、前記少なくとも1つの非アクティブなエントリが、前記現在のスライスのインター予測のために使用されないが、第2の参照ピクチャリストのアクティブなエントリによって参照される参照ピクチャを参照し、前記第2の参照ピクチャリストが、復号の順序で前記現在のスライスの後に続くスライスの参照ピクチャリストまたは復号の順序で現在のピクチャの後に続くピクチャの参照ピクチャリストである、ステップと、
    前記第1の参照ピクチャリストの少なくとも1つのアクティブなエントリに基づいて前記現在のスライスの少なくとも1つの再構築されたブロックを取得するステップと
    をさらに含む、請求項1から12のいずれか一項に記載の方法。
  14. コーディングされたビデオビットストリームを受信するように構成された受信機と、
    前記受信機に接続されたメモリであって、命令を記憶するメモリと、
    前記メモリに接続されたプロセッサであって、前記メモリに記憶された前記命令を実行するように構成されたプロセッサと
    を含み、
    前記命令は、前記プロセッサに、
    前記コーディングされたビデオビットストリーム内に示されたパラメータセットを解析することであって、前記パラメータセットが、参照ピクチャリスト構造のセットを含んだシンタックス要素のセットを含む、ことと、
    前記コーディングされたビデオビットストリーム内に示された現在のスライスのスライスヘッダを解析することであって、前記スライスヘッダが、前記パラメータセット内の参照ピクチャリスト構造の前記セットのうちの参照ピクチャリスト構造のインデックスを含む、ことと、
    前記パラメータセット内のシンタックス要素の前記セットおよび前記参照ピクチャリスト構造の前記インデックスに基づいて前記現在のスライスの参照ピクチャリストを導出することと、
    前記参照ピクチャリストに基づいて前記現在のスライスの少なくとも1つの再構築されたブロックを取得することと
    を行わせる、復号デバイス。
  15. 前記少なくとも1つの再構築されたブロックに基づいて画像を表示するように構成されたディスプレイ
    をさらに含む、請求項14に記載の復号デバイス。
  16. 復号するビットストリームを受信するように構成された受信機と、
    前記受信機に接続された送信機であって、復号された画像をディスプレイに送信するように構成された送信機と、
    前記受信機または前記送信機のうちの少なくとも一方に接続されたメモリであって、命令を記憶するように構成されたメモリと、
    前記メモリに接続されたプロセッサであって、前記メモリに記憶された前記命令を実行して、請求項1から13のいずれか一項に記載の方法を実行するように構成されたプロセッサと
    を含む、コーディング装置。
  17. エンコーダと、
    前記エンコーダと通信するデコーダと
    を含み、
    前記デコーダが、請求項14または15に記載の復号デバイスまたは請求項16に記載のコーディング装置を含む、システム。
  18. 復号するビットストリームを受信するように構成された受信手段と、
    前記受信手段に接続された送信手段であって、復号された画像を表示手段に送信するように構成された送信手段と、
    前記受信手段または前記送信手段のうちの少なくとも一方に接続された記憶手段であって、命令を記憶するように構成された記憶手段と、
    前記記憶手段に接続された処理手段であって、前記記憶手段に記憶された前記命令を実行して、請求項1から13のいずれか一項に記載の方法を実行するように構成された処理手段と
    を含む、コーディングのための手段。
JP2021507884A 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャの管理 Active JP7547319B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023068781A JP2023095886A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理
JP2023068782A JP2023095887A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862719360P 2018-08-17 2018-08-17
US62/719,360 2018-08-17
PCT/US2019/046928 WO2020037273A1 (en) 2018-08-17 2019-08-16 Reference picture management in video coding

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2023068782A Division JP2023095887A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理
JP2023068781A Division JP2023095886A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理

Publications (2)

Publication Number Publication Date
JP2021534668A true JP2021534668A (ja) 2021-12-09
JP7547319B2 JP7547319B2 (ja) 2024-09-09

Family

ID=69525847

Family Applications (13)

Application Number Title Priority Date Filing Date
JP2021507958A Active JP7278366B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2021507913A Active JP7223118B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2021507940A Active JP7556846B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2021507956A Pending JP2021534676A (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2021507884A Active JP7547319B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャの管理
JP2021507904A Active JP7564090B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2023015477A Active JP7543461B2 (ja) 2018-08-17 2023-02-03 ビデオコーディングにおける参照ピクチャ管理
JP2023039811A Pending JP2023085317A (ja) 2018-08-17 2023-03-14 ビデオコーディングにおける参照ピクチャ管理
JP2023045824A Pending JP2023088995A (ja) 2018-08-17 2023-03-22 ビデオコーディングにおける参照ピクチャ管理
JP2023051948A Pending JP2023086737A (ja) 2018-08-17 2023-03-28 ビデオコーディングにおける参照ピクチャ管理
JP2023068782A Pending JP2023095887A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理
JP2023068781A Pending JP2023095886A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理
JP2024000194A Pending JP2024032732A (ja) 2018-08-17 2024-01-04 ビデオコーディングにおける参照ピクチャ管理

Family Applications Before (4)

Application Number Title Priority Date Filing Date
JP2021507958A Active JP7278366B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2021507913A Active JP7223118B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2021507940A Active JP7556846B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2021507956A Pending JP2021534676A (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理

Family Applications After (8)

Application Number Title Priority Date Filing Date
JP2021507904A Active JP7564090B2 (ja) 2018-08-17 2019-08-16 ビデオコーディングにおける参照ピクチャ管理
JP2023015477A Active JP7543461B2 (ja) 2018-08-17 2023-02-03 ビデオコーディングにおける参照ピクチャ管理
JP2023039811A Pending JP2023085317A (ja) 2018-08-17 2023-03-14 ビデオコーディングにおける参照ピクチャ管理
JP2023045824A Pending JP2023088995A (ja) 2018-08-17 2023-03-22 ビデオコーディングにおける参照ピクチャ管理
JP2023051948A Pending JP2023086737A (ja) 2018-08-17 2023-03-28 ビデオコーディングにおける参照ピクチャ管理
JP2023068782A Pending JP2023095887A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理
JP2023068781A Pending JP2023095886A (ja) 2018-08-17 2023-04-19 ビデオコーディングにおける参照ピクチャの管理
JP2024000194A Pending JP2024032732A (ja) 2018-08-17 2024-01-04 ビデオコーディングにおける参照ピクチャ管理

Country Status (24)

Country Link
US (11) US11758123B2 (ja)
EP (7) EP4336832A3 (ja)
JP (13) JP7278366B2 (ja)
KR (12) KR102609949B1 (ja)
CN (13) CN114501018B (ja)
AU (1) AU2019322914B2 (ja)
BR (6) BR112021002486A2 (ja)
CA (1) CA3109799C (ja)
CL (1) CL2021000397A1 (ja)
DK (1) DK3831064T3 (ja)
ES (1) ES2981233T3 (ja)
FI (1) FI3831064T3 (ja)
HU (1) HUE066343T2 (ja)
IL (1) IL280944B1 (ja)
MX (8) MX2021001838A (ja)
NZ (1) NZ773625A (ja)
PH (1) PH12021550312A1 (ja)
PL (1) PL3831064T3 (ja)
PT (1) PT3831064T (ja)
SG (6) SG11202101404WA (ja)
SI (1) SI3831064T1 (ja)
UA (1) UA128290C2 (ja)
WO (6) WO2020037276A1 (ja)
ZA (1) ZA202100951B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3780608A4 (en) * 2018-04-02 2021-12-01 SZ DJI Technology Co., Ltd. IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE
CN114501018B (zh) 2018-08-17 2024-01-09 华为技术有限公司 参考图像管理的解码方法、设备和系统
EP3854099A4 (en) * 2018-09-21 2022-06-29 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
WO2020122062A1 (en) * 2018-12-10 2020-06-18 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
CN113597768B (zh) * 2019-01-28 2024-10-15 Op方案有限责任公司 扩展长期参考图片保留的在线和离线选择
US11395006B2 (en) * 2019-03-06 2022-07-19 Tencent America LLC Network abstraction layer unit header
KR20220156828A (ko) 2020-03-19 2022-11-28 바이트댄스 아이엔씨 레퍼런스 픽처 순서에 대한 제약들
BR112022019661A2 (pt) * 2020-03-31 2022-11-29 Sharp Kk Aparelho de decodificação de vídeo, aparelho de codificação de vídeo, método de decodificação de vídeo e método de codificação de vídeo
US11558630B2 (en) 2020-05-20 2023-01-17 Tencent America LLC Techniques for random access point indication and picture output in coded video stream
AU2021257907B2 (en) * 2020-05-20 2023-04-06 Tencent America LLC Techniques for random access point indication and picture output in coded video stream
EP4154414A4 (en) 2020-05-21 2024-06-26 Alibaba Group Holding Limited METHODS FOR REFERENCE IMAGE PROCESSING IN VIDEO CODING
US11695938B2 (en) * 2021-01-05 2023-07-04 Dish Network Technologies India Private Limited Method and apparatus for thumbnail generation for a video device
CN116781907A (zh) * 2022-03-11 2023-09-19 华为技术有限公司 编解码方法及电子设备
WO2023234133A1 (en) * 2022-05-31 2023-12-07 Sharp Kabushiki Kaisha Systems and methods for signaling reference picture list entry information in video coding
WO2024126057A1 (en) * 2022-12-16 2024-06-20 Interdigital Ce Patent Holdings, Sas Reference picture marking process based on temporal identifier

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875637A (zh) * 2003-08-26 2006-12-06 汤姆森特许公司 最小化用于相互编码的参考画面数目的方法和装置
FI115589B (fi) * 2003-10-14 2005-05-31 Nokia Corp Redundanttien kuvien koodaaminen ja dekoodaaminen
US8948256B2 (en) * 2006-10-13 2015-02-03 Thomson Licensing Reference picture list management syntax for multiple view video coding
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
CN102047670B (zh) * 2009-03-26 2014-03-12 松下电器产业株式会社 编码装置及方法、错误检测装置及方法、解码装置及方法
US20120050475A1 (en) * 2009-05-01 2012-03-01 Dong Tian Reference picture lists for 3dv
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9008176B2 (en) * 2011-01-22 2015-04-14 Qualcomm Incorporated Combined reference picture list construction for video coding
US8934552B2 (en) 2011-03-31 2015-01-13 Qualcomm Incorporated Combined reference picture list construction and mapping
US20140050270A1 (en) 2011-04-26 2014-02-20 Lg Electronics Inc. Method for managing a reference picture list, and apparatus using same
PL3410725T3 (pl) * 2011-06-30 2022-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Sygnalizacja obrazu referencyjnego
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
MX337446B (es) 2011-09-29 2016-03-07 Sharp Kk Dispositivo de decodificacion de imagenes, metodo de decodificacion de imagenes y dispositivo de codificacion de imagenes.
US9451284B2 (en) * 2011-10-10 2016-09-20 Qualcomm Incorporated Efficient signaling of reference picture sets
JP5768662B2 (ja) * 2011-10-31 2015-08-26 富士通株式会社 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US10003817B2 (en) * 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US20130114710A1 (en) * 2011-11-08 2013-05-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by prediction using reference picture list, and method and apparatus for decoding video by performing compensation using reference picture list
EP3576412B1 (en) * 2011-11-08 2021-09-01 Nokia Technologies Oy Reference picture handling
KR102332492B1 (ko) * 2011-11-11 2021-12-01 엘지전자 주식회사 영상 정보 전송 방법 및 장치와 이를 이용한 복호화 방법 및 장치
BR112014012006A2 (pt) * 2011-11-18 2017-05-30 Motorola Mobility Llc uma forma explícita para sinalizar uma imagem colocalizada para codificação de vídeo de alta eficiência (hevc)
US9392235B2 (en) 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
US9485503B2 (en) * 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
US9258559B2 (en) * 2011-12-20 2016-02-09 Qualcomm Incorporated Reference picture list construction for multi-view and three-dimensional video coding
JP5944013B2 (ja) * 2012-01-17 2016-07-05 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 参照画像リストの取り扱い
US8867852B2 (en) * 2012-01-19 2014-10-21 Sharp Kabushiki Kaisha Decoding a picture based on a reference picture set on an electronic device
US20130188709A1 (en) 2012-01-25 2013-07-25 Sachin G. Deshpande Video decoder for tiles with absolute signaling
KR101652928B1 (ko) * 2012-01-31 2016-09-01 브이아이디 스케일, 인크. 스케일러블 고효율 비디오 코딩(hevc)을 위한 참조 픽처 세트(rps) 시그널링
US9369710B2 (en) * 2012-02-06 2016-06-14 Qualcomm Incorporated Reference picture list modification for video coding
US20150071351A1 (en) * 2012-04-15 2015-03-12 Samsung Electronics Co., Ltd. Inter prediction method in which reference picture lists can be changed and apparatus for the same
WO2013162980A2 (en) * 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
EP2843946A4 (en) 2012-04-25 2016-01-20 Samsung Electronics Co Ltd MULTILOSYVIEW VIDEO COORDINATION METHOD USING A REFERENCE FILMS FOR MULTILOOK VIEW VIEW AND DEVICE THEREFOR, AND MULTIPLE VIDEO VIDEO CODING METHODS USING A REFERENCE FILMS FOR MULTILOOK VIEWS AND METHOD THEREFOR
US9762903B2 (en) 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9319679B2 (en) * 2012-06-07 2016-04-19 Qualcomm Incorporated Signaling data for long term reference pictures for video coding
US9591303B2 (en) 2012-06-28 2017-03-07 Qualcomm Incorporated Random access and signaling of long-term reference pictures in video coding
US10230972B2 (en) 2012-07-01 2019-03-12 Sharp Kabushiki Kaisha Device for signaling a long-term reference picture in a parameter set
WO2014008402A1 (en) * 2012-07-05 2014-01-09 Vid Scale, Inc. Layer dependency and priority signaling design for scalable video coding
US9167248B2 (en) * 2012-07-13 2015-10-20 Qualcomm Incorporated Reference picture list modification for video coding
US9398284B2 (en) * 2012-08-16 2016-07-19 Qualcomm Incorporated Constructing reference picture lists for multi-view or 3DV video coding
US9584825B2 (en) * 2012-09-27 2017-02-28 Qualcomm Incorporated Long-term reference picture signaling in video coding
KR102431453B1 (ko) * 2012-11-21 2022-08-11 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치
US9992513B2 (en) 2012-12-21 2018-06-05 Sony Corporation Image processing efficient transmission or reception of encoded information
US20150326866A1 (en) 2012-12-28 2015-11-12 Sharp Kabushiki Kaisha Image decoding device and data structure
JP6209772B2 (ja) * 2013-01-15 2017-10-11 華為技術有限公司Huawei Technologies Co.,Ltd. シグナリングを用いたビデオデコーダ
EP2982123A4 (en) * 2013-04-05 2016-09-07 Sharp Kk DECODING INTERMEDIATE REFERENCE IMAGE SETS AND CONSTRUCTING REFERENCE PICTURES
US9532067B2 (en) * 2013-04-05 2016-12-27 Sharp Kabushiki Kaisha Decoding of inter-layer reference picture set and reference picture list construction
WO2015006922A1 (en) * 2013-07-16 2015-01-22 Mediatek Singapore Pte. Ltd. Methods for residual prediction
US9860529B2 (en) 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
US9560358B2 (en) * 2013-07-22 2017-01-31 Qualcomm Incorporated Device and method for scalable coding of video information
US9894369B2 (en) 2013-07-30 2018-02-13 Kt Corporation Image encoding and decoding method supporting plurality of layers and apparatus using same
CN105453564B (zh) * 2013-07-30 2019-05-10 株式会社Kt 支持多个层的图像编码和解码方法以及使用该方法的装置
EP3056008A4 (en) 2013-10-10 2017-03-22 Sharp Kabushiki Kaisha Alignment of picture order count
US9942546B2 (en) * 2013-12-12 2018-04-10 Qualcomm Incorporated POC value design for multi-layer video coding
US10110925B2 (en) 2014-01-03 2018-10-23 Hfi Innovation Inc. Method of reference picture selection and signaling in 3D and multi-view video coding
US9912966B2 (en) 2014-01-03 2018-03-06 Nokia Technologies Oy Parameter set coding
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
US9756355B2 (en) * 2014-06-20 2017-09-05 Qualcomm Incorporated Value ranges for syntax elements in video coding
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
KR20170066457A (ko) * 2014-09-26 2017-06-14 브이아이디 스케일, 인크. 시간적 블록 벡터 예측을 갖는 인트라 블록 카피 코딩
US9918105B2 (en) 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
GB2531271A (en) * 2014-10-14 2016-04-20 Nokia Technologies Oy An apparatus, a method and a computer program for image sequence coding and decoding
AU2016253924B2 (en) * 2015-04-29 2018-11-01 Hfi Innovation Inc. Method and apparatus for intra block copy reference list construction
EP3292691A4 (en) 2015-05-29 2019-01-23 HFI Innovation Inc. METHOD FOR MANAGING DECODED IMAGE PADS FOR THE INTRA-IMAGE BLOCKS COPYING METHOD
US10638140B2 (en) * 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
US10516891B2 (en) * 2015-11-20 2019-12-24 Intel Corporation Method and system of reference frame caching for video coding
US10555002B2 (en) 2016-01-21 2020-02-04 Intel Corporation Long term reference picture coding
US10652571B2 (en) 2018-01-25 2020-05-12 Qualcomm Incorporated Advanced motion vector prediction speedups for video coding
CN114501018B (zh) * 2018-08-17 2024-01-09 华为技术有限公司 参考图像管理的解码方法、设备和系统
KR20240032173A (ko) 2018-09-12 2024-03-08 후아웨이 테크놀러지 컴퍼니 리미티드 참조 화상 목록 구조에 대한 후보 시그널링
WO2020122062A1 (en) 2018-12-10 2020-06-18 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
WO2020185959A1 (en) * 2019-03-11 2020-09-17 Futurewei Technologies, Inc. Gradual decoding refresh in video coding
US10986353B2 (en) * 2019-03-15 2021-04-20 Tencent America LLC Decoded picture buffer management for video coding
KR102653570B1 (ko) 2019-05-12 2024-04-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 참조 픽처 리샘플링을 위한 신호
US11418813B2 (en) 2019-09-20 2022-08-16 Tencent America LLC Signaling of inter layer prediction in video bitstream
CN114600462A (zh) 2019-10-25 2022-06-07 夏普株式会社 用于在视频编码中发送信号通知图片信息的系统和方法
US12088848B2 (en) * 2019-12-11 2024-09-10 Sharp Kabushiki Kaisha Systems and methods for signaling output layer set information in video coding
EP4088462A4 (en) * 2020-02-14 2023-05-24 Beijing Bytedance Network Technology Co., Ltd. SUBPICTURE INFORMATION SIGNALING IN VIDEO BITSTREAM
US11496771B2 (en) 2020-02-24 2022-11-08 Qualcomm Incorporated Reference picture list and collocated picture signaling in video coding
AR121127A1 (es) 2020-02-29 2022-04-20 Beijing Bytedance Network Tech Co Ltd Señalización de información de imagen de referencia en un flujo de bits de video
US11743503B2 (en) 2020-05-14 2023-08-29 Qualcomm Incorporated Reference picture list constraints and signaling in video coding
EP4154414A4 (en) * 2020-05-21 2024-06-26 Alibaba Group Holding Limited METHODS FOR REFERENCE IMAGE PROCESSING IN VIDEO CODING
EP4140140A4 (en) * 2020-05-21 2023-07-05 ByteDance Inc. PROGRESSIVE DECODING REFRESH SIGNALING AND REFERENCE PICTURE LISTS
CN115668949A (zh) * 2020-05-26 2023-01-31 字节跳动有限公司 编解码视频中的帧间层参考图片的标识
WO2021239085A1 (en) * 2020-05-28 2021-12-02 Beijing Bytedance Network Technology Co., Ltd. Reference picture list signaling in video coding
US11882270B2 (en) * 2020-06-09 2024-01-23 Hfi Innovation Inc. Method and apparatus for video coding with constraints on reference picture lists of a RADL picture
JP2023068781A (ja) 2021-11-04 2023-05-18 株式会社日立製作所 異常検出装置、異常検出システム、及び異常検出方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HANNUKSELA, MISKA M. AND GOPALAKRISHNA, SRIKANTH M.: "AHG21: On reference picture list construction and reference picture marking", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 7TH M, vol. JCTVC-G643 (version 3), JPN6022020948, 24 November 2011 (2011-11-24), ISSN: 0004784823 *
WAHADANIAH, VIKTOR ET AL.: "AHG21: Construction and modification of predefined reference picture sets and reference picture list", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 7TH M, vol. JCTVC-G548 (version 2), JPN6022020949, 23 November 2011 (2011-11-23), ISSN: 0004784824 *
WANG, YE-KUI AND HENDRY: "On reference picture management for VVC", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING: MACA, vol. JVET-L0112 (version 2), JPN6022020952, 25 September 2018 (2018-09-25), ISSN: 0004784825 *

Also Published As

Publication number Publication date
US20220201284A1 (en) 2022-06-23
JP7556846B2 (ja) 2024-09-26
CN114554196B (zh) 2023-04-28
CA3109799C (en) 2024-04-23
EP3831070A4 (en) 2022-02-16
KR20230169439A (ko) 2023-12-15
KR102610094B1 (ko) 2023-12-04
CN113412620A (zh) 2021-09-17
FI3831064T3 (fi) 2024-05-08
MX2021001745A (es) 2021-07-16
IL280944A (en) 2021-04-29
US11758123B2 (en) 2023-09-12
US11477438B2 (en) 2022-10-18
CN114584774B (zh) 2023-05-09
KR102610092B1 (ko) 2023-12-04
US12058317B2 (en) 2024-08-06
IL280944B1 (en) 2024-08-01
SG11202101404WA (en) 2021-03-30
WO2020037272A1 (en) 2020-02-20
WO2020037278A1 (en) 2020-02-20
EP3831054A4 (en) 2021-10-13
US20210185308A1 (en) 2021-06-17
CN114205590A (zh) 2022-03-18
JP7564090B2 (ja) 2024-10-08
CN114584775A (zh) 2022-06-03
JP2023095887A (ja) 2023-07-06
SG11202100647TA (en) 2021-02-25
EP3831054A1 (en) 2021-06-09
US20230128843A1 (en) 2023-04-27
BR112021002499A2 (pt) 2021-07-27
KR20230169435A (ko) 2023-12-15
CN114584775B (zh) 2023-04-11
US20240259553A1 (en) 2024-08-01
UA128290C2 (uk) 2024-05-29
JP2021534671A (ja) 2021-12-09
EP3831055A1 (en) 2021-06-09
KR20210036402A (ko) 2021-04-02
PH12021550312A1 (en) 2021-10-11
JP2023088995A (ja) 2023-06-27
JP7543461B2 (ja) 2024-09-02
MX2024008568A (es) 2024-07-22
WO2020037277A1 (en) 2020-02-20
KR20210036400A (ko) 2021-04-02
EP3831064A1 (en) 2021-06-09
US20210168360A1 (en) 2021-06-03
PL3831064T3 (pl) 2024-06-03
JP2021534676A (ja) 2021-12-09
JP7547319B2 (ja) 2024-09-09
KR102610093B1 (ko) 2023-12-04
CN114205590B (zh) 2023-06-06
EP3831057A1 (en) 2021-06-09
SG11202101399VA (en) 2021-03-30
KR20210036398A (ko) 2021-04-02
DK3831064T3 (da) 2024-05-13
KR20230165889A (ko) 2023-12-05
MX2021001744A (es) 2021-07-16
MX2021001743A (es) 2021-06-23
CN114554196A (zh) 2022-05-27
JP2024032732A (ja) 2024-03-12
AU2019322914B2 (en) 2023-06-29
MX2024003663A (es) 2024-04-15
EP3831057A4 (en) 2021-09-22
EP3831064B1 (en) 2024-02-07
BR112021002832A2 (pt) 2021-05-04
CN112585973A (zh) 2021-03-30
CN113141784A (zh) 2021-07-20
CL2021000397A1 (es) 2021-12-10
PT3831064T (pt) 2024-05-10
BR112021002491A2 (pt) 2021-08-10
CN118660154A (zh) 2024-09-17
US20210258568A1 (en) 2021-08-19
SG11202101407QA (en) 2021-03-30
KR102609949B1 (ko) 2023-12-04
MX2024001656A (es) 2024-02-27
US20240214555A1 (en) 2024-06-27
KR20210036399A (ko) 2021-04-02
ES2981233T3 (es) 2024-10-07
NZ773625A (en) 2022-12-23
ZA202100951B (en) 2023-07-26
EP3831056A4 (en) 2021-10-13
MX2021001838A (es) 2021-05-13
WO2020037276A1 (en) 2020-02-20
US20210258567A1 (en) 2021-08-19
JP2023065392A (ja) 2023-05-12
EP3831070A1 (en) 2021-06-09
US20210176489A1 (en) 2021-06-10
JP2023085317A (ja) 2023-06-20
CA3109799A1 (en) 2020-02-20
US11956420B2 (en) 2024-04-09
WO2020037273A1 (en) 2020-02-20
CN114584774A (zh) 2022-06-03
BR112021002486A2 (pt) 2021-07-27
KR102659936B1 (ko) 2024-04-22
US11979553B2 (en) 2024-05-07
JP2023095886A (ja) 2023-07-06
US12015761B2 (en) 2024-06-18
CN114697663B (zh) 2024-01-30
KR20210041062A (ko) 2021-04-14
JP7278366B2 (ja) 2023-05-19
US11997257B2 (en) 2024-05-28
CN114501018B (zh) 2024-01-09
KR20230170122A (ko) 2023-12-18
CN112567746A (zh) 2021-03-26
JP2021534670A (ja) 2021-12-09
JP2023086737A (ja) 2023-06-22
BR112021002483A2 (pt) 2021-07-27
HUE066343T2 (hu) 2024-07-28
JP7223118B2 (ja) 2023-02-15
US11991349B2 (en) 2024-05-21
KR20240058947A (ko) 2024-05-03
CN114501018A (zh) 2022-05-13
CN112567744A (zh) 2021-03-26
CN114697663A (zh) 2022-07-01
SG11202100648RA (en) 2021-02-25
CN112585974A (zh) 2021-03-30
EP3831064A4 (en) 2021-10-06
SI3831064T1 (sl) 2024-06-28
JP2021534677A (ja) 2021-12-09
KR102610089B1 (ko) 2023-12-04
JP2021534673A (ja) 2021-12-09
WO2020037274A1 (en) 2020-02-20
US20240244184A1 (en) 2024-07-18
KR20230169440A (ko) 2023-12-15
AU2019322914A1 (en) 2021-03-18
EP3831056A1 (en) 2021-06-09
SG11202101406PA (en) 2021-03-30
EP3831055A4 (en) 2021-10-13
BR112021002501A2 (pt) 2021-07-27
EP4336832A2 (en) 2024-03-13
US20210168359A1 (en) 2021-06-03
KR20210036401A (ko) 2021-04-02
MX2024008569A (es) 2024-07-22
EP4336832A3 (en) 2024-05-22

Similar Documents

Publication Publication Date Title
JP7547319B2 (ja) ビデオコーディングにおける参照ピクチャの管理
JP7547530B2 (ja) ビデオエンコーダ、ビデオデコーダ、および対応物
JP2023086737A5 (ja)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210409

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230419

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20230419

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230427

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240828

R150 Certificate of patent or registration of utility model

Ref document number: 7547319

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150