JP7354241B2 - Video encoder, video decoder, and corresponding method - Google Patents

Video encoder, video decoder, and corresponding method Download PDF

Info

Publication number
JP7354241B2
JP7354241B2 JP2021524075A JP2021524075A JP7354241B2 JP 7354241 B2 JP7354241 B2 JP 7354241B2 JP 2021524075 A JP2021524075 A JP 2021524075A JP 2021524075 A JP2021524075 A JP 2021524075A JP 7354241 B2 JP7354241 B2 JP 7354241B2
Authority
JP
Japan
Prior art keywords
hps
parameter set
slice
parameter
temporal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021524075A
Other languages
Japanese (ja)
Other versions
JP2022506623A (en
Inventor
ヘンドリー,フヌ
ワン,イエクォイ
チェン,ジェンレェ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2022506623A publication Critical patent/JP2022506623A/en
Priority to JP2023122177A priority Critical patent/JP2023156358A/en
Application granted granted Critical
Publication of JP7354241B2 publication Critical patent/JP7354241B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Description

本開示は、ビデオコーディングに概して関係があり、具体的には、ビデオコーディングにおいてビデオデータを圧縮するために使用されたコーディングツールパラメータの効率的なシグナリングに関係がある。 TECHNICAL FIELD This disclosure relates generally to video coding, and specifically to efficient signaling of coding tool parameters used to compress video data in video coding.

比較的に短いビデオでさえ表現するために必要なビデオデータの量は相当である可能性があり、これは、バンド幅容量が限られている通信ネットワークにわたってデータがストリーミング又は別なふうに通信されるべきである場合に、困難を引き起こすことがある。よって、ビデオデータは、一般的には、今日的な電気通信ネットワークにわたって通信される前に、圧縮される。メモリ資源は限られていることがあるので、ビデオが記憶デバイスで記憶される場合に、ビデオのサイズも問題であり得る。ビデオ圧縮デバイスは、伝送又は記憶の前にビデオデータをコーディングするために発信元でソフトウェア及び/又はハードウェアをしばしば使用し、それによって、デジタルビデオ画像を表現するために必要なデータの量を低減する。圧縮されたデータは、次いで、ビデオデータをデコーディングするビデオ圧縮解除デバイスによって送り先で受信される。限られたネットワーク資源と、より高いビデオ品質の更に高まる需要とにより、ピクチャ品質を全く又はほとんど犠牲にせずに圧縮比を改善する改善された圧縮及び圧縮解除技術が望ましい。 The amount of video data required to represent even a relatively short video can be substantial, and this makes it difficult for data to be streamed or otherwise communicated over communication networks with limited bandwidth capacity. It can cause difficulties when it should. Accordingly, video data is typically compressed before being communicated across modern telecommunications networks. The size of the video can also be an issue when the video is stored on a storage device since memory resources can be limited. Video compression devices often use software and/or hardware at the source to code video data before transmission or storage, thereby reducing the amount of data needed to represent a digital video image. do. The compressed data is then received at the destination by a video decompression device that decodes the video data. With limited network resources and ever-increasing demands for higher video quality, improved compression and decompression techniques that improve compression ratios with no or little sacrifice in picture quality are desirable.

実施形態において、開示は、デコーダで実施される方法であって、デコーダの受信器によって、第1タイプのコーディングツールパラメータを含む第1ヘッダパラメータセット(Header Parameter Set,HPS)と、第2タイプのコーディングツールパラメータを含む第2HPSと、スライスヘッダと、スライスヘッダに関連したスライスとを有するビットストリームを受信することと、デコーダのプロセッサによって、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定することと、プロセッサによって、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングすることと、プロセッサによって、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送することとを有する方法を含む。適応パラメータセット(Adaptive Parameter Set,APS)としても知られているHPSは、ピクチャパラメータセット(Picture Parameter Set,PPS)よりも低い粒度且つスライスヘッダよりも高い粒度でビデオデータを記述するために用いられてよい。開示される態様は、単一のスライスヘッダが複数のタイプのHPSを参照することを可能にする。単一のスライスヘッダが複数のタイプのHPSを参照することを可能にするメカニズムを提供することによって、様々なコーディングツールパラメータがHPSレベルで通知され得る。これは、コーディングツールパラメータが同じピクチャ/フレーム内のスライス間で変化することを、スライスヘッダに余分のデータをロードせずに可能にする。従って、同じピクチャ内のスライス間で変化するコーディングツールパラメータがどのスライスヘッダ内にもロードされなくてよいということで、エンコーダは、レートひずみ最適化(Rate Distortion Optimization,RDO)を実行するときに更なる柔軟性を有する。更には、エンコーダが、最適なコーディングソリューションを見つけるときに、より多くのエンコーディングオプションへのアクセスを有し得るということで、平均コーディング効率は増大する。これは、転じて、ビデオデータを記憶するとき及びビデオデータを伝送するときに、エンコーダ及びデコーダの両方で、メモリ資源の利用及びネットワーク資源の利用を減らす。 In embodiments, the disclosure provides a method implemented in a decoder, the method comprising: determining, by a receiver of the decoder, a first Header Parameter Set ( HPS) comprising a first type of coding tool parameters; receiving a bitstream having a second HPS including coding tool parameters, a slice header, and a slice associated with the slice header; using the first type of coding tool parameters and the second type of coding tool parameters based on determining that the slice header includes the first reference and the second type of coding tool parameter based on the determination that the slice header includes the first reference and the second reference. A method includes decoding a slice and transmitting the slice for display by a processor as part of a decoded video sequence. HPS, also known as Adaptive Parameter Set ( APS), is used to describe video data at a lower granularity than a Picture Parameter Set (PPS) and a higher granularity than a slice header. It's fine. The disclosed aspects allow a single slice header to reference multiple types of HPS. By providing a mechanism that allows a single slice header to reference multiple types of HPS, various coding tool parameters may be signaled at the HPS level. This allows coding tool parameters to change between slices within the same picture/frame without loading extra data into the slice header. Therefore, coding tool parameters that change between slices within the same picture do not have to be loaded in any slice header, allowing the encoder to update them when performing Rate Distortion Optimization ( RDO). It has flexibility. Furthermore, the average coding efficiency is increased because the encoder may have access to more encoding options when finding the optimal coding solution. This, in turn, reduces the utilization of memory resources and the utilization of network resources, both at the encoder and decoder, when storing video data and when transmitting video data.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPS及び第2HPSが適応ループフィルタ(Adaptive Loop Filter,ALF)HPS、クロマスケーリング付きルーママッピング(Luma Mapping with Chroma Scaling,LMCS)HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含む、ことを提供する。 Optionally, in any of the above aspects, another implementation of the aspect provides that the first HPS and the second HPS are an Adaptive Loop Filter (ALF) HPS, Luma Mapping with Chroma Scaling ( LMCS). HPS, a scaling list parameter HPS, or a combination thereof.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、ビットストリームが、第1HPS及び第2HPSを含む複数のHPSを更に有し、複数のHPSの夫々が、複数のHPS内の他のHPSからのコーディングツールパラメータを参照することを制限される、ことを提供する。いくつかのシステムにおいて、現在のHPSは、前のHPSに対する参照によってコーディングパラメータを引き継いでよい。理論上は、これは、現在のHPSが現在のHPSと前のHPSとの間の差分しか含まないことを可能にする。しかし、実際上は、このアプローチはしばしば、長い継承チェーンを作り出し、転じて、デコーダに対して、後続のHPSが古いHPSを参照し直す可能性がある限りはバッファ内に多数の古いHPSを保持するよう求める。これは、両方のバッファメモリ問題を引き起こし、HPSが転送中に失われる場合にコーディングエラーの可能性を高める。本開示のいくつかの態様は、各HPSが他のHPSを参照せずに全ての関連したコーディングパラメータを含むことを求めることによって、この課題に対処する。 Optionally, in any of the above aspects, another implementation of the aspect is that the bitstream further comprises a plurality of HPSs, including a first HPS and a second HPS, each of the plurality of HPSs being different from others in the plurality of HPSs. coding tool parameters from the HPS. In some systems, the current HPS may inherit coding parameters by reference to a previous HPS. In theory, this allows the current HPS to only contain the differences between the current HPS and the previous HPS. However, in practice, this approach often creates long inheritance chains and in turn forces the decoder to keep a large number of old HPSs in its buffer as long as subsequent HPSs may refer back to them. ask you to do so. This causes both buffer memory problems and increases the possibility of coding errors if the HPS is lost during transfer. Some aspects of the present disclosure address this challenge by requiring each HPS to include all relevant coding parameters without reference to other HPSs.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPSが、時間的識別子(Identifier,ID)に関連したアクセスユニットに含まれ、第1HPSが、第1HPSを含むアクセスユニットに関連した時間的IDを含む、ことを提供する。一例では、各HPSは、そのHPSを含むアクセスユニットと同じ時間的IDを保持するよう求められ得る。 Optionally, in any of the above aspects, another implementation of the aspect provides that the first HPS is included in an access unit associated with a temporal identifier (ID), and the first HPS is included in an access unit that includes the first HPS. including the associated temporal ID. In one example, each HPS may be required to maintain the same temporal ID as the access unit containing the HPS.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、スライスが、ピクチャの部分であり、ピクチャが、時間的識別子(ID)に関連し、第1HPSが、ピクチャに関連した時間的IDを含む、ことを提供する。いくつかの例では、各HPSは、そのHPSを参照する第1スライスに関連したピクチャと同じ時間的IDを保持するよう求められ得る。 Optionally, in any of the aspects above, another implementation of the aspect provides that the slice is a portion of a picture, the picture is associated with a temporal identifier (ID), and the first HPS is a temporal identifier (ID) associated with the picture . Provide information, including ID. In some examples, each HPS may be required to maintain the same temporal ID as the picture associated with the first slice that references that HPS.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、ビットストリームが、スライスを含む1つ以上のスライスを夫々が含んでいる複数のピクチャを含み、ビットストリームが、第1HPS及び第2HPSを含む複数のHPSを更に有し、複数のHPSの夫々及び1つ以上のスライスの夫々が、複数の時間的IDのうちの1つに関連し、第1時間的IDを有する各スライスが、第1時間的IDよりも大きい第2時間的IDを有する如何なるHPSも参照することを制限される、ことを提供する。いくつかの例では、ピクチャ及びスライスのビットストリームは、複数の時間的IDのうちの1つ(例えば、3つのうちの1つ)に関連することができる。時間的IDは夫々、対応するフレームレートに関連する。より高いフレームレートを有するデータ項目は、より低いフレームレートがレンダリングされる場合に無視されてよい。本例では、スライスは、より高い時間的ID、よって、より高いフレームレートを有するHPSを参照することができないようにされる。このアプローチは、スライスのより低いフレームレートがレンダリングされる場合に無視されるより高いフレームレートのHPSをスライスが参照しないことを確かにする。これは、HPSがスライスに実際に利用可能であり、フレームレート不一致により無視されないことを確かにし得る。 Optionally, in any of the above aspects, another implementation of the aspect provides that the bitstream includes a plurality of pictures each including one or more slices including a slice, and the bitstream includes a first HPS and a first HPS. 2HPS, each of the plurality of HPS and each of the one or more slices is associated with one of the plurality of temporal IDs, each slice having a first temporal ID; , is restricted from referencing any HPS with a second temporal ID greater than the first temporal ID. In some examples, a bitstream of pictures and slices may be associated with one of a plurality of temporal IDs (eg, one of three). Each temporal ID is associated with a corresponding frame rate. Data items with higher frame rates may be ignored if lower frame rates are rendered. In this example, slices are prevented from referencing HPSs with higher temporal IDs and thus higher frame rates. This approach ensures that the slice does not reference higher frame rate HPSs that are ignored when the slice's lower frame rate is rendered. This may ensure that the HPS is actually available for the slice and is not ignored due to frame rate mismatch.

実施形態において、開示は、エンコーダで実施される方法であって、エンコーダのプロセッサによって、複数のピクチャを複数のスライスにパーティション化することと、プロセッサによって、複数のスライスをビットストリーム内にエンコーディングすることであり、複数のスライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツール及び第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールによって、エンコーディングされる、ことと、プロセッサによって、第1HPS及び第2HPSをビットストリーム内にエンコーディングすることであり、第1HPSは第1タイプのコーディングツールパラメータを含み、第2HPSは、第2タイプのコーディングツールパラメータを含む、ことと、プロセッサによって、複数のスライスのうちの第1スライスのエンコーディングを記述する第1スライスヘッダをビットストリーム内にエンコーディングすることであり、第1スライスヘッダは、第1HPSに対する第1参照及び第2HPSに対する第2参照を含む、ことと、プロセッサへ結合されているメモリによって、デコーダへの通信のためにビットストリームを記憶することとを有する方法を含む。APSとしても知られているHPSは、PPSよりも低い粒度且つスライスヘッダよりも高い粒度でビデオデータを記述するために用いられてよい。開示される態様は、単一のスライスヘッダが複数のタイプのHPSを参照することを可能にする。単一のスライスヘッダが複数のタイプのHPSを参照することを可能にするメカニズムを提供することによって、様々なコーディングツールパラメータがHPSレベルで通知され得る。これは、コーディングツールパラメータが同じピクチャ/フレーム内のスライス間で変化することを、スライスヘッダに余分のデータをロードせずに可能にする。従って、同じピクチャ内のスライス間で変化するコーディングツールパラメータがどのスライスヘッダ内にもロードされなくてよいということで、エンコーダは、RDOを実行するときに更なる柔軟性を有する。更には、エンコーダが、最適なコーディングソリューションを見つけるときに、より多くのエンコーディングオプションへのアクセスを有し得るということで、平均コーディング効率は増大する。これは、転じて、ビデオデータを記憶するとき及びビデオデータを伝送するときに、エンコーダ及びデコーダの両方で、メモリ資源の利用及びネットワーク資源の利用を減らす。 In embodiments, the disclosure is a method implemented in an encoder, comprising: partitioning a plurality of pictures into a plurality of slices by a processor of the encoder; and encoding the plurality of slices into a bitstream by a processor. and the plurality of slices are encoded by at least a first type of coding tool based on the first type of coding tool parameters and a second type of coding tool based on the second type of coding tool parameters; encoding a first HPS and a second HPS into a bitstream, the first HPS including a first type of coding tool parameter and the second HPS including a second type of coding tool parameter; encoding a first slice header in the bitstream that describes the encoding of a first slice of the plurality of slices, wherein the first slice header includes a first reference to a first HPS and a second reference to a second HPS. and storing the bitstream for communication to a decoder by a memory coupled to the processor. HPS, also known as APS, may be used to describe video data with lower granularity than PPS and higher granularity than slice headers. The disclosed aspects allow a single slice header to reference multiple types of HPS. By providing a mechanism that allows a single slice header to reference multiple types of HPS, various coding tool parameters may be signaled at the HPS level. This allows coding tool parameters to change between slices within the same picture/frame without loading extra data into the slice header. Therefore, the encoder has additional flexibility when performing RDO in that coding tool parameters that vary between slices within the same picture do not have to be loaded into any slice header. Furthermore, the average coding efficiency is increased because the encoder may have access to more encoding options when finding the optimal coding solution. This, in turn, reduces the utilization of memory resources and the utilization of network resources, both at the encoder and decoder, when storing video data and when transmitting video data.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPS及び第2HPSがALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含む、ことを提供する。 Optionally, in any of the above aspects, other implementations of the aspect provide that the first HPS and the second HPS include an ALF HPS, a LMCS HPS, a scaling list parameter HPS, or a combination thereof.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、プロセッサによって、複数のHPSをビットストリーム内にエンコーディングすることを更に有し、複数のHPSが、第1HPS及び第2HPSを含み、複数のHPSの夫々が、複数のHPS内の他のHPSからのコーディングツールパラメータを参照することを制限される、ことを提供する。いくつかのシステムにおいて、現在のHPSは、前のHPSに対する参照によってコーディングパラメータを引き継いでよい。理論上は、これは、現在のHPSが現在のHPSと前のHPSとの間の差分しか含まないことを可能にする。しかし、実際上は、このアプローチはしばしば、長い継承チェーンを作り出し、転じて、デコーダに対して、後続のHPSが古いHPSを参照し直す可能性がある限りはバッファ内に多数の古いHPSを保持するよう求める。これは、両方のバッファメモリ問題を引き起こし、HPSが転送中に失われる場合にコーディングエラーの可能性を高める。本開示のいくつかの態様は、各HPSが他のHPSを参照せずに全ての関連したコーディングパラメータを含むことを求めることによって、この課題に対処する。 Optionally, in any of the above aspects, another implementation of the aspect further comprises encoding, by the processor, a plurality of HPS into the bitstream, the plurality of HPS including a first HPS and a second HPS; Provided is that each of the plurality of HPSs is restricted from referencing coding tool parameters from other HPSs within the plurality of HPSs. In some systems, the current HPS may inherit coding parameters by reference to a previous HPS. In theory, this allows the current HPS to only contain the differences between the current HPS and the previous HPS. However, in practice, this approach often creates long inheritance chains and in turn forces the decoder to keep a large number of old HPSs in its buffer as long as subsequent HPSs may refer back to them. ask you to do so. This causes both buffer memory problems and increases the possibility of coding errors if the HPS is lost during transfer. Some aspects of the present disclosure address this challenge by requiring each HPS to include all relevant coding parameters without reference to other HPSs.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPSが、時間的IDに関連したアクセスユニットに含まれ、第1HPSが、第1HPSを含むアクセスユニットに関連した時間的IDを含む、ことを提供する。一例では、各HPSは、そのHPSを含むアクセスユニットと同じ時間的IDを保持するよう求められ得る。 Optionally, in any of the above aspects, another implementation of the aspect provides that the first HPS is included in an access unit associated with a temporal ID, and the first HPS is included in a temporal ID associated with an access unit that includes the first HPS. including, providing that. In one example, each HPS may be required to maintain the same temporal ID as the access unit containing the HPS.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1スライスが、第1ピクチャからパーティション化され、第1ピクチャが、時間的IDに関連し、第1HPSが、第1ピクチャに関連した時間的IDを含む、ことを提供する。いくつかの例では、各HPSは、そのHPSを参照する第1スライスに関連したピクチャと同じ時間的IDを保持するよう求められ得る。 Optionally, in any of the above aspects, another implementation of the aspect provides that the first slice is partitioned from a first picture, the first picture is associated with a temporal ID, and the first HPS is partitioned from a first picture. including a temporal ID associated with the . In some examples, each HPS may be required to maintain the same temporal ID as the picture associated with the first slice that references that HPS.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、第1HPS及び第2HPSを含む複数のHPSがエンコーディングされ、複数のHPSの夫々及び複数のスライスの夫々が、複数の時間的IDのうちの1つに関連し、第1時間的IDを有する各スライスが、第1時間的IDよりも大きい第2時間的IDを有する如何なるHPSも参照することを制限される、ことを提供する。いくつかの例では、ピクチャ及びスライスのビットストリームは、複数の時間的IDのうちの1つ(例えば、3つのうちの1つ)に関連することができる。時間的IDは夫々、対応するフレームレートに関連する。より高いフレームレートを有するデータ項目は、より低いフレームレートがレンダリングされる場合に無視されてよい。本例では、スライスは、より高い時間的ID、よって、より高いフレームレートを有するHPSを参照することができないようにされる。このアプローチは、スライスのより低いフレームレートがレンダリングされる場合に無視されるより高いフレームレートのHPSをスライスが参照しないことを確かにする。これは、HPSがスライスに実際に利用可能であり、フレームレート不一致により無視されないことを確かにし得る。 Optionally, in any of the above aspects, another implementation of the aspect provides that a plurality of HPSs including a first HPS and a second HPS are encoded, and each of the plurality of HPSs and each of the plurality of slices is encoded with a plurality of temporal IDs. each slice associated with one of the HPSs having a first temporal ID is restricted from referencing any HPS having a second temporal ID greater than the first temporal ID. . In some examples, a bitstream of pictures and slices may be associated with one of a plurality of temporal IDs (eg, one of three). Each temporal ID is associated with a corresponding frame rate. Data items with higher frame rates may be ignored if lower frame rates are rendered. In this example, slices are prevented from referencing HPSs with higher temporal IDs and thus higher frame rates. This approach ensures that the slice does not reference higher frame rate HPSs that are ignored when the slice's lower frame rate is rendered. This may ensure that the HPS is actually available for the slice and is not ignored due to frame rate mismatch.

実施形態において、開示は、プロセッサと、プロセッサへ結合されている受信器と、プロセッサへ結合されているメモリと、プロセッサへ結合されている送信器とを有し、プロセッサ、受信器、メモリ、及び送信器が、上記の態様のいずれかの方法を実行するよう構成される、ビデオコーディングデバイスを含む。 In embodiments, the disclosure includes a processor, a receiver coupled to the processor, a memory coupled to the processor, and a transmitter coupled to the processor, the processor, the receiver, the memory, and the transmitter coupled to the processor. A transmitter includes a video coding device configured to perform the method of any of the above aspects.

実施形態において、開示は、ビデオコーディングデバイスによって使用されるコンピュータプログラム製品を有する非一時的なコンピュータ可読媒体であって、コンピュータプログラム製品が、プロセッサによって実行される場合に、ビデオコーディングデバイスに、上記の態様のいずれかの方法を実行させるように、非一時的なコンピュータ可読媒体に記憶されているコンピュータ実行可能命令を有する、非一時的なコンピュータ可読媒体を含む。 In embodiments, the disclosure provides a non-transitory computer-readable medium having a computer program product for use by a video coding device, wherein the computer program product, when executed by a processor, provides the video coding device with the A non-transitory computer-readable medium having computer-executable instructions stored on the non-transitory computer-readable medium to cause the method of any of the aspects to be performed.

実施形態において、開示は、第1タイプのコーディングツールパラメータを含む第1HPSと、第2タイプのコーディングツールパラメータを含む第2HPSと、スライスヘッダと、前記スライスヘッダに関連したスライスとを有するビットストリームを受信する受信手段と、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する決定手段と、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングするデコーディング手段と、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送する転送手段とを有するデコーダを含む。 In embodiments, the disclosure provides a bitstream having a first HPS including a first type of coding tool parameters, a second HPS including a second type of coding tool parameters, a slice header, and a slice associated with the slice header. receiving means for receiving; determining means for determining that the slice header includes a first reference to the first HPS and a second reference to the second HPS; and determining means for determining that the slice header includes the first reference and the second reference. , decoding means for decoding the slices using the first type of coding tool parameters and the second type of coding tool parameters, and transfer means for transferring the slices for display as part of the decoded video sequence. including a decoder with

任意に、上記の態様のいずれかにおいて、態様の他の実施は、デコーダが、上記の態様のいずれかの方法を実行するよう更に構成される、ことを提供する。 Optionally, in any of the above aspects, another implementation of the aspect provides that the decoder is further configured to perform the method of any of the above aspects.

実施形態において、開示は、複数のピクチャを複数のスライスにパーティション化するパーティション化手段と、複数のスライスをビットストリーム内にエンコーディングし、スライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツール及び第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールによって、エンコーディングされ;第1HPS及び第2HPSをビットストリーム内にエンコーディングし、第1HPSは第1タイプのコーディングツールパラメータを含み、第2HPSは第2タイプのコーディングツールパラメータを含み;複数のスライスのうちの第1スライスのエンコーディングを記述する第1スライスヘッダをビットストリーム内にエンコーディングし、第1スライスヘッダは、第1HPSに対する第1参照及び第2HPSに対する第2参照を含む、エンコーディング手段と、デコーダへの通信のためにビットストリームを記憶する記憶手段とを有するエンコーダを含む。 In embodiments, the disclosure provides a partitioning means for partitioning a plurality of pictures into a plurality of slices, and encoding the plurality of slices into a bitstream, the slices having at least a first type of coding tool parameter based on a first type of coding tool parameter. encoded by a second type of coding tool based on the type of coding tool and the second type of coding tool parameters; encoding the first HPS and the second HPS into the bitstream, the first HPS including the first type of coding tool parameters; , the second HPS includes a second type of coding tool parameters; encodes a first slice header in the bitstream that describes the encoding of a first slice of the plurality of slices; 1 reference and a second reference to a second HPS, an encoder having encoding means and storage means for storing the bitstream for communication to a decoder.

任意に、上記の態様のいずれかにおいて、態様の他の実施は、エンコーダが、上記の態様のいずれかの方法を実行するよう更に構成される、ことを提供する。 Optionally, in any of the above aspects, another implementation of the aspect provides that the encoder is further configured to perform the method of any of the above aspects.

明りょうさのために、上記の実施形態のいずれか1つは、本開示の範囲内で新しい実施形態をもたらすよう、他の上記の実施形態のいずれか1つ以上と組み合わされてよい。 For clarity, any one of the embodiments described above may be combined with any one or more of the other embodiments described above to yield new embodiments within the scope of this disclosure.

これら及び他の特徴は、添付の図面及び特許請求の範囲と併せて読まれる以下の詳細な説明から、より明りょうに理解されるだろう。 These and other features will be more clearly understood from the following detailed description, read in conjunction with the accompanying drawings and claims.

本開示のより完全理解のために、これより、添付の図面及び詳細な説明と併せて読まれる、次の簡単な説明が参照される。同じ参照番号は同じ部分を表す。 For a more complete understanding of the present disclosure, reference is now made to the following brief description, read in conjunction with the accompanying drawings and detailed description. Like reference numbers refer to like parts.

ビデオ信号をコーディングする方法の例のフローチャートである。1 is a flowchart of an example method of coding a video signal. ビデオコーディングのためのコーディング及びデコーディング(コーデック)システムの例の概略図である。1 is a schematic diagram of an example coding and decoding (CODEC) system for video coding; FIG. ビデオエンコーダの例を表す概略図である。1 is a schematic diagram representing an example of a video encoder; FIG. ビデオデコーダの例を表す概略図である。1 is a schematic diagram representing an example of a video decoder; FIG. エンコーディングされたビデオシーケンスをヘッダパラメータセット(HPS)とともに含むビットストリームの例を表す概略図である。1 is a schematic diagram representing an example of a bitstream containing an encoded video sequence with a header parameter set (HPS); FIG. 時間スケーリングのためのメカニズムの例を表す概略図である。1 is a schematic diagram representing an example of a mechanism for time scaling; FIG. ビデオコーディングデバイスの例の概略図である。1 is a schematic diagram of an example video coding device; FIG. HPSを使用することによってビデオシーケンスをビットストリーム内にエンコーディングする方法の例のフローチャートである。1 is a flowchart of an example method of encoding a video sequence into a bitstream by using HPS. HPSを使用することによってビットストリームからビデオシーケンスをデコーディングする方法の例のフローチャートである。1 is a flowchart of an example method of decoding a video sequence from a bitstream by using HPS. HPSを使用することによってビットストリームで画像のビデオシーケンスをコーディングするシステムの例の概略図である。1 is a schematic diagram of an example system for coding a video sequence of images in a bitstream by using HPS. FIG.

1つ以上の実施形態の例示的な実施が以下で与えられるが、開示されるシステム及び/又は方法は、現在知られているか又は存在しているかどうかに関わらず、任意の数の技術を用いて実施されてよい、ことがまず理解されるべきである。開示は、ここで図示及び記載されている例となる設計及び実施を含む、以下で説明される例示的な実施、図面、及び技術に決して限定されるべきではなく、添付の特許請求の範囲及びその均等の全範囲内で変更されてもよい。 Although example implementations of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether or not currently known or existing. It should first be understood that it may be implemented in any manner. The disclosure is in no way to be limited to the example implementations, drawings, and techniques described below, including the example designs and implementations shown and described herein, but is to be construed in accordance with the appended claims and claims. Variations may be made within the full range of equivalence thereof.

次の頭字語、Adaptive Loop Filter(ALF)、Coding Tree Block(CTB)、Coding Tree Unit(CTU)、Coding Unit(CU)、Coded Video Sequence(CVS)、Dynamic Adaptive Streaming over Hypertext transfer protocol(DASH)、Joint Video Experts Team(JVET)、Motion-Constrained Tile Set(MCTS)、Maximum Transfer Unit(MTU)、Network Abstraction Layer(NAL)、Picture Order Count(POC)、Raw Byte Sequence Payload(RBSP)、Sample Adaptive Offset(SAO)、Sequence Parameter Set(SPS)、Versatile Video Coding(VVC)、及びWorking Draft(WD)が、ここでは使用される。 The following acronyms: Adaptive Loop Filter (ALF), Coding Tree Block (CTB), Coding Tree Unit (CTU), Coding Unit (CU), Coded Video Sequence (CVS), Dynamic Adaptive Streaming over Hypertext transfer protocol (DASH), Joint Video Experts Team (JVET), Motion-Constrained Tile Set (MCTS), Maximum Transfer Unit (MTU), Network Abstraction Layer (NAL), Picture Order Count (POC), Raw Byte Sequence Payload (RBSP), Sample Adaptive Offset ( Sequence Parameter Set (SPS), Versatile Video Coding (VVC), and Working Draft (WD) are used here.

多くのビデオ圧縮技術は、最小限のデータ損失でビデオファイルのサイズを低減するために用いられ得る。例えば、ビデオ圧縮技術は、ビデオシーケンス内のデータ冗長性を低減又は排除するよう空間(例えば、イントラピクチャ)予測及び/又は時間(例えば、インターピクチャ)予測を実行することを含むことができる。ブロックベースのビデオコーディングについては、ビデオスライス(例えば、ビデオピクチャ又はビデオピクチャの部分)は、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)、及び/又はコーディングノードとも呼ばれ得るビデオブロックにパーティション化されてよい。ピクチャのイントラコーディング(I)されたスライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに関して空間予測を用いてコーディングされる。ピクチャのインターコーディングされた一方向予測(P)又は双方向予測(B)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照ピクチャに関して空間予測を、又は他の参照ピクチャ内の参照サンプルに関して時間予測を用いることによって、コーディングされてよい。ピクチャは、フレーム及び/又は画像と呼ばれることがあり、参照ピクチャは、参照フレーム及び/又は参照画像と呼ばれることがある。空間又は時間予測は、画像ブロックを表す予測ブロックをもたらす。残差データは、原画像ブロックと予測ブロックとの間のピクセル差分を表す。従って、インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトルと、コーディングされたブロックと予測ブロックとの間の差分を示す残差データと従って、エンコーディングされる。イントラコーディングされたブロックは、イントラコーディングモード及び残差データに従ってエンコーディングされる。更なる圧縮のために、残差データは、ピクセル領域から変換領域へ変換されてよい。これらは残差変換係数をもたらし、これは量子化されてよい。量子化された変換係数は、2次元配列で最初に配置されてよい。量子化された変換係数は、変換係数の1次元ベクトルを生成するためにスキャンされてよい。エントロピコーディングが、より一層の圧縮を達成するよう適用されてもよい。このようなビデオ圧縮技術については、以下で更に詳細に説明される。 Many video compression techniques can be used to reduce the size of video files with minimal data loss. For example, video compression techniques can include performing spatial (eg, intra-picture) prediction and/or temporal (eg, inter-picture) prediction to reduce or eliminate data redundancy within a video sequence. For block-based video coding, a video slice (e.g., a video picture or a portion of a video picture) can be a tree block, a coding tree block (CTB), a coding tree unit (CTU), a coding unit (CU), and/or a coding It may be partitioned into video blocks, which may also be called nodes. Video blocks within an intra-coded (I) slice of a picture are coded using spatial prediction with respect to reference samples in adjacent blocks within the same picture. Video blocks within an inter-coded unidirectionally predicted (P) or bidirectionally predicted (B) slice of a picture are spatially predicted with respect to reference pictures in adjacent blocks within the same picture, or with respect to reference samples in other reference pictures. may be coded by using temporal prediction. A picture may be referred to as a frame and/or an image, and a reference picture may be referred to as a reference frame and/or reference image. Spatial or temporal prediction results in a predicted block representing an image block. Residual data represents pixel differences between the original image block and the predicted block. Thus, inter-coded blocks are encoded accordingly with motion vectors pointing to the blocks of reference samples forming the predictive block and residual data indicating the difference between the coded block and the predictive block. Intra-coded blocks are encoded according to the intra-coding mode and residual data. For further compression, the residual data may be transformed from the pixel domain to the transform domain. These yield residual transform coefficients, which may be quantized. The quantized transform coefficients may be arranged first in a two-dimensional array. The quantized transform coefficients may be scanned to generate a one-dimensional vector of transform coefficients. Entropy coding may be applied to achieve further compression. Such video compression techniques are discussed in more detail below.

エンコーディングされたビデオが正確にデコーディングされ得ることを確かにするために、ビデオは、対応するビデオコーディング規格に従ってエンコーディング及びデコーディングされる。ビデオコーディング規格は、国際電気通信連合(ITU)標準化部門(ITU-T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)動画専門家集団(MPEG)-1 Part 2、ITU-T H.262又はISO/IEC MPEG-2 Part2、ITU-T H.263、ISO/IEC MPEG-4 Part 2、ITU-T H.264又はISO/IEC MPEG-4 Part 10としても知られているアドバンスド・ビデオ・コーディング(AVC)、及びITU-T H.265又はMPEG-H Part 2としても知られている高効率ビデオコーディング(HEVC)を含む。AVCは、スケーラブル・ビデオ・コーディング(SVC)、マルチビュー・ビデオ・コーディング(MVC)及びマルチビュー・ビデオ・コーディング・プラス・デプス(MVC+D)、並びに3次元(3D)AVC(3D-AVC)等の拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、及び3D HEVC(3D-HEVC)等の拡張を含む。ITU-TとISO/IECとの共同ビデオ専門家部会(JVET)は、バーサタイル・ビデオ・コーディング(VVC)と呼ばれるビデオコーディング規格を開発することを開始している。VVCは、JVET-L1001-v1及びJVET-K1002-v3を含むワーキング・ドラフト(WD)に含まれ、アルゴリズム記述、VVC WDのエンコーダ側記述、及び参照ソフトウェアを提供する。 To ensure that the encoded video can be decoded accurately, the video is encoded and decoded according to the corresponding video coding standard. The video coding standard is developed by the International Telecommunication Union (ITU) Standardization Sector (ITU-T) H. 261, International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Motion Picture Expert Group (MPEG)-1 Part 2, ITU-T H. 262 or ISO/IEC MPEG-2 Part 2, ITU-T H.262 or ISO/IEC MPEG-2 Part 2, ITU-T H. 263, ISO/IEC MPEG-4 Part 2, ITU-T H. Advanced Video Coding (AVC), also known as H.264 or ISO/IEC MPEG-4 Part 10, and ITU-T H.264 or ISO/IEC MPEG-4 Part 10. High Efficiency Video Coding (HEVC), also known as H.265 or MPEG-H Part 2. AVC includes scalable video coding (SVC), multi-view video coding (MVC), multi-view video coding plus depth (MVC+D), and three-dimensional (3D) AVC (3D-AVC). Including extensions. HEVC includes extensions such as scalable HEVC (SHVC), multi-view HEVC (MV-HEVC), and 3D HEVC (3D-HEVC). The Joint Video Expert Group (JVET) of ITU-T and ISO/IEC has begun developing a video coding standard called Versatile Video Coding (VVC). VVC is included in a working draft (WD) that includes JVET-L1001-v1 and JVET-K1002-v3, and provides an algorithm description, an encoder-side description of the VVC WD, and reference software.

ビデオ画像をコーディングするために、画像は最初にパーティション化され、パーティションがビットストリーム内にコーディングされる。様々なピクチャパーティション化スキームが利用可能である。例えば、画像は、規則的なスライス、従属的なスライス、タイルに、及び/又は波面並列処理(WPP)に従ってパーティション化され得る。簡単のために、HEVCは、規則的なスライス、従属的なスライス、タイル、WPP、及びこれらの組み合わせしか、ビデオコーディングのためのCTBのグループにスライスをパーティション化するときに使用され得ないように、エンコーダを制限する。このようなパーティション化は、最大変換ユニット(MTU)サイズ一致、並列処理、及び低減されたエンド間遅延をサポートするよう適用され得る。MTUは、単一パケットで伝送され得るデータの最大量を表す。パケットペイロードがMTUを超える場合に、そのペイロードは、断片化と呼ばれるプロセスを通じて2つのパケットに分裂される。 To code a video image, the image is first partitioned and the partitions are coded into a bitstream. Various picture partitioning schemes are available. For example, an image may be partitioned into regular slices, dependent slices, tiles, and/or according to wavefront parallel processing (WPP). For simplicity, HEVC allows only regular slices, dependent slices, tiles, WPP, and combinations thereof to be used when partitioning slices into groups of CTBs for video coding. , limit the encoder. Such partitioning may be applied to support maximum transform unit (MTU) size matching, parallelism, and reduced end-to-end delay. MTU represents the maximum amount of data that can be transmitted in a single packet. If a packet payload exceeds the MTU, the payload is split into two packets through a process called fragmentation.

単にスライスとも呼ばれる規則的なスライスは、ループフィルタリング動作によるいくらかの相互依存性にも関わらず、同じピクチャ内の他の規則的なスライスから独立して再構成され得る画像のパーティション化された部分である。夫々の規則的なスライスは、伝送のためにそれ自体のネットワーク抽象化レイヤ(NAL)ユニットにおいてカプセル化される。更に、ピクチャ内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)及びスライス境界にわたるエントロピコーディング依存性は、独立した再構成をサポートするよう無効にされてよい。このような独立した再構成は並列化をサポートする。例えば、規則的なスライスに基づく並列化は、最低限のプロセッサ間又はコア間通信を用いる。しかし、夫々の規則的なスライスは独立しているということで、各スライスは別個のスライスヘッダと関連付けられる。規則的なスライスの使用は、各スライスのためのスライスヘッダのビットコストにより、且つ、スライス境界にわたる予測の欠如により、相当なコーディングオーバーヘッドを招く可能性がある。更に、規則的なスライスは、MTUサイズの一致の要件をサポートするために用いられることがある。具体的には、規則的なスライスは別個のNALユニットにおいてカプセル化され、独立してコーディングされ得るということで、夫々の規則的なスライスは、そのスライスを複数のパケットに分けることを回避するために、MTUスキームにおけるMTUよりも小さくなければならない。そのようなものとして、並列化の目標及びMTUサイズ一致の目標は、矛盾した要求をピクチャ内のスライスレイアウトに突きつける可能性がある。 A regular slice, also simply called a slice, is a partitioned part of an image that can be reconstructed independently from other regular slices in the same picture, despite some interdependence due to loop filtering operations. be. Each regular slice is encapsulated in its own network abstraction layer (NAL) unit for transmission. Furthermore, intra-picture prediction (intra-sample prediction, motion information prediction, coding mode prediction) and entropy coding dependencies across slice boundaries may be overridden to support independent reconstruction. Such independent reconfiguration supports parallelization. For example, regular slice-based parallelization uses minimal inter-processor or inter-core communication. However, since each regular slice is independent, each slice is associated with a separate slice header. The use of regular slices can incur significant coding overhead due to the bit cost of the slice header for each slice and the lack of prediction across slice boundaries. Additionally, regular slices may be used to support MTU size matching requirements. Specifically, regular slices can be encapsulated in separate NAL units and coded independently, so that each regular slice can be In other words, it must be smaller than the MTU in the MTU scheme. As such, parallelization goals and MTU size matching goals can place contradictory demands on the slice layout within a picture.

従属的なスライスは、規則的なスライスと類似しているが、短くされたスライスヘッダを有し、ピクチャ内予測を中断せずに画像ツリーブロック境界のパーティション化を可能にする。従って、従属的なスライスは、規則的なスライスが複数のNALユニットに断片化されることを可能にし、これは、規則的なスライス全体のエンコーディングが完了する前に規則的なスライスの一部が送出されることを可能にすることによって、低減されたエンド間遅延をもたらす。 Dependent slices are similar to regular slices, but have a shortened slice header, allowing partitioning of image treeblock boundaries without interrupting intra-picture prediction. Therefore, dependent slices allow a regular slice to be fragmented into multiple NAL units, which means that a portion of a regular slice is fragmented before encoding of the entire regular slice is completed. This results in reduced end-to-end delay.

タイルは、タイルの列及び行を作る水平及び垂直境界によって作られた画像のパーティション化された部分である。タイルは、ラスタスキャン順序(右から左及び上から下)でコーディングされてよい。CTBのスキャン順序はタイル内で局所的である。従って、第1のタイル内のCTBは、次のタイル内のCTBに対する処理の前に、ラスタスキャン順序でコーディングされる。規則的なスライスと同様に、タイルは、エントロピデコーディング従属性に加えてピクチャ内予測従属性も崩す。しかし、タイルは、個々のNALユニットに含まれなくてもよく、従って、タイルは、MTUサイズ一致のために使用されなくてもよい。各タイルは、1つのプロセッサ/コアによって処理され得、隣接するタイルをデコーディングする処理ユニット間でピクチャ内予測のために用いられるプロセッサ間/コア間通信は、(隣接するタイルが同じスライス内にある場合に)共有スライスヘッダを運ぶことと、再構成されたサンプル及びメタデータのループフィルタリングに関連した共有を実行することとに制限されてよい。1つよりも多いタイルがスライスに含まれる場合に、スライス内の最初のエントリポイントオフセット以外の各タイルのためのエントリポイントバイトオフセットは、スライスヘッダで通知されてよい。夫々のスライス及びタイルについて、次の条件:1)スライス内の全てのコーディングされたツリーブロックは同じタイルに属すること、及び2)タイル内の全てのコーディングされたツリーブロックは同じスライスに属すること、のうちの少なくとも1つが満たされるべきである。 Tiles are partitioned portions of an image created by horizontal and vertical boundaries that create columns and rows of tiles. Tiles may be coded in raster scan order (right to left and top to bottom). The CTB scan order is local within a tile. Therefore, the CTBs in a first tile are coded in raster scan order before processing for CTBs in the next tile. Similar to regular slices, tiles also break intra-picture prediction dependencies in addition to entropy decoding dependencies. However, tiles may not be included in individual NAL units, and thus tiles may not be used for MTU size matching. Each tile may be processed by one processor/core, and the inter-processor/inter-core communication used for intra-picture prediction between processing units decoding adjacent tiles is may be limited to carrying shared slice headers (in some cases) and performing sharing associated with loop filtering of reconstructed samples and metadata. If more than one tile is included in a slice, the entry point byte offset for each tile other than the first entry point offset within the slice may be signaled in the slice header. For each slice and tile, the following conditions: 1) all coded treeblocks within a slice belong to the same tile; and 2) all coded treeblocks within a tile belong to the same slice. At least one of the following should be satisfied.

WPPでは、画像は、CTBの単一の行にパーティション化される。エントロピデコーディング及び予測メカニズムは、他の行内のCTBからのデータを使用してよい。並列処理は、CTB行の並列デコーディングを通じて可能にされる。例えば、現在の行は、先行する行と並行してデコーディングされてよい。しかし、現在の行のデコーディングは、2つのCTBだけ、先行する行のデコーディングプロセスから遅延する。この遅延は、現在の行内の現在のCTBの上のCTB及び右上のCTBに関するデータが、現在のCTBがコーディングされる前に利用可能であることを確かにする。このアプローチは、グラフィカルに表現される場合に波面として現れる。この時差スタートは、画像に含まれるCTB行と同じ数以下のプロセッサ/コアによる並列化を可能にする。ピクチャ内の隣接するツリーブロック行間のピクチャ内予測が許可されるので、ピクチャ内予測を可能にするためのプロセッサ間/コア間通信はかなりの量になる可能性がある。WPPパーティション化はNALユニットサイズを考慮しない。従って、WPPは、MTUサイズ一致をサポートしない。しかし、規則的なスライスは、望まれるようにMTUサイズ一致を実装するために、特定のコーディングオーバーヘッドを伴って、WPPとともに使用され得る。 In WPP, images are partitioned into a single row of CTBs. Entropy decoding and prediction mechanisms may use data from CTBs in other rows. Parallel processing is enabled through parallel decoding of CTB rows. For example, the current row may be decoded in parallel with previous rows. However, the decoding of the current row is delayed by two CTBs from the decoding process of the previous row. This delay ensures that data for the CTB above and to the right of the current CTB in the current row is available before the current CTB is coded. This approach appears as a wavefront when represented graphically. This staggered start allows parallelization with no more than the same number of processors/cores as there are CTB rows included in the image. Since intra-picture prediction between adjacent treeblock rows within a picture is allowed, inter-processor/inter-core communication to enable intra-picture prediction can be significant. WPP partitioning does not consider NAL unit size. Therefore, WPP does not support MTU size matching. However, regular slices may be used with WPP, with certain coding overhead, to implement MTU size matching as desired.

タイルは、ピクチャをタイルの列及び行にパーティション化する水平及び垂直境界を画定する。CTBのスキャン順序は、ピクチャのタイルラスタスキャンの順序における次のタイルの左上CTBをデコーディングする前に、タイル内で局所的であるよう変更されてよい。局所的スキャン順序は、タイルのCTBラスタスキャンの順序を示す。規則的なタイルと同様に、タイルは、エントロピデコーディング従属性に加えてピクチャ内予測従属性も崩す。しかし、タイルは、個々のNALユニットに含まれなくてもよい。従って、タイルは、MTUサイズ一致のために使用されなくてもよい。各タイルは、1つのプロセッサ/コアによって処理され得る。隣接するタイルをデコーディングする処理ユニット間でピクチャ内予測のために用いられるプロセッサ間/コア間通信は、スライスが1つよりも多いタイルに及ぶ場合に、共有スライスヘッダを運ぶことに制限されてよい。プロセッサ間/コア間通信はまた、再構成されたサンプル及びメタデータのループフィルタリングに関連した共有のためにも使用されてよい。1つよりも多いタイル又はWPPセグメントがスライスに含まれる場合に、スライス内の最初のもの以外の各タイル又はWPPのためのエントリポイントバイトオフセットは、スライスヘッダで通知されてよい。4つの異なるピクチャパーティション化スキームの適用に関する制限は、簡単さをサポートするために用いられてよい。例えば、コーディングされたビデオシーケンス(CVS)は、HEVCで定められているプロファイルのほとんどについて、タイル及び波面の両方を含まなくてもよい。夫々のスライス及びタイルについて、次の条件のうちの一方又は両方が満足されてもよい。スライス内の全てのコーディングされたツリーブロックは同じタイルに属してよく、タイル内の全てのコーディングされたツリーブロックは同じスライスに属してよい。更に、波面セグメントは、厳密に1つのCTB行を含んでよい。また、WPPが使用中であるとき、CTB行内で始まるスライスは、同じCTB行で終わるべきである。 Tiles define horizontal and vertical boundaries that partition the picture into columns and rows of tiles. The scan order of the CTBs may be changed locally within a tile before decoding the top left CTB of the next tile in the tile raster scan order of the picture. The local scan order indicates the CTB raster scan order of the tile. Similar to regular tiles, tiles also break intra-picture prediction dependencies in addition to entropy decoding dependencies. However, tiles may not be included in individual NAL units. Therefore, tiles may not be used for MTU size matching. Each tile may be processed by one processor/core. Inter-processor/inter-core communication used for intra-picture prediction between processing units decoding adjacent tiles is limited to carrying shared slice headers when the slice spans more than one tile. good. Inter-processor/inter-core communication may also be used for loop filtering-related sharing of reconstructed samples and metadata. If more than one tile or WPP segment is included in a slice, the entry point byte offset for each tile or WPP other than the first one in the slice may be signaled in the slice header. A restriction on applying four different picture partitioning schemes may be used to support simplicity. For example, coded video sequences (CVS) may not include both tiles and wavefronts for most of the profiles defined in HEVC. For each slice and tile, one or both of the following conditions may be satisfied: All coded treeblocks within a slice may belong to the same tile, and all coded treeblocks within a tile may belong to the same slice. Furthermore, a wavefront segment may include exactly one CTB row. Also, when WPP is in use, slices that start within a CTB row should end in the same CTB row.

VVCは、タイル及びタイルグループピクチャパーティション化スキームを含んでよい。VVCにおけるタイルは、HEVCにおけるタイルと同じであってよい。VVCは、スライスの代わりにタイルグループを用いてもよい。スライスは、CTUのグループを含むものとして定義され、一方、タイルグループは、タイルのグループを含むものとして定義される。コーディングされたピクチャは、1つ以上のスライス(又はタイルグループ)から構成され得る。各スライス/タイルグループは、スライスをデコーディングするために使用される情報を表すシンタックス要素を含むスライスヘッダを有する。各スライスヘッダは、そのスライスのみをデコーディングするための情報を含んでよい。しかし、スライスヘッダからの情報は、同じピクチャ内の他のスライスについて同じである可能性がある。これは、コーディングツールがピクチャレベルで動作することがあり、ピクチャ内の全てのスライスのためのパラメータが同じであり得るためである。この状況は、スライスヘッダにおいて冗長な情報を引き起こす可能性がある。 VVC may include a tile and tile group picture partitioning scheme. Tiles in VVC may be the same as tiles in HEVC. VVC may use tile groups instead of slices. A slice is defined as containing a group of CTUs, while a tile group is defined as containing a group of tiles. A coded picture may be composed of one or more slices (or tile groups). Each slice/tile group has a slice header that contains syntax elements representing information used to decode the slice. Each slice header may include information for decoding only that slice. However, the information from the slice header may be the same for other slices within the same picture. This is because the coding tool may operate at the picture level and the parameters for all slices within a picture may be the same. This situation can cause redundant information in the slice header.

APSとしても知られるヘッダパラメータセット(HPS)は、冗長なスライスヘッダ情報に関する問題を解決するために用いられてよい。HPSは、複数のスライスによって共有されるスライスレベル情報を含んでよい。HPSは、エンコーダによって生成されてよく、対応するスライスをデコーダでデコーディングするときに用いられるコーディングツールパラメータを含んでよい。いくつかのシステムは、HPS及び参照HPSを用いることによってHPSスキームを実装する。このスキームでは、コーディング順序における最初のHPSは、対応するスライスのための関連したコーディングツールパラメータの全てを含む。このようなパラメータが後続のスライスについて変化する場合に、後続のHPSは、変化したパラメータのみを含む。次いで、その後続のHPSは、最初のHPSを参照する。従って、最初のHPSは、後続のHPSのための参照HPSの役割をする。次いで、更なるHPSが、前のHPS等を参照するために用いられ得る。 Header Parameter Set (HPS), also known as APS, may be used to solve problems with redundant slice header information. The HPS may include slice level information shared by multiple slices. The HPS may be generated by the encoder and may include coding tool parameters used when decoding the corresponding slice at the decoder. Some systems implement the HPS scheme by using an HPS and a reference HPS. In this scheme, the first HPS in the coding order contains all of the relevant coding tool parameters for the corresponding slice. If such parameters change for subsequent slices, subsequent HPSs only include the changed parameters. Subsequent HPSs then reference the first HPS. Therefore, the first HPS serves as a reference HPS for subsequent HPSs. Further HPSs can then be used to reference previous HPSs, and so on.

このようなHPS参照はいくつかの問題を含む。例えば、HPSが他のHPSを参照することを可能にすることは、複雑なメカニズムを生じる。具体例として、このメカニズムは、一連のHPS参照につながる可能性がある。いくつかの場合に、このアプローチは、ビデオデータを含むビットストリームで使用されるHPS参照の数に明示的な制限が存在しなくてもよいということで、HPSの長いチェーンを引き起こす可能性がある。このようなスキームを管理するために、デコーダは、起こり得るその後の参照に備えるために、デコーディングピクチャバッファ内のHPSを任意数に維持する必要があり得る。この問題に対処するために、HPSリセットメカニズムが、如何なるこのような拡張されたHPS参照チェーンも切断するよう加えられることがあり、これは更なる複雑性を加える。更に、このアプローチは、潜在的にエラーが発生しやすい。例えば、先のHPSが伝送エラーにより失われる場合に、その後の参照HPSは、対応するスライスをコーディングするための十分なデータを含まないことになる。また、このアプローチは、ビットストリーム内の多数のHPSにつながる可能性がある。しかし、HPS識別子(ID)の数は、大きなHPS ID値をコーディングすることを回避するよう制限されることがある。そのようなものとして、HPS IDはビットストリーム内で再利用されることがある。これは、例えば、HPSが、1つよりも多い参照HPSによって使用されたHPS IDを参照する場合に、曖昧さを生じる可能性がある。更に、HPSは、コーディングされたビットストリーム内で通知されることがあり、これはインバンドシグナリングと呼ばれる。HPSはまた、外部メカニズムによって、例えば、メタデータ情報において、通知されることもある。このようなシグナリングは、アウトオブバンドシグナリングと呼ばれる。このようなデュアルシグナリングメカニズムは、HPSスキームの複雑さを更に増やす。 Such HPS references involve several problems. For example, allowing HPSs to reference other HPSs results in complex mechanisms. As a specific example, this mechanism can lead to a series of HPS references. In some cases, this approach can lead to long chains of HPS in that there may not be an explicit limit on the number of HPS references used in the bitstream containing the video data. . To manage such a scheme, the decoder may need to maintain an arbitrary number of HPS in the decoding picture buffer in preparation for possible subsequent references. To address this issue, an HPS reset mechanism may be added to break any such extended HPS reference chain, which adds further complexity. Furthermore, this approach is potentially error-prone. For example, if a previous HPS is lost due to a transmission error, the subsequent reference HPS will not contain enough data to code the corresponding slice . Also, this approach can lead to a large number of HPS in the bitstream. However, the number of HPS identifiers (IDs) may be limited to avoid coding large HPS ID values. As such, the HPS ID may be reused within the bitstream. This may result in ambiguity, for example, if an HPS references an HPS ID used by more than one reference HPS. Additionally, HPS may be signaled within the coded bitstream, which is referred to as in-band signaling. The HPS may also be informed by external mechanisms, eg, in metadata information. Such signaling is called out-of-band signaling. Such a dual signaling mechanism further increases the complexity of the HPS scheme.

ここでは、HPSシグナリングの複雑さを低減するための様々なメカニズムが開示される。HPSは、最新の規格文書ではHPSと呼ばれている。従って、以下の開示は、議論の明りょうさのために、概してHPSに言及する。しかし、HPS及びAPSという用語は、ほとんどの態様で同義的に使用され得る。本開示は、HPSが他のHPSを参照しないようにすることによって、HPSの複雑さ及びエラーを起こしやすい性質を取り除く。HPSが他のHPSを参照しなくてもよいということで、単一のHPSの喪失は、局所的なエラーしか引き起こさない。更に、デコーダは、後のHPSが前のHPSに取って代わるということで、メモリにおいてHPSを保持するよう求められなくてもよい。具体例として、複数のタイプのHPSが用いられてよく、ここで、HPSタイプは、HPSに含まれるコーディングツールパラメータのタイプを示す。このようなHPSタイプは、適応ループフィルタ(ALF)HPS、クロマスケーリング付きルーママッピング(LMCS)HPS、及び/又はスケーリングリストパラメータHPSを含んでよい。このような例において、第1タイプの現在のHPSがデコーダによって取得される場合に、第1タイプの前のHPSは、現在のHPSがそのような前のHPSに取って代わるということで、捨てられ得る。更に、複数のタイプのHPSを可能にするために、単一のスライスヘッダは、対応するスライスに対して全てのコーディングツールパラメータを参照するよう1つよりも多いHPSを参照してよい。これは、スライスヘッダが、その場合に他のHPSを参照する単一のHPSを参照することを可能にする他のスキームと対照的である。従って、単一のスライスヘッダが複数のHPSを参照することを可能にすることは、HPS参照チェーンを回避する実施をもたらす。また、本開示は、HPSが時間スケーリングで動作することを可能にするメカニズムについて記載する。時間スケーリングでは、ビットストリームは、デコーダ及び/又はユーザが複数のフレームレートから選択することを可能にするよう構成される。このようなスキームを実装するために、ピクチャ/フレームは夫々、時間的IDを割り当てられる。より低い時間的IDを有するフレームは、各フレームレートで表示される。より高い時間的IDを有するフレームは、より低いフレームレートについてはスキップされ、より高いフレームレートについてのみ表示される。このような時間スケーリングをサポートするために、HPSは時間的IDを割り当てられる。HPSは、そのHPSを参照する最初のスライスを含むピクチャの時間的IDを受けてよい。他の例では、HPSは、そのHPSを含むアクセスユニットの時間的IDを受けてもよい。アクセスユニットは、対応するピクチャをデコーディングするのに十分なビデオデータを含むビットストリームデータグルーピングである。時間スケーリングを更にサポートするために、より低い時間的IDに関連したスライスは、より大きい時間的IDを含むHPSを参照することを制限されてよい。これは、より低いフレームレートの設定が、時間スケーリングにより無視されるHPSをスライスに参照させないことを確かにし、従って、より低いフレームレートで特定のスライスをデコーディングするときにコーディングツールパラメータが利用不可能であることを防ぐ。 Various mechanisms are disclosed herein to reduce the complexity of HPS signaling. HPS is called HPS in the latest standards document. Accordingly, the following disclosure generally refers to HPS for clarity of discussion. However, the terms HPS and APS may be used interchangeably in most aspects. The present disclosure removes the complexity and error-prone nature of HPSs by preventing them from referencing other HPSs. Loss of a single HPS only causes a local error since the HPS does not have to refer to other HPSs. Additionally, the decoder may not be required to maintain HPSs in memory, with later HPSs replacing earlier ones. As a specific example, multiple types of HPS may be used, where HPS type indicates the type of coding tool parameters included in the HPS. Such HPS types may include adaptive loop filter (ALF) HPS, luma mapping with chroma scaling (LMCS) HPS, and/or scaling list parameter HPS. In such an example, when a current HPS of the first type is obtained by the decoder, a previous HPS of the first type is discarded such that the current HPS replaces such previous HPS. It can be done. Additionally, to allow for multiple types of HPS, a single slice header may reference more than one HPS to reference all coding tool parameters for the corresponding slice. This is in contrast to other schemes that allow the slice header to refer to a single HPS which in turn refers to other HPSs. Therefore, allowing a single slice header to reference multiple HPSs provides an implementation that avoids HPS reference chains. This disclosure also describes mechanisms that allow HPS to operate with time scaling. With temporal scaling, the bitstream is configured to allow the decoder and/or user to select from multiple frame rates. To implement such a scheme, each picture/frame is assigned a temporal ID. Frames with lower temporal IDs are displayed at each frame rate. Frames with higher temporal IDs are skipped for lower frame rates and displayed only for higher frame rates. To support such temporal scaling, the HPS is assigned a temporal ID. The HPS may receive the temporal ID of the picture containing the first slice that references the HPS. In other examples, the HPS may receive the temporal ID of the access unit that includes the HPS. An access unit is a bitstream data grouping that contains enough video data to decode a corresponding picture. To further support temporal scaling, slices associated with lower temporal IDs may be restricted from referencing HPSs containing higher temporal IDs. This ensures that lower frame rate settings do not cause slices to reference HPS that are ignored due to temporal scaling, and therefore make coding tool parameters unavailable when decoding a particular slice at lower frame rates. Prevent it from being possible.

図1は、ビデオ信号をコーディングする、例となる動作方法100のフローチャートである。具体的に、ビデオ信号はエンコーダでエンコーディングされる。エンコーディングプロセスは、ビデオファイルサイズを低減するために様々なメカニズムを用いることによってビデオ信号を圧縮する。より小さいファイルサイズは、関連した帯域幅オーバーヘッドを低減しながら、圧縮されたビデオファイルがユーザに向けて伝送されることを可能にする。次いで、デコーダは、圧縮されたビデオファイルをデコーディングして、エンドユーザへの表示のための元のビデオ信号を再構成する。デコーディングプロセスは、一般的に、デコーダが一貫してビデオ信号を再構成することを可能にするよう、エンコーディングプロセスを反映する。 FIG. 1 is a flowchart of an example method of operation 100 for coding a video signal. Specifically, the video signal is encoded by an encoder. The encoding process compresses the video signal by using various mechanisms to reduce the video file size. Smaller file sizes allow compressed video files to be transmitted toward users while reducing associated bandwidth overhead. A decoder then decodes the compressed video file to reconstruct the original video signal for display to an end user. The decoding process generally mirrors the encoding process to allow the decoder to consistently reconstruct the video signal.

ステップ101で、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号は、メモリに記憶されている未圧縮ビデオファイルであってよい。他の例として、ビデオファイルは、ビデオカメラ等のビデオ捕捉デバイスによって捕捉され、ビデオのライブストリーミングをサポートするようエンコーディングされてよい。ビデオファイルは、オーディング成分及びビデオ成分の両方を含んでよい。ビデオ成分は、連続してみられる場合に、動きの視覚的印象を与える一連の画像フレームを含む。フレームは、ここでルーマ成分(又はルーマサンプル)と呼ばれる光と、クロマ成分(又は色サンプル)と呼ばれる色とに関して表現されるピクセルを含む。いくつかの例では、フレームはまた、3次元表示をサポートするためのデプス値も含んでよい。 At step 101, a video signal is input to an encoder. For example, the video signal may be an uncompressed video file stored in memory. As another example, a video file may be captured by a video capture device, such as a video camera, and encoded to support live streaming of the video. A video file may include both an audio component and a video component. A video component includes a series of image frames that, when viewed in succession, give a visual impression of movement. A frame includes pixels that are expressed in terms of light, referred to herein as a luma component (or luma sample), and color, referred to herein as a chroma component (or color sample). In some examples, frames may also include depth values to support three-dimensional display.

ステップ103で、ビデオはブロックにパーティション化される。パーティション化は、各フレーム内のピクセルを圧縮のために正方形及び/又は長方形ブロックに細分することを含む。例えば、高効率ビデオコーディング(HEVC)(H.265及びMPEG-H Part2として知られる)では、フレームは最初に、予め定義されたサイズ(例えば、64×64ピクセル)のブロックであるコーディングツリーユニット(CTU)に分割され得る。CTUは、ルーマ及びクロマサンプルの両方を含む。コーディングツリーは、CTUをブロックに分割し、次いで、更なるエンコーディングをサポートする構成が達成されるまで、ブロックを再帰的に細分するために用いられてよい。例えば、フレームのルーマ成分は、個々のブロックが比較的に一様な明暗値を含むまで細分されてよい。更に、フレームのクロマ成分は、個々のブロックが比較的に一様な色値を含むまで細分されてよい。従って、パーティション化メカニズムは、ビデオフレームの内容に応じて変化する。 At step 103, the video is partitioned into blocks. Partitioning involves subdividing pixels within each frame into square and/or rectangular blocks for compression. For example, in High Efficiency Video Coding (HEVC) (known as H.265 and MPEG-H Part 2), a frame is first coded by a coding tree unit (which is a block of predefined size (e.g., 64x64 pixels)). CTU). A CTU includes both luma and chroma samples. The coding tree may be used to divide the CTU into blocks and then recursively subdivide the blocks until a configuration that supports further encoding is achieved. For example, the luma component of a frame may be subdivided until individual blocks contain relatively uniform brightness values. Additionally, the chroma components of the frame may be subdivided until individual blocks contain relatively uniform color values. Therefore, the partitioning mechanism changes depending on the content of the video frame.

ステップ105で、ステップ103でパーティション化された画像ブロックを圧縮するよう様々な圧縮メカニズムが用いられる。例えば、インター予測及び/又はイントラ予測が用いられてよい。インター予測は、共通のシーン内の対象物が連続したフレームで現れる傾向がある、という事実を利用するよう設計される。従って、参照フレーム内の対象物を表すブロックは、隣接するフレームで繰り返し記述される必要がない。具体的に、テーブル等の対象物は、複数のフレームにわたって定位置のままであることがある。従って、テーブルは一度記述され、隣接するフレームは参照フレームを参照し直すことができる。パターンマッチングメカニズムが、複数のフレームにわたって対象物を照合するために用いられてもよい。更に、動いている対象物が、例えば、対象物の運動又はカメラの運動により、複数のフレームにわたって表現されることがある。具体例として、ビデオは、複数のフレームにわたって画面を横切って動く自動車を示すことがある。動きベクトルは、そのような運動を記述するために用いられ得る。動きベクトルは、あるフレーム内の対象物の座標から参照フレーム内の対象物の座標へのオフセットを提供する2次元ベクトルである。そのようなものとして、インター予測は、現在のフレーム内の画像ブロックを、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルの組としてエンコーディングすることができる。 At step 105, various compression mechanisms are used to compress the image blocks partitioned at step 103. For example, inter prediction and/or intra prediction may be used. Inter-prediction is designed to take advantage of the fact that objects in a common scene tend to appear in consecutive frames. Therefore, blocks representing objects in the reference frame do not need to be repeatedly described in adjacent frames. Specifically, an object, such as a table, may remain in place over multiple frames. Therefore, the table is written once and adjacent frames can refer back to the reference frame. A pattern matching mechanism may be used to match objects across multiple frames. Furthermore, moving objects may be represented over multiple frames, for example due to object motion or camera motion. As a specific example, a video may show a car moving across the screen over multiple frames. Motion vectors can be used to describe such motion. A motion vector is a two-dimensional vector that provides an offset from the object's coordinates in one frame to the object's coordinates in a reference frame. As such, inter prediction may encode image blocks in a current frame as a set of motion vectors that indicate offsets from corresponding blocks in a reference frame.

イントラ予測は、共通のフレーム内のブロックをエンコーディングする。イントラ予測は、ルーマ及びクロマ成分がフレームに群がる傾向がある、という事実を利用する。例えば、木の一部分にある緑色のパッチは、緑色の同様のパッチに隣接して位置している傾向がある。イントラ予測は、複数の指向性予測モード(例えば、HEVCでは33個)、プレーナーモード、及び直流(DC)モードを用いる。指向性モードは、現在のブロックが、対応する方向にある隣接ブロックのサンプルと類似している/同じであることを示す。プレーナーモードは、行/列(例えば、平面)に沿った一連のブロックが行の端にある隣接ブロックに基づいて補間され得ることを示す。プレーナーモードは、事実上、変化する値の比較的に一定の傾きを用いることによって、行/列にわたる光/色の滑らかな遷移を示す。DCモードは、境界平滑化のために用いられ、ブロックが、指向性予測モードの角度方向に関連した全ての隣接ブロックのサンプルに関連した平均値と類似している/同じであることを示す。従って、イントラ予測ブロックは、実際の値の代わりに、様々な関連した予測モード値として画像ブロックを表すことができる。更に、インター予測ブロックは、実際の値の代わりに動きベクトルとして画像ブロックを表すことができる。いずれの場合にも、予測ブロックは、いくつかの場合に正確に画像ブロックを表さないことがある。如何なる差分も残差ブロックで保存される。変換は、ファイルを更に圧縮するよう残差ブロックに適用されてよい。 Intra prediction encodes blocks within a common frame. Intra prediction takes advantage of the fact that luma and chroma components tend to cluster in frames. For example, patches of green in a portion of a tree tend to be located adjacent to similar patches of green. Intra prediction uses multiple directional prediction modes (eg, 33 in HEVC), planar mode, and direct current (DC) mode. Directional mode indicates that the current block is similar/same as samples of neighboring blocks in the corresponding direction. Planar mode indicates that a series of blocks along a row/column (eg, a plane) can be interpolated based on neighboring blocks at the ends of the row. Planar mode effectively exhibits smooth transitions of light/color across rows/columns by using a relatively constant slope of changing values. The DC mode is used for boundary smoothing and indicates that a block is similar/same as the average value associated with the samples of all neighboring blocks related to the angular direction in the directional prediction mode. Therefore, an intra-prediction block can represent an image block as various associated prediction mode values instead of actual values. Additionally, inter-predicted blocks can represent image blocks as motion vectors instead of actual values. In either case, the predictive block may not accurately represent the image block in some cases. Any differences are saved in the residual block. Transforms may be applied to the residual blocks to further compress the file.

ステップ107で、様々なフィルタリング技術が適用されてよい。HEVCでは、フィルタは、インループフィルタリングスキームに従って適用される。上述されたブロックに基づく予測は、デコーダでのブロックノイズのある画像の生成を引き起こす可能性がある。更に、ブロックに基づく予測スキームは、ブロックをエンコーディングし、それから、エンコーディングされた画像を参照ブロックとしての後の使用のために再構成してよい。インループフィルタリングスキームは、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、及びサンプル適応オフセット(SAO)フィルタをブロック/フレームに繰り返し適用する。これらのフィルタは、エンコーディングされたファイルが正確に再構成され得るように、そのようなブロッキングアーチファクトを軽減する。更に、これらのフィルタは、アーチファクトが、再構成された参照ブロックに基づいてエンコーディングされるその後のブロックで更なるアーチファクトを引き起こす可能性が低くなるように、再構成された参照ブロックでのアーチファクトを軽減する。 Various filtering techniques may be applied at step 107. In HEVC, filters are applied according to an in-loop filtering scheme. The block-based prediction described above can lead to the generation of blocky images at the decoder. Additionally, block-based prediction schemes may encode blocks and then reconstruct the encoded image for later use as a reference block. In-loop filtering schemes repeatedly apply noise suppression filters, deblocking filters, adaptive loop filters, and sample adaptive offset (SAO) filters to blocks/frames. These filters reduce such blocking artifacts so that encoded files can be accurately reconstructed. Furthermore, these filters reduce artifacts in the reconstructed reference block such that the artifacts are less likely to cause further artifacts in subsequent blocks that are encoded based on the reconstructed reference block. do.

ビデオ信号がパーティション化、圧縮、及びフィルタ処理されると、結果として得られるデータは、ステップ109で、ビットストリームにおいてエンコーディングされる。ビットストリームは、デコーダでの適切なビデオ信号再構成をサポートするために望ましいあらゆるシグナリングデータに加えて、上記のデータも含む。例えば、このようなデータは、パーティションデータ、予測データ、残差ブロック、及びデコーダへコーディング命令を与える様々なフラグを含んでよい。ビットストリームは、要求時のデコーダに向けた伝送のために、メモリに記憶されてよい。ビットストリームはまた、複数のデコーダに向けたブロードキャスト及び/又はマルチキャストであってもよい。ビットストリームの生成は、反復プロセスである。従って、ステップ101、103、105、107、及び109は、多数のフレーム及びブロックにわたって連続して及び/又は同時に行われてよい。図1に示されている順序は、議論の明りょうさ及び容易さのために提示されており、ビデオコーディングプロセスを特定の順序に限定する意図はない。 Once the video signal has been partitioned, compressed, and filtered, the resulting data is encoded in a bitstream at step 109. The bitstream also includes the above data in addition to any signaling data desired to support proper video signal reconstruction at the decoder. For example, such data may include partition data, prediction data, residual blocks, and various flags that provide coding instructions to the decoder. The bitstream may be stored in memory for transmission to a decoder on demand. The bitstream may also be broadcast and/or multicast to multiple decoders. Bitstream generation is an iterative process. Accordingly, steps 101, 103, 105, 107 and 109 may be performed consecutively and/or simultaneously over multiple frames and blocks. The order shown in FIG. 1 is presented for clarity and ease of discussion and is not intended to limit the video coding process to any particular order.

デコーダは、ビットストリームを受け取り、ステップ111でデコーディングプロセスを開始する。具体的に、デコーダは、ビットストリームを対応するシンタックス及びビデオデータに変換するためにエントロピデコーディングスキームを用いる。デコーダは、ステップ111でフレームのパーティションを決定するためにビットストリームからのシンタックスデータを用いる。パーティション化は、ステップ103でのブロックパーティション化の結果と一致すべきである。ステップ111で用いられるエントロピエンコーディング/デコーディングがこれより記載される。エンコーダは、入力画像内の値の空間位置付けに基づいていくつかの可能な選択からブロックパーティション化スキームを選択することといった多くの選択を圧縮プロセス中に行う。正確な選択を通知することは、多数のビンを用いる可能性がある。ここで使用されるように、ビンは、変数(例えば、状況に応じて変化し得るビット値)として扱われるバイナリ値である。エントロピコーディングは、エンコーダが、許容可能な選択肢の組を残しながら、特定の場合について明らかに実行可能でない如何なる選択肢も捨てることを可能にする。夫々の許容可能な選択肢は、次いで、コードワードを割り当てられる。コードワードの長さは、許容可能な選択肢の数に依存する(例えば、2つの選択肢については1つのビン、3つ乃至4つの選択肢については2つのビン、等)。エンコーダは、次いで、選択された選択肢についてのコードワードをエンコーディングする。このスキームは、コードワードが、全ての可能な選択肢の潜在的に大きい集合からの選択を一意に示すこととは対照的に、許容可能な選択肢の小さい部分集合からの選択を一意に示すために望まれる大きさであるということで、コードワードのサイズを低減する。デコーダは、次いで、エンコーダと同様の方法で、許容可能な選択肢の組を決定することによって選択をデコーディングする。許容可能な選択肢の組を決定することによって、デコーダは、コードワードを読み出し、エンコーダによって行われた選択を決定することができる。 The decoder receives the bitstream and begins the decoding process at step 111. Specifically, the decoder uses an entropy decoding scheme to convert the bitstream into corresponding syntax and video data. The decoder uses syntax data from the bitstream to determine the partitions of the frame in step 111. The partitioning should match the result of the block partitioning in step 103. The entropy encoding/decoding used in step 111 will now be described. The encoder makes many choices during the compression process, such as choosing a block partitioning scheme from several possible choices based on the spatial location of the values within the input image. Notifying the correct selection may use a large number of bins. As used herein, a bin is a binary value that is treated as a variable (eg, a bit value that can change depending on the situation). Entropy coding allows the encoder to discard any options that are clearly not viable for a particular case, while leaving a set of acceptable options. Each allowable option is then assigned a codeword. The length of the codeword depends on the number of allowable choices (eg, one bin for two choices, two bins for three to four choices, etc.). The encoder then encodes the codeword for the selected option. This scheme allows the codeword to uniquely indicate a choice from a small subset of permissible choices, as opposed to uniquely indicating a choice from a potentially large set of all possible choices. Reduce the size of the codeword as it is the desired size. The decoder then decodes the selection by determining the set of permissible choices in a manner similar to the encoder. By determining the set of acceptable choices, the decoder can read the codeword and determine the selection made by the encoder.

ステップ113で、デコーダは、ブロックデコーディングを実行する。具体的に、デコーダは、残差ブロックを生成するために逆変換を用いる。次いで、デコーダは、パーティション化に従って画像ブロックを再構成するために残差ブロック及び対応する予測ブロックを用いる。予測ブロックは、ステップ105でエンコーダで生成されたイントラ予測ブロック及びインター予測ブロックの両方を含んでよい。再構成された画像ブロックは、次いで、ステップ111で決定されたパーティション化データに従って、再構成されたビデオ信号のフレーム内に位置付けられる。ステップ113のためのシンタックスも、上述されたように、エントロピコーディングを介してビットストリームにおいて通知されてよい。 At step 113, the decoder performs block decoding. Specifically, the decoder uses an inverse transform to generate the residual block. The decoder then uses the residual blocks and the corresponding prediction blocks to reconstruct the image blocks according to the partitioning. The prediction blocks may include both intra-prediction blocks and inter-prediction blocks generated by the encoder in step 105. The reconstructed image blocks are then positioned within the frames of the reconstructed video signal according to the partitioning data determined in step 111. The syntax for step 113 may also be signaled in the bitstream via entropy coding, as described above.

ステップ115で、フィルタリングが、エンコーダでのステップ107に類似した方法で、再構成されたビデオ信号のフレームに対して実行される。例えば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、及びSAOフィルタが、ブロッキングアーチファクトを除くようフレームに適用されてよい。フレームがフィルタ処理されると、ビデオ信号は、エンドユーザによる視聴のために、ステップ117でディスプレイへ出力され得る。 In step 115 filtering is performed on the frames of the reconstructed video signal in a manner similar to step 107 at the encoder. For example, noise suppression filters, deblocking filters, adaptive loop filters, and SAO filters may be applied to frames to remove blocking artifacts. Once the frames have been filtered, the video signal may be output to a display at step 117 for viewing by an end user.

図2は、ビデオコーディングのための、例となるコーディング及びデコーディング(コーデック)システム200の概略図である。具体的に、コーデックシステム200は、動作方法100の実施をサポートするための機能性を提供する。コーデックシステム200は、エンコーダ及びデコーダの両方で用いられるコンポーネントを表すよう一般化されている。コーデックシステム200は、動作方法100のステップ101及び103に関して説明されたように、ビデオ信号を受信及びパーティション化し、これにより、パーティション化されたビデオ信号201が得られる。コーデックシステム200は、次いで、方法100のステップ105、107、及び109に関して説明されたようにエンコーダとして動作する場合には、パーティション化されたビデオ信号201を、コーディングされたビットストリームへと圧縮する。デコーダとして動作する場合には、コーデックシステム200は、動作方法100のステップ111、113、115、及び117に関して説明されたように、ビットストリームから出力ビデオ信号を生成する。コーデックシステム200は、汎用コーダ制御コンポーネント211、変換スケーリング及び量子化コンポーネント213、イントラピクチャ推定コンポーネント215、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、動き推定コンポーネント221、スケーリング及び逆変換コンポーネント229、フィルタ制御解析コンポーネント227、インループフィルタコンポーネント225、デコーディングピクチャバッファコンポーネント223、並びにヘッダフォーマッティング及びコンテキスト適応バイナリ算術コーディング(Context Adaptive Binary Arithmetic Coding,CABAC)コンポーネント231を含む。このようなコンポーネントは、示されているように結合される。図2では、黒線は、エンコーディング/デコーディングされるべきデータの移動を示し、白色破線は、他のコンポーネントの動作を制御する制御データの移動を示す。エンコーダには、コーデックシステム200のコンポーネントが全て存在してよい。デコーダは、コーデックシステム200のコンポーネントのサブセットを含んでよい。例えば、デコーダは、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、スケーリング及び逆変換コンポーネント229、インループフィルタコンポーネント225、及びデコーディングピクチャバッファコンポーネント223を含んでよい。これらのコンポーネントがこれより説明される。 FIG. 2 is a schematic diagram of an example coding and decoding (CODEC) system 200 for video coding. Specifically, codec system 200 provides functionality to support implementation of method of operation 100. Codec system 200 is generalized to represent components used in both encoders and decoders. Codec system 200 receives and partitions a video signal as described with respect to steps 101 and 103 of method of operation 100, resulting in a partitioned video signal 201. Codec system 200 then compresses partitioned video signal 201 into a coded bitstream when operating as an encoder as described with respect to steps 105, 107, and 109 of method 100. When operating as a decoder, codec system 200 generates an output video signal from the bitstream as described with respect to steps 111, 113, 115, and 117 of method of operation 100. Codec system 200 includes a general coder control component 211, a transform scaling and quantization component 213, an intra picture estimation component 215, an intra picture prediction component 217, a motion compensation component 219, a motion estimation component 221, a scaling and inverse transform component 229, and a filter control component. It includes an analysis component 227, an in-loop filter component 225, a decoding picture buffer component 223, and a header formatting and Context Adaptive Binary Arithmetic Coding ( CABAC) component 231. Such components are coupled as shown. In FIG. 2, black lines indicate the movement of data to be encoded/decoded, and white dashed lines indicate the movement of control data that controls the operation of other components. All components of codec system 200 may be present in the encoder. The decoder may include a subset of the components of codec system 200. For example, the decoder may include an intra picture prediction component 217, a motion compensation component 219, a scaling and inverse transform component 229, an in-loop filter component 225, and a decoding picture buffer component 223. These components will now be described.

パーティション化されたビデオ信号201は、コーディングツリーによってピクセルのブロックにパーティション化されている捕捉されたビデオシーケンスである。コーディングツリーは、ピクセルのブロックをピクセルのより小さいブロックに細分するために様々な分裂モードを用いる。これらのブロックは、次いで、より小さいブロックに更に細分され得る。ブロックは、コーディングツリー上のノードと呼ばれ得る。より大きい親ノードは、より小さい子ノードに分裂される。ノードが細分される回数は、ノード/コーディングツリーのデプスと呼ばれる。分割されたブロックは、いくつかの場合にコーディングユニット(CU)に含まれ得る。例えば、CUは、ルーマブロック、赤色差分クロマ(Cr)ブロック及び青色差分クロマ(Cb)ブロックを、CUの対応するシンタックス命令とともに含むCTUのサブ部分であることができる。分裂モードは、ノードを、用いられている分裂モードに応じて形状が変化する2つ、3つ、又は4つの子ノードに夫々パーティション化するために用いられる二分木(BT)、三分木(TT)、及び四分木(QT)を含んでよい。パーティション化されたビデオ信号201は、汎用コーダ制御コンポーネント211、変換スケーリング及び量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制御解析コンポーネント227、及び動き推定コンポーネント221へ圧縮のために転送される。 Partitioned video signal 201 is a captured video sequence that is partitioned into blocks of pixels by a coding tree. Coding trees use various splitting modes to subdivide blocks of pixels into smaller blocks of pixels. These blocks may then be further subdivided into smaller blocks. A block may be called a node on a coding tree. Larger parent nodes are split into smaller child nodes. The number of times a node is subdivided is called the depth of the node/coding tree. The partitioned blocks may be included in coding units (CUs) in some cases. For example, a CU can be a sub-portion of a CTU that includes a luma block, a red differential chroma (Cr) block, and a blue differential chroma (Cb) block, along with the CU's corresponding syntax instructions. The splitting mode is a binary tree (BT), a ternary tree ( TT), and quadtrees (QT). Partitioned video signal 201 is forwarded to general coder control component 211, transform scaling and quantization component 213, intra picture estimation component 215, filter control analysis component 227, and motion estimation component 221 for compression.

汎用コーダ制御コンポーネント211は、適用制約に従って、ビットストリーム内へのビデオシーケンスの画像のコーディングに関する決定を行うよう構成される。例えば、汎用コーダ制御コンポーネント211は、再構成品質に対するビットレート/ビットストリームサイズの最適化を管理する。このような決定は、記憶空間/帯域幅の利用可能性及び画像解像度の要求に基づいて行われてよい。汎用コーダ制御コンポーネント211はまた、バッファアンダーラン及びオーバーラン問題を軽減するよう伝送速度に照らしてバッファ利用も管理する。これらの問題を管理するために、汎用コーダ制御コンポーネント211は、他のコンポーネントによるパーティション化、予測、及びフィルタリングを管理する。例えば、汎用コーダ制御コンポーネント211は動的に、解像度を増大させ且つバンド幅利用を増大させるよう圧縮複雑性を増大させるか、あるいは、解像度及びバンド幅利用を低減させるよう圧縮複雑性を低減させ得る。従って、汎用コーダ制御コンポーネント211は、ビデオ信号再構成品質とビットレート懸案事項とのバランスをとるようコーデックシステム200の他のコンポーネントを制御する。汎用コーダ制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを生成する。制御データはまた、デコーダでのデコーディングのためのパラメータを通知するようビットストリームにおいてエンコーディングされるようヘッダフォーマッティング及びCABACコンポーネント231へも転送される。 The general coder control component 211 is configured to make decisions regarding the coding of images of a video sequence into a bitstream according to application constraints. For example, the general coder control component 211 manages optimization of bitrate/bitstream size for reconstruction quality. Such decisions may be made based on storage space/bandwidth availability and image resolution requirements. General purpose coder control component 211 also manages buffer utilization in light of transmission rate to alleviate buffer underrun and overrun problems. To manage these issues, general coder control component 211 manages partitioning, prediction, and filtering by other components. For example, the general purpose coder control component 211 may dynamically increase compression complexity to increase resolution and increase bandwidth utilization, or reduce compression complexity to decrease resolution and bandwidth utilization. . Accordingly, general coder control component 211 controls other components of codec system 200 to balance video signal reconstruction quality and bit rate concerns. General purpose coder control component 211 generates control data that controls the operation of other components. Control data is also transferred to the header formatting and CABAC component 231 to be encoded in the bitstream to inform the parameters for decoding at the decoder.

パーティション化されたビデオ信号201は、動き推定コンポーネント221及び動き補償コンポーネント219へもインター予測のために送られる。パーティション化されたビデオ信号201のフレーム又はスライスは、複数のビデオブロックに分割されてよい。動き推定コンポーネント221及び動き補償コンポーネント219は、時間予測を提供するよう1つ以上の参照フレーム内の1つ以上のブロックに対する受け取られたビデオブロックのインター予測コーディングを実行する。コーデックシステム200は、例えば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、多数のコーディングパスを実行してよい。 Partitioned video signal 201 is also sent to motion estimation component 221 and motion compensation component 219 for inter prediction. A frame or slice of partitioned video signal 201 may be divided into multiple video blocks. Motion estimation component 221 and motion compensation component 219 perform inter-predictive coding of the received video block relative to one or more blocks in one or more reference frames to provide temporal prediction. Codec system 200 may perform multiple coding passes to select an appropriate coding mode for each block of video data, for example.

動き推定コンポーネント221及び動き補償コンポーネント219は、高集積されてよいが、概念上の目的のために別々に表されている。動き推定コンポーネント221によって実行される動き推定は、動きベクトルを生成するプロセスであり、これにより、ビデオブロックの動きを推定する。動きベクトルは、例えば、予測ブロックに対するコーディングされたオブジェクトの変位を示し得る。予測ブロックは、ピクセル差分に関して、コーディングされるべきブロックと厳密に一致すると認められるブロックである。予測ブロックは、参照ブロックとも呼ばれ得る。このようなピクセル差分は、差分絶対和(Sum of Absolute Difference,SAD)、差分平方和(Sum of Square Difference,SSD)、又は他の差分メトリックによって決定されてよい。HEVCは、CTU、コーディングツリーブロック(CTB)、及びCUを含むいくつかのコーディングされたオブジェクトを用いる。例えば、CTUはCTBに分割され得、CTBは、次いで、CUでの包含のためにCBに分割され得る。CUは、CUについての、予測データを含む予測ユニット(PU)、及び/又は変換された残差データを含む変換ユニット(TU)として、エンコーディングされ得る。動き推定コンポーネント221は、レートひずみ解析をレートひずみ最適化プロセスの部分として使用することによって、動きベクトル、PU、及びTUを生成する。例えば、動き推定コンポーネント221は、現在のブロック/フレームについて、多数の参照ブロック、多数の動きベクトル、等を決定してよく、最良のレートひずみ特性を有している参照ブロック、動きベクトル、等を選択してよい。最良のレートひずみ特性は、ビデオ再構成の品質(例えば、圧縮によるデータ損失の量)とコーディング効率(例えば、最終的なエンコーディングのサイズ)との両方のバランスをとる。 Motion estimation component 221 and motion compensation component 219 may be highly integrated, but are represented separately for conceptual purposes. Motion estimation performed by motion estimation component 221 is the process of generating motion vectors, thereby estimating the motion of a video block. A motion vector may, for example, indicate a displacement of a coded object with respect to a predictive block. A predicted block is a block that is found to closely match the block to be coded in terms of pixel differences. A predictive block may also be called a reference block. Such pixel differences may be determined by a Sum of Absolute Difference (SAD), a Sum of Square Difference ( SSD), or other difference metrics. HEVC uses several coded objects including CTUs, coding tree blocks (CTBs), and CUs. For example, a CTU may be partitioned into CTBs, which may then be partitioned into CBs for inclusion in a CU. A CU may be encoded as a prediction unit (PU) containing prediction data and/or a transform unit (TU) containing transformed residual data for the CU. Motion estimation component 221 generates motion vectors, PUs, and TUs by using rate-distortion analysis as part of a rate-distortion optimization process. For example, motion estimation component 221 may determine a number of reference blocks, a number of motion vectors, etc. for the current block/frame, and select the reference block, motion vector, etc. that has the best rate-distortion characteristics. You may choose. The best rate-distortion characteristics balance both video reconstruction quality (e.g., amount of data loss due to compression) and coding efficiency (e.g., size of final encoding).

いくつかの例では、コーデックシステム200は、デコーディングピクチャバッファコンポーネント223に記憶されている参照ピクチャのサブ整数ピクセル位置についての値を計算してよい。例えば、ビデオコーデックシステム200は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、又は他の分数ピクセル位置の値を補間してよい。従って、動き推定コンポーネント221は、完全ピクセル位置及び分数ピクセル位置に対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力してよい。動き推定コンポーネント221は、PUの位置を参照ピクセルの予測ブロックの位置と比較することによって、インターコーディングされたスライス内のビデオブロックのPUについての動きベクトルを計算する。動き推定コンポーネント221は、計算された動きベクトルを、エンコーディングのためのヘッダフォーマッティング及びCABACコンポーネント231への動きデータ、及び動き補償コンポーネント219への動きデータとして、出力する。 In some examples, codec system 200 may calculate values for sub-integer pixel positions of reference pictures stored in decoding picture buffer component 223. For example, video codec system 200 may interpolate values at quarter pixel positions, eighth pixel positions, or other fractional pixel positions of a reference picture. Accordingly, motion estimation component 221 may perform motion estimation for full pixel locations and fractional pixel locations and output motion vectors with fractional pixel precision. Motion estimation component 221 calculates a motion vector for a PU of a video block within an inter-coded slice by comparing the position of the PU to the position of a predictive block of a reference pixel. Motion estimation component 221 outputs the calculated motion vectors as motion data to header formatting and CABAC component 231 for encoding, and motion data to motion compensation component 219.

動き補償コンポーネント219によって実行される動き補償は、動き推定コンポーネント221によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含んでよい。先と同じく、動き推定コンポーネント221及び動き補償コンポーネント219は、いくつかの例では、機能的に集積されてよい。現在のビデオブロックのPUについての動きベクトルを受け取ると、動き補償コンポーネント219は、動きベクトルが指し示す予測ブロックの位置を見つけてよい。次いで、残差ビデオブロックは、コーディング中の現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減じてピクセル差分値を形成することによって、形成される。一般に、動き推定コンポーネント221は、ルーマ成分に対して動き推定を実行し、動き補償コンポーネント219は、クロマ成分及びルーマ成分の両方に対して、ルーマ成分に基づいて計算された動きベクトルを使用する。予測ブロック及び残差ブロックは、変換スケーリング及び量子化コンポーネント213へ転送される。 Motion compensation performed by motion compensation component 219 may include fetching or generating predictive blocks based on motion vectors determined by motion estimation component 221. As before, motion estimation component 221 and motion compensation component 219 may be functionally integrated in some examples. Upon receiving the motion vector for the PU of the current video block, motion compensation component 219 may find the location of the predictive block pointed to by the motion vector. A residual video block is then formed by subtracting pixel values of the predictive block from pixel values of the current video block being coded to form pixel difference values. In general, motion estimation component 221 performs motion estimation on the luma component, and motion compensation component 219 uses motion vectors computed based on the luma component, for both chroma and luma components. The prediction block and residual block are transferred to transform scaling and quantization component 213.

パーティション化されたビデオ信号201は、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217へも送られる。動き推定コンポーネント221及び動き補償コンポーネント219と同様に、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は高集積されてよいが、概念上の目的のために別々に表されている。イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は、上述されたようにフレーム間で動き推定コンポーネント221及び動き補償コンポーネント219によって実行されたインター予測に対する代替案として、現在のフレーム内のブロックに対して現在のブロックをイントラ予測する。特に、イントラピクチャ推定コンポーネント215は、現在のブロックをエンコーディングするために使用すべきイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定コンポーネント215は、複数の試験されたイントラ予測モードから、現在のブロックをエンコーディングするための適切なイントラ予測モードを選択する。選択されたイントラ予測モードは、次いで、エンコーディングのためにヘッダフォーマッティング及びCABACコンポーネント231へ転送される。 Partitioned video signal 201 is also sent to intra picture estimation component 215 and intra picture prediction component 217. Like motion estimation component 221 and motion compensation component 219, intra picture estimation component 215 and intra picture prediction component 217 may be highly integrated, but are represented separately for conceptual purposes. Intra picture estimation component 215 and intra picture prediction component 217 are used for blocks within the current frame as an alternative to the inter prediction performed by motion estimation component 221 and motion compensation component 219 between frames as described above. Intra predict the current block. In particular, intra picture estimation component 215 determines the intra prediction mode to use to encode the current block. In some examples, intra picture estimation component 215 selects an appropriate intra prediction mode for encoding the current block from a plurality of tested intra prediction modes. The selected intra prediction mode is then forwarded to header formatting and CABAC component 231 for encoding.

例えば、イントラピクチャ推定コンポーネント215は、様々な試験されたイントラ予測モードについてレートひずみ解析を用いてレートひずみ値を計算し、試験されたモードの中で最良のレートひずみ特性を有しているイントラ予測モードを選択する。レートひずみ解析は、一般に、エンコーディングされたブロックを生成するために使用されたビットレート(例えば、ビットの数)に加えて、エンコーディングされたブロックと、エンコーディングされたブロックを生成するようエンコーディングされた元のエンコーディングされていないブロックとの間のひずみ(又はエラー)の量も決定する。イントラピクチャ推定コンポーネント215は、どのイントラ予測モードがそのブロックについて最良のレートひずみ値を示すかを決定するよう、様々なエンコーディングされたブロックについてのひずみ及びレートから比を計算する。その上、イントラピクチャ推定コンポーネント215は、レートひずみ最適化(RDO)に基づいてデプスモデリングモード(Depth Modeling Mode,DMM)を用いてデプスマップのデプスブロックをコーディングするよう構成されてよい。 For example, intra picture estimation component 215 calculates rate-distortion values using rate-distortion analysis for various tested intra-prediction modes, and determines which intra-prediction has the best rate-distortion characteristics among the tested modes. Select mode. Rate-distortion analysis generally includes the bitrate (e.g., number of bits) used to produce the encoded block, as well as the encoded block and the source code that was encoded to produce the encoded block. The amount of distortion (or error) between the encoded blocks and the unencoded blocks is also determined. Intra picture estimation component 215 calculates a ratio from the distortion and rate for various encoded blocks to determine which intra prediction mode exhibits the best rate distortion value for that block. Moreover, the intra-picture estimation component 215 may be configured to code the depth blocks of the depth map using a Depth Modeling Mode (DMM) based on rate-distortion optimization (RDO).

イントラピクチャ予測コンポーネント217は、エンコーダで実装される場合には、イントラピクチャ推定コンポーネント215によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成し、あるいは、デコーダで実装される場合には、ビットストリームから残差ブロックを読み出してよい。残差ブロックは、行列として表される、予測ブロックと元のブロックとの間の値の差を含む。残差ブロックは、次いで、変換スケーリング及び量子化コンポーネント213へ転送される。イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は、ルーマ及びクロマ成分の両方に作用してよい。 Intra picture prediction component 217, if implemented in an encoder, generates a residual block from the prediction block based on the selected intra prediction mode determined by intra picture estimation component 215, or if implemented in a decoder. If so, the residual block may be read from the bitstream. The residual block contains the difference in values between the predicted block and the original block, represented as a matrix. The residual block is then transferred to transform scaling and quantization component 213. Intra picture estimation component 215 and intra picture prediction component 217 may operate on both luma and chroma components.

変換スケーリング及び量子化コンポーネント213は、残差ブロックを更に圧縮するよう構成される。変換スケーリング及び量子化コンポーネント213は、離散コサイン変換(Discrete Cosine Transform,DCT)、離散サイン変換(Discrete Sine Transform,DST)、又は概念上類似した変換等の変換を残差ブロックに適用して、残差変換係数値を有するビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、又は他のタイプの変換も使用されてよい。変換は、残差情報をピクセル値領域から周波数領域等の変換領域へ変換してよい。変換スケーリング及び量子化コンポーネント213はまた、例えば、周波数に基づいて、変換された残差情報をスケーリングするよう構成される。このようなスケーリングは、異なる周波数情報が異なる粒度で量子化されるように、スケール係数を残差情報に適用することを含み、これは、再構成されたビデオの最終的な視覚品質に影響を及ぼし得る。変換スケーリング及び量子化コンポーネント213はまた、ビットレートを更に低減するように変換係数を量子化するよう構成される。量子化プロセスは、一部又は全ての係数に関連したビットデプスを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、変換スケーリング及び量子化コンポーネント213は、次いで、量子化された変換係数を含む行列のスキャンを実行してよい。量子化された変換係数は、ビットストリームにおいてエンコーディングされるようヘッダフォーマッティング及びCABACコンポーネント231へ転送される。 Transform scaling and quantization component 213 is configured to further compress the residual block. The transform scaling and quantization component 213 applies a transform, such as a Discrete Cosine Transform ( DCT), a Discrete Sine Transform ( DST), or a conceptually similar transform, to the residual block to reduce the residual size. A video block having difference transform coefficient values is generated. Wavelet transforms, integer transforms, subband transforms, or other types of transforms may also be used. The transformation may transform the residual information from a pixel value domain to a transform domain, such as a frequency domain. Transform scaling and quantization component 213 is also configured to scale the transformed residual information, eg, based on frequency. Such scaling involves applying a scale factor to the residual information such that different frequency information is quantized with different granularity, which affects the final visual quality of the reconstructed video. can be affected. Transform scaling and quantization component 213 is also configured to quantize the transform coefficients to further reduce the bit rate. The quantization process may reduce the bit depth associated with some or all coefficients. The degree of quantization can be changed by adjusting the quantization parameter. In some examples, transform scaling and quantization component 213 may then perform a scan of the matrix containing the quantized transform coefficients. The quantized transform coefficients are transferred to header formatting and CABAC component 231 for encoding in the bitstream.

スケーリング及び逆変換コンポーネント229は、動き推定をサポートするよう変換スケーリング及び量子化コンポーネント213の逆の動作を適用する。スケーリング及び逆変換コンポーネント229は、例えば、他の現在のブロックのための予測ブロックになり得る参照ブロックとしての後の使用のために、ピクセル領域で残差ブロックを再構成するよう逆のスケーリング、変換、及び/又は量子化を適用する。動き推定コンポーネント221及び/又は動き補償コンポーネント219は、後のブロック/フレームの動き推定における使用のために、対応する予測ブロックに残差ブロックを加え直すことによって、参照ブロックを計算してよい。フィルタは、スケーリング、量子化、及び変換中に生じたアーチファクトを軽減するために、再構成された参照ブロックに適用される。このようなアーチファクトは、さもなければ、後続のブロックが予測される場合に誤った予測を引き起こす(そして、更なるアーチファクトを引き起こす)可能性がある。 Scaling and inverse transform component 229 applies the inverse operation of transform scaling and quantization component 213 to support motion estimation. The scaling and inverse transform component 229 inversely scales, transforms, and so on to reconstruct the residual block in the pixel domain for later use as a reference block that can be a predictive block for other current blocks, for example. , and/or apply quantization. Motion estimation component 221 and/or motion compensation component 219 may compute reference blocks by adding the residual blocks back to the corresponding predictive blocks for use in motion estimation of subsequent blocks/frames. Filters are applied to the reconstructed reference blocks to reduce artifacts introduced during scaling, quantization, and transformation. Such artifacts may otherwise cause incorrect predictions (and cause further artifacts) when subsequent blocks are predicted.

フィルタ制御解析コンポーネント227及びインループフィルタコンポーネント225は、残差ブロックに及び/又は再構成された画像ブロックにフィルタを適用する。例えば、スケーリング及び逆変換コンポーネント229からの変換された残差ブロックは、元の画像ブロックを再構成するよう、イントラピクチャ予測コンポーネント217及び/又は動き補償コンポーネント219からの対応する予測ブロックと結合されてよい。フィルタは、次いで、再構成された画像ブロックに適用されてよい。いくつかの例では、フィルタは、代わりに、残差ブロックに適用されてもよい。図2の他のコンポーネントと同様に、フィルタ制御解析コンポーネント227及びインループフィルタコンポーネント225は高集積され、一緒に実装されてよいが、概念上の目的のために別々に表されている。再構成された参照ブロックに適用されたフィルタは、特定の空間領域に適用され、このようなフィルタがどのように適用されるかを調整するための複数のパラメータを含む。フィルタ制御解析コンポーネント227は、このようなフィルタがどこで適用されるべきかを決定するために、再構成された参照ブロックを解析し、対応するパラメータをセットする。このようなデータは、エンコーディングのためにフィルタ制御データとしてヘッダフォーマッティング及びCABACコンポーネント231へ転送される。インループフィルタコンポーネント225は、フィルタ制御データに基づいてそのようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、及び適応ループフィルタを含んでよい。このようなフィルタは、例に応じて、空間/ピクセル領域で(例えば、再構成されたピクセルブロックに対して)、あるいは、周波数領域で適用されてよい。 Filter control analysis component 227 and in-loop filter component 225 apply filters to the residual blocks and/or to the reconstructed image blocks. For example, the transformed residual blocks from scaling and inverse transform component 229 may be combined with corresponding prediction blocks from intra picture prediction component 217 and/or motion compensation component 219 to reconstruct the original image block. good. The filter may then be applied to the reconstructed image block. In some examples, the filter may instead be applied to the residual block. Like the other components in FIG. 2, filter control analysis component 227 and in-loop filter component 225 are highly integrated and may be implemented together, but are represented separately for conceptual purposes. The filter applied to the reconstructed reference block is applied to a particular spatial region and includes multiple parameters for adjusting how such a filter is applied. Filter control analysis component 227 analyzes the reconstructed reference block and sets corresponding parameters to determine where such filters should be applied. Such data is forwarded as filter control data to header formatting and CABAC component 231 for encoding. In-loop filter component 225 applies such filters based on filter control data. Filters may include deblocking filters, noise suppression filters, SAO filters, and adaptive loop filters. Such filters may be applied in the spatial/pixel domain (eg, on reconstructed pixel blocks) or in the frequency domain, depending on the example.

エンコーダとして動作する場合に、フィルタ処理された再構成された画像ブロック、残差ブロック、及び/又は予測ブロックは、上述されたように動き推定での後の使用のためにデコーディングピクチャバッファコンポーネント223に記憶される。デコーダとして動作する場合に、デコーディングピクチャバッファコンポーネント223は、再構成され且つフィルタ処理されたブロックを記憶し、出力ビデオ信号の部分としてディスプレイに向けて転送する。デコーディングピクチャバッファコンポーネント223は、予測ブロック、残差ブロック、及び/又は再構成された画像ブロックを記憶することができる如何なるメモリデバイスであってもよい。 When operating as an encoder, the filtered reconstructed image blocks, residual blocks, and/or prediction blocks are sent to the decoding picture buffer component 223 for later use in motion estimation as described above. is memorized. When operating as a decoder, the decoding picture buffer component 223 stores and forwards the reconstructed and filtered blocks toward the display as part of the output video signal. Decoding picture buffer component 223 may be any memory device capable of storing predictive blocks, residual blocks, and/or reconstructed image blocks.

ヘッダフォーマッティング及びCABACコンポーネント231は、コーデックシステム200の様々なコンポーネントからデータを受け取り、そのようなデータを、デコーダに向けた伝送のために、コーディングされたビットストリーム内にエンコーディングする。具体的に、ヘッダフォーマッティング及びCABACコンポーネント231は、汎用制御データ及びフィルタ制御データ等の制御データをエンコーディングするための様々なヘッダを生成する。更に、量子化された変換係数データの形での残差データに加えて、イントラ予測及び動きデータを含む予測データも、全て、ビットストリームにおいてエンコーディングされる。最終的なビットストリームは、元のパーティション化されたビデオ信号201を再構成するためにデコーダによって望まれる全ての情報を含む。このような情報はまた、イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、様々なブロックのエンコーディングコンテキストの定義、最も確からしいイントラ予測モードの指示、パーティション情報の指示、等を含んでもよい。このようなデータは、エントロピコーディングを用いることによってエンコーディングされてよい。例えば、情報は、コンテキスト適応可変長コーディング(Context Adaptive Variable Length Coding,CAVLC)、CABAC、シンタックスに基づくコンテキスト適応バイナリ算術コーディング(Syntax-based context-adaptive Binary Arithmetic Coding,SBAC)、確率間隔パーティション化エントロピ(Probability Interval Partitioning Entropy,PIPE)コーディング、又は他のエントロピコーディング技術を用いることによってエンコーディングされてよい。エントロピコーディングに続いて、コーディングされたビットストリームは、他のデバイス(例えば、ビデオデコーダ)へ伝送されても、あるいは、後の伝送又は読み出しのためにアーカイブ保管されてもよい。 Header formatting and CABAC component 231 receives data from various components of codec system 200 and encodes such data into a coded bitstream for transmission to a decoder. Specifically, header formatting and CABAC component 231 generates various headers for encoding control data, such as general purpose control data and filter control data. Furthermore, in addition to residual data in the form of quantized transform coefficient data, prediction data, including intra-prediction and motion data, are all encoded in the bitstream. The final bitstream contains all the information desired by the decoder to reconstruct the original partitioned video signal 201. Such information may also include an intra-prediction mode index table (also called a codeword mapping table), definitions of encoding contexts for various blocks, an indication of the most likely intra-prediction mode, an indication of partition information, etc. Such data may be encoded by using entropy coding. For example, the information can be stored in Context Adaptive Variable Length Coding (CAVLC), CABAC, Syntax-based context-adaptive Binary Arithmetic Coding ( SBAC), Stochastic Interval Partitioned Entropy It may be encoded by using Probability Interval Partitioning Entropy ( PIPE) coding or other entropy coding techniques. Following entropy coding, the coded bitstream may be transmitted to another device (eg, a video decoder) or archived for later transmission or retrieval.

図3は、例となるビデオエンコーダ300を表すブロック図である。ビデオエンコーダ300は、コーデックシステム200のエンコーディング機能を実装し、且つ/あるいは、動作方法100のステップ101、103、105、107、及び/又は109を実施するために、用いられてよい。エンコーダ300は、入力ビデオ信号をパーティション化して、パーティション化されたビデオ信号201と実質的に類似しているパーティション化されたビデオ信号301をもたらす。パーティション化されたビデオ信号301は、次いで、エンコーダ300のコンポーネントによってビットストリーム内に圧縮及びエンコーディングされる。 FIG. 3 is a block diagram representing an example video encoder 300. Video encoder 300 may be used to implement the encoding functionality of codec system 200 and/or to perform steps 101 , 103 , 105 , 107 , and/or 109 of method of operation 100 . Encoder 300 partitions an input video signal to yield a partitioned video signal 301 that is substantially similar to partitioned video signal 201. Partitioned video signal 301 is then compressed and encoded into a bitstream by components of encoder 300.

具体的に、パーティション化されたビデオ信号301は、イントラ予測のためにイントラピクチャ予測コンポーネント317へ転送される。イントラピクチャ予測コンポーネント317は、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217と実質的に類似し得る。パーティション化されたビデオ信号301は、デコーディングピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のために、動き補償コンポーネント321へも転送される。動き補償コンポーネント321は、動き推定コンポーネント221及び動き補償コンポーネント219と実質的に類似し得る。イントラピクチャ予測コンポーネント317及び動き補償コンポーネント321からの予測ブロック及び残差ブロックは、残差ブロックの変換及び量子化のために、変換及び量子化コンポーネント313へ転送される。変換及び量子化コンポーネント313は、変換スケーリング及び量子化コンポーネント213と実質的に類似し得る。変換及び量子化された残差ブロック並びに対応する予測ブロックが(関連した制御データとともに)ビットストリームへのコーディングのためにエントロピコーディングコンポーネント331へ転送される。エントロピコーディングコンポーネント331は、ヘッダフォーマッティング及びCABACコンポーネント231と実質的に類似し得る。 Specifically, partitioned video signal 301 is forwarded to intra picture prediction component 317 for intra prediction. Intra picture prediction component 317 may be substantially similar to intra picture estimation component 215 and intra picture prediction component 217. Partitioned video signal 301 is also transferred to motion compensation component 321 for inter prediction based on reference blocks in decoding picture buffer component 323. Motion compensation component 321 may be substantially similar to motion estimation component 221 and motion compensation component 219. Prediction blocks and residual blocks from intra-picture prediction component 317 and motion compensation component 321 are transferred to transform and quantization component 313 for transform and quantization of the residual blocks. Transform and quantization component 313 may be substantially similar to transform scaling and quantization component 213. The transformed and quantized residual blocks and corresponding prediction blocks (along with associated control data) are transferred to entropy coding component 331 for coding into a bitstream. Entropy coding component 331 may be substantially similar to header formatting and CABAC component 231.

変換及び量子化された残差ブロック並びに/又は対応する予測ブロックは、変換及び量子化コンポーネント313から逆変換及び量子化コンポーネント329へも、動き補償コンポーネント321によって使用される参照ブロックへの再構成のために転送される。逆変換及び量子化コンポーネント329は、スケーリング及び逆変換コンポーネント229と実質的に類似し得る。インループフィルタコンポーネント325におけるインループフィルタも、例に応じて、残差ブロック及び/又は再構成された参照ブロックに適用される。インループフィルタコンポーネント325は、フィルタ制御解析コンポーネント227及びインループフィルタコンポーネント225と実質的に類似し得る。インループフィルタコンポーネント325は、インループフィルタコンポーネント225に関して説明されたように複数のフィルタを含んでよい。フィルタ処理されたブロックは、次いで、動き補償コンポーネント321による参照ブロックとしての使用のために、デコーディングピクチャバッファコンポーネント323に記憶される。デコーディングピクチャバッファコンポーネント323は、デコーディングピクチャバッファコンポーネント223と実質的に類似し得る。 The transformed and quantized residual blocks and/or the corresponding prediction blocks are also transferred from the transform and quantization component 313 to the inverse transform and quantization component 329 for reconstruction into reference blocks used by the motion compensation component 321. be forwarded for. Inverse transform and quantization component 329 may be substantially similar to scaling and inverse transform component 229. An in-loop filter in in-loop filter component 325 is also applied to the residual block and/or the reconstructed reference block, depending on the example. In-loop filter component 325 may be substantially similar to filter control analysis component 227 and in-loop filter component 225. In-loop filter component 325 may include multiple filters as described with respect to in-loop filter component 225. The filtered block is then stored in decoding picture buffer component 323 for use as a reference block by motion compensation component 321. Decoding picture buffer component 323 may be substantially similar to decoding picture buffer component 223.

図4は、例となるビデオデコーダ400を表すブロック図である。ビデオデコーダ400は、コーデックシステム200のデコーディング機能を実装し、且つ/あるいは、動作方法100のステップ111、113、115、及び/又は117を実装するために、用いられてよい。デコーダ400は、例えば、エンコーダ300から、ビットストリームを受け取り、ビットストリームに基づいて、エンドユーザへの表示のために、再構成された出力ビデオ信号を生成する。 FIG. 4 is a block diagram representing an example video decoder 400. Video decoder 400 may be used to implement the decoding functionality of codec system 200 and/or to implement steps 111, 113, 115, and/or 117 of method of operation 100. Decoder 400 receives a bitstream, eg, from encoder 300, and generates a reconstructed output video signal based on the bitstream for display to an end user.

ビットストリームは、エントロピデコーディングコンポーネント433によって受け取られる。エントロピデコーディングコンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディング、又は他のエントロピコーディング技術等のエントロピデコーディングスキームを実装するよう構成される。例えば、エントロピデコーディングコンポーネント433は、ビットストリームにおいてコードワードとしてエンコーディングされた追加データを解釈するためにコンテキストを供給するようヘッダ情報を用いてよい。デコーディングされた情報は、汎用制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、及び量子化された変換係数等のビデオ信号を残差ブロックからデコーディングするための如何なる望ましい情報も含む。量子化された変換係数は、逆変換及び量子化コンポーネント429へ、残差ブロックへの再構成のために転送される。逆変換及び量子化コンポーネント429は、逆変換及び量子化コンポーネント329と類似し得る。 The bitstream is received by entropy decoding component 433. Entropy decoding component 433 is configured to implement an entropy decoding scheme such as CAVLC, CABAC, SBAC, PIPE coding, or other entropy coding technique. For example, entropy decoding component 433 may use header information to provide context for interpreting additional data encoded as codewords in the bitstream. The decoded information includes any desired information for decoding the video signal from the residual block, such as general control data, filter control data, partition information, motion data, prediction data, and quantized transform coefficients. . The quantized transform coefficients are transferred to an inverse transform and quantization component 429 for reconstruction into a residual block. Inverse transform and quantization component 429 may be similar to inverse transform and quantization component 329.

再構成された残差ブロック及び/又は予測ブロックは、イントラ予測動作に基づく画像ブロックへの再構成のために、イントラピクチャ予測コンポーネント417へ転送される。イントラピクチャ予測コンポーネント417は、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217と類似し得る。具体的に、イントラピクチャ予測コンポーネント417は、フレーム内の参照ブロックの位置を見つけるために予測モードを用い、残差ブロックをその結果に適用して、イントラ予測された画像ブロックを再構成する。再構成されたイントラ予測された画像ブロック及び/又は残差ブロック及び対応するインター予測データは、インループフィルタコンポーネント425を介してデコーディングピクチャバッファコンポーネント423へ転送される。これらは、夫々、デコーディングピクチャバッファコンポーネント223及びインループフィルタコンポーネント225と実質的に類似し得る。インループフィルタコンポーネント425は、再構成された画像ブロック、残差ブロック及び/又は予測ブロックをフィルタ処理し、このような情報は、デコーディングピクチャバッファコンポーネント423に記憶される。デコーディングピクチャバッファコンポーネント423からの再構成された画像ブロックは、インター予測のために動き補償コンポーネント421へ転送される。動き補償コンポーネント421は、動き推定コンポーネント221及び/又は動き補償コンポーネント219と実質的に類似し得る。具体的に、動き補償コンポーネント421は、予測ブロックを生成するために参照ブロックからの動きベクトルを用い、残差ブロックをその結果に適用して、画像ブロックを再構成する。結果として得られる再構成されたブロックも、インループフィルタコンポーネント425を介してデコーディングピクチャバッファコンポーネント423へ転送されてよい。デコーディングピクチャバッファコンポーネント423は、パーティション情報によりフレーム内に再構成され得る更なる再構成された画像ブロックを引き続き記憶する。このようなフレームはシーケンスでも配置されてよい。シーケンスは、再構成された出力ビデオ信号としてディスプレイに向けて出力される。 The reconstructed residual blocks and/or prediction blocks are transferred to intra picture prediction component 417 for reconstruction into image blocks based on intra prediction operations. Intra picture prediction component 417 may be similar to intra picture estimation component 215 and intra picture prediction component 217. Specifically, intra picture prediction component 417 uses the prediction mode to locate the reference block within the frame and applies the residual block to the result to reconstruct the intra-predicted image block. The reconstructed intra-predicted image blocks and/or residual blocks and corresponding inter-prediction data are transferred to decoding picture buffer component 423 via in-loop filter component 425 . These may be substantially similar to decoding picture buffer component 223 and in-loop filter component 225, respectively. In-loop filter component 425 filters the reconstructed image blocks, residual blocks, and/or prediction blocks, and such information is stored in decoding picture buffer component 423. The reconstructed image blocks from decoding picture buffer component 423 are transferred to motion compensation component 421 for inter prediction. Motion compensation component 421 may be substantially similar to motion estimation component 221 and/or motion compensation component 219. Specifically, motion compensation component 421 uses motion vectors from a reference block to generate a predictive block and applies a residual block to the result to reconstruct an image block. The resulting reconstructed block may also be transferred to decoding picture buffer component 423 via in-loop filter component 425. The decoding picture buffer component 423 continues to store further reconstructed image blocks that may be reconstructed within the frame according to the partition information. Such frames may also be arranged in a sequence. The sequence is output as a reconstructed output video signal to a display.

図5は、エンコーディングされたビデオシーケンスをHPS513とともに含む、例となるビットストリーム500を表す概略図である。例えば、ビットストリーム500は、コーデックシステム200及び/又はデコーダ400によるデコーディングのためにコーデックシステム200及び/又はエンコーダ300によって生成され得る。他の例として、ビットストリーム500は、ステップ111でのデコーダによる使用のために、方法100のステップ109でエンコーダによって生成されてもよい。 FIG. 5 is a schematic diagram representing an example bitstream 500 that includes an encoded video sequence along with an HPS 513. For example, bitstream 500 may be generated by codec system 200 and/or encoder 300 for decoding by codec system 200 and/or decoder 400. As another example, bitstream 500 may be generated by an encoder at step 109 of method 100 for use by a decoder at step 111.

ビットストリーム500は、シーケンスパラメータセット(SPS)510、複数のピクチャパラメータセット(PPS)512、複数のHPS513、複数のスライスヘッダ514、及び画像データ520を含む。SPS510は、ビットストリーム500に含まれているビデオシーケンス内の全てのピクチャに共通するシーケンスデータを含む。このようなデータは、ピクチャサイジング、ビットデプス、コーディングツールパラメータ、ビットレート制限、等を含むことができる。PPS512は、ピクチャ全体に適用するパラメータを含む。従って、ビデオシーケンス内の各ピクチャはPPS512を参照してよい。各ピクチャがPPS512を参照する一方で、単一のPPS512がいくつかの例では複数のピクチャについてのデータを含むことができる点が留意されるべきである。例えば、複数の類似したピクチャは、類似したパラメータに従ってコーディングされる可能性がある。そのような場合に、単一のPPS512が、このような類似したピクチャについてのデータを含んでもよい。PPS512は、対応するピクチャ内のスライスに利用可能なコーディングツール、量子化パラメータ、オフセット、等を示すことができる。スライスヘッダ514は、ピクチャ内の各スライスに特有であるパラメータを含む。従って、ビデオシーケンス内のスライスごとに1つのスライスヘッダ514が存在し得る。スライスヘッダ514は、スライスタイプ情報、ピクチャ順序カウント(Picture Order Counts,POC)、参照ピクチャリスト、予測重み、タイルエントリポイント、デブロッキングパラメータ、等を含んでよい。 Bitstream 500 includes a sequence parameter set (SPS) 510, a plurality of picture parameter sets (PPS) 512, a plurality of HPS 513 , a plurality of slice headers 514, and image data 520. SPS 510 contains sequence data that is common to all pictures in the video sequence included in bitstream 500. Such data may include picture sizing, bit depth, coding tool parameters, bit rate limits, etc. PPS 512 includes parameters that apply to the entire picture. Accordingly, each picture within a video sequence may reference PPS 512. It should be noted that while each picture references a PPS 512, a single PPS 512 may contain data for multiple pictures in some examples. For example, multiple similar pictures may be coded according to similar parameters. In such cases, a single PPS 512 may contain data for such similar pictures. PPS 512 may indicate coding tools, quantization parameters, offsets, etc. available for slices within the corresponding picture. Slice header 514 includes parameters that are specific to each slice within the picture. Thus, there may be one slice header 514 for each slice in the video sequence. Slice header 514 may include slice type information, picture order counts (POC), reference picture list, prediction weights, tile entry points, deblocking parameters, and the like.

HPS513は、スライスヘッダで見つけられた0個以上のシンタックス要素によって決定される0個以上のスライスに適用するシンタックス要素を含むシンタックス構造である。従って、HPS513は、複数のスライスに関連したコーディングツールのパラメータについてのシンタックス要素を含む。HPS513は、いくつかのシステムではHPSとも呼ばれ得る。例えば、1つ以上のスライスがHPS513を参照してもよい。従って、デコーダは、そのような参照に基づいてHPS513を取得し、HPS513からコーディングツールパラメータを取得し、そのコーディングツールパラメータを用いて、対応するスライスをデコーディングすることができる。HPS513は、PPS512とスライスヘッダ514との間の階層的位置を概念上占有する。例えば、特定のデータは、ピクチャ全体に関連するのではなく、複数のスライスに関連することがある。このようなデータは、そのデータがピクチャ全体に関連しないということで、PPS512に格納されなくてもよい。しかし、そのようなデータは、さもなければ、複数のスライスヘッダ514に含まれることになる。HPS513は、複数のスライスヘッダ514にわたる冗長的なシグナリングを回避するようそのようなデータを受け入れることができる。HPS513のコーディング構造は、VVCで導入されており、HEVC又は以前のコーディング規格では類似する構造はない。HPS513の様々な実施が以下で説明される。 HPS 513 is a syntax structure that includes syntax elements that apply to zero or more slices as determined by zero or more syntax elements found in the slice header. Accordingly, HPS 513 includes syntax elements for coding tool parameters associated with multiple slices. HPS 513 may also be referred to as HPS in some systems. For example, one or more slices may reference HPS 513 . Accordingly, the decoder can obtain the HPS 513 based on such reference, obtain coding tool parameters from the HPS 513, and use the coding tool parameters to decode the corresponding slice. HPS 513 conceptually occupies a hierarchical position between PPS 512 and slice header 514. For example, particular data may relate to multiple slices rather than an entire picture. Such data may not be stored in PPS 512 because the data is not related to the entire picture. However, such data would otherwise be included in multiple slice headers 514. HPS 513 can accept such data to avoid redundant signaling across multiple slice headers 514. The HPS513 coding structure was introduced in VVC and there is no similar structure in HEVC or previous coding standards. Various implementations of HPS 513 are described below.

画像データ520は、インター予測及び/又はイントラ予測に従ってエンコーディングされたビデオデータを、対応する変換及び量子化された残差データとともに含む。例えば、ビデオシーケンスは、画像データとしてコーディングされた複数のピクチャ521を含む。ピクチャ521は、ビデオシーケンスの単一のフレームであり、従って、一般に、ビデオシーケンスを表示するときに単一のユニットとして表示される。しかし、部分的なピクチャが、仮想現実、ピクチャ・イン・ピクチャ等のような特定の技術を実装するよう表示されることがある。ピクチャ521は夫々、PPS512を参照する。ピクチャ521はスライス523に分割される。スライス523は、ピクチャ521の水平断面として定義されてよい。例えば、スライス523は、ピクチャ521の高さの一部とピクチャ521の幅全体とを含んでよい。いくつかのシステムでは、スライス523は、タイル525に細分される。他のシステムでは、スライス523は、タイル525を含むタイルグループによって置換される。スライス523及び/又はタイル525のグループは、スライスヘッダ514及び/又はHPS513を参照する。タイル525は、ピクチャ521の長方形部分及び/又は列及び行によって定義されたピクチャ521の部分を含んでよい。タイル525は、コーディングツリーユニット(CTU)に更に分割される。CTUは、コーディングツリーに基づいてコーディングブロックに更に分割される。コーディングブロックは、次いで、予測メカニズムに従ってエンコーディング/デコーディングされ得る。 Image data 520 includes video data encoded according to inter-prediction and/or intra-prediction, along with corresponding transformed and quantized residual data. For example, a video sequence includes a plurality of pictures 521 coded as image data. Picture 521 is a single frame of a video sequence, and thus is generally displayed as a single unit when displaying a video sequence. However, partial pictures may be displayed implementing certain technologies such as virtual reality, picture-in-picture, etc. Pictures 521 each refer to PPS 512. Picture 521 is divided into slices 523. Slice 523 may be defined as a horizontal cross section of picture 521. For example, slice 523 may include a portion of the height of picture 521 and the entire width of picture 521. In some systems, slice 523 is subdivided into tiles 525. In other systems, slice 523 is replaced by a tile group that includes tile 525. Slices 523 and/or groups of tiles 525 reference slice headers 514 and/or HPSs 513. Tile 525 may include a rectangular portion of picture 521 and/or a portion of picture 521 defined by columns and rows. Tiles 525 are further divided into coding tree units (CTUs). The CTU is further divided into coding blocks based on the coding tree. The coding block may then be encoded/decoded according to a prediction mechanism.

ビットストリーム500は、VCL NALユニット533及び非VCL NALユニット531にコーディングされる。NALユニットは、ネットワーク上での伝送のために単一のパケットのためのペイロードとして置かれるようサイジングされたコーディングされたデータユニットである。VCL NALユニット533は、コーディングされたビデオデータを含むNALユニットである。例えば、各VCL NALユニット533は、1つのスライス523及び/又は対応するタイル525を含むデータのタイルグループ、CTU、及び/又はコーディングブロックを含んでよい。非VCL NALユニット531は、サポートするシンタックスを含むが、コーディングされたビデオデータを含まないNALユニットである。例えば、非VCL NALユニット531は、SPS510、PPS512、HPS513、スライスヘッダ514、等を含んでよい。そのようなものとして、デコーダは、別個のVCL NALユニット533及び非VCL NALユニット531においてビットストリーム500を受け取る。アクセスユニット535は、単一のピクチャ521をコーディングするのに十分なデータを含むVCL NALユニット533及び/又は非VCL NALユニット531のグループである。 Bitstream 500 is coded into VCL NAL units 533 and non-VCL NAL units 531. A NAL unit is a coded data unit sized to be placed as the payload for a single packet for transmission over a network. VCL NAL unit 533 is a NAL unit that contains coded video data. For example, each VCL NAL unit 533 may include a tile group of data, a CTU, and/or a coding block, including one slice 523 and/or a corresponding tile 525. Non-VCL NAL units 531 are NAL units that include supporting syntax but do not include coded video data. For example, non-VCL NAL unit 531 may include SPS 510, PPS 512, HPS 513, slice header 514, and so on. As such, the decoder receives the bitstream 500 in separate VCL NAL units 533 and non-VCL NAL units 531. An access unit 535 is a group of VCL NAL units 533 and/or non-VCL NAL units 531 that includes sufficient data to code a single picture 521.

いくつかの例では、HPS513は、次のように実装され得る。HPS513は、インバンド及び/又はアウトオブバンドで利用可能であってよく、このとき、インバンドシグナリングはビットストリーム500に含まれ、アウトオブバンドはサポートするメタデータに含まれる。HPS513は、非VCL NALユニット531等のNALユニットに含まれ、このとき、HPS513はNALユニットタイプによって識別される。HPS513は、ALF、SAO、デブロッキング、量子化行列、インター予測パラメータ、参照ピクチャセット構成に関連したパラメータ、及び/又は参照ピクチャリスト構成に関連したパラメータ等の、しかしこれらに限られないコーディングツールのためのパラメータを含んでよい。HPS513はタイプを含んでもよい。タイプは、どのコーディングツールパラメータがHPS513に含まれるかを定義する。各HPS513は、ただ1つのタイプのコーディングツールパラメータしか含まなくてもよい。異なるタイプのHPS513が、グループ・オブ・パラメータセット(GPS)に一緒にグループ化されてもよい。単一のHPS513を参照するのではなく、スライス523はGPSを参照してもよい。HPS513は、対応するスライス523及び/又はタイルグループによって参照される前にデコーダで利用可能にされてよい。コーディングされたピクチャ521の異なるスライス523は、異なるHPS513を参照してもよい。HPS513は、ビットストリーム500において如何なるスライス523の境界にも置かれ得る。これは、HPS513に続く現在のピクチャ521の全てのスライス523についてさえ、HPS513 におけるパラメータ(例えば、ALFパラメータ)の再利用を可能にする。 In some examples, HPS 513 may be implemented as follows. HPS 513 may be available in-band and/or out-of-band, where in-band signaling is included in bitstream 500 and out-of-band is included in supporting metadata. HPS 513 is included in a NAL unit, such as non-VCL NAL unit 531, where HPS 513 is identified by a NAL unit type. The HPS 513 includes coding tools such as, but not limited to, ALF, SAO, deblocking, quantization matrices, inter prediction parameters, parameters related to reference picture set configuration, and/or parameters related to reference picture list configuration. may contain parameters for HPS 513 may include a type. The type defines which coding tool parameters are included in the HPS 513. Each HPS 513 may include only one type of coding tool parameter. Different types of HPS 513 may be grouped together into a group of parameter sets (GPS). Rather than referencing a single HPS 513, slice 523 may refer to GPS. HPS 513 may be made available to the decoder before being referenced by the corresponding slice 523 and/or tile group. Different slices 523 of coded picture 521 may reference different HPSs 513. HPS 513 may be placed at the boundary of any slice 523 in bitstream 500. This allows reuse of parameters (eg, ALF parameters) in HPS 513 even for all slices 523 of current picture 521 following HPS 513.

スライスヘッダ514からHPS513への参照は任意であってよい。例えば、スライス523は、次のいずれかが真である場合にHPS513を参照してよい。第1に、そのような参照は、HPS513がビットストリーム500について利用可能であることを、対応するPPS512において示され得る。第2に、スライス523は、パラメータがHPS513に含まれているコーディングツールの少なくとも1つがビットストリーム500について有効にされる場合に、HPS513を参照してもよい。各HPS513はHPS IDと関連付けられてよい。HPS513を参照するスライス523は、参照されたHPS513のHPS IDを含むべきである。HPS IDは、最初に左ビットから、符号なし整数の0次Exp-Golombでコーディングされたシンタックス要素によりコーディングされてよい(例えば、ue(v))。HPS IDの値は、例えば、0以上63以下の範囲で、制限されてよい。コーディングツールのパラメータごとに、そのパラメータがHPS513に存在するかどうかを示すために、HPS513にはフラグが存在してもよい。コーディングツールがスライス523について有効にされており、そのコーディングツールについてのパラメータが、スライス523によって参照されているHPS513に存在する場合に、パラメータは、対応するスライスヘッダ514で通知されなくてもよい。HPS513は、1つ以上のNALユニットに断片化されてよく、HPS513の各断片は独立してパースされ適用され得る。スライス523は、単一のHPS513又は複数のHPS513を参照してよい。複数のHPS513を参照することが許される場合に、HPS513への各参照は、特定のコーディングツールのパラメータを決定するために用いられてよい。 References from slice header 514 to HPS 513 may be arbitrary. For example, slice 523 may reference HPS 513 if any of the following are true: First, such a reference may indicate in the corresponding PPS 512 that the HPS 513 is available for the bitstream 500. Second, slice 523 may reference HPS 513 if at least one of the coding tools whose parameters are included in HPS 513 is enabled for bitstream 500. Each HPS 513 may be associated with an HPS ID. Slices 523 that reference HPS 513 should include the HPS ID of the referenced HPS 513. The HPS ID may be coded with an unsigned integer zero-order Exp-Golomb coded syntax element starting from the left bit (eg, ue(v)). The value of the HPS ID may be limited to a range of 0 to 63, for example. For each parameter of the coding tool, a flag may exist in HPS 513 to indicate whether that parameter is present in HPS 513. If a coding tool is enabled for slice 523 and parameters for that coding tool exist in HPS 513 referenced by slice 523, the parameters may not be signaled in the corresponding slice header 514. HPS 513 may be fragmented into one or more NAL units, and each fragment of HPS 513 may be independently parsed and applied. A slice 523 may reference a single HPS 513 or multiple HPSs 513. If references to multiple HPSs 513 are allowed, each reference to an HPS 513 may be used to determine the parameters of a particular coding tool.

以下の実施は、HPS513が他のHPS513を参照し、そのような参照によってコーディングツールパラメータを引き継ぐことを可能にする。HPS513は、他のHPS513への1つ以上の参照を含んでよい。このような例では、HPS513は、HPS513が如何なる他のHPS513も参照しない場合に、イントラHPSと呼ばれ得る。HPS513が他のHPS513を参照する場合には、参照しているHPS513は、参照HPS513から1つ以上のパラメータをコピーしてよい。HPS513は、パラメータグループごとに1つの参照HPS513で、他のHPS513への多数の参照を有してよい。いくつかの例では、HPS513の連結リストは、一連のHPS513が参照メカニズムによって接続されるということで、形成され得る。コーディングツールのパラメータがHPS513に存在しないと特定される(例えば、存在フラグの値が0に等しい)場合に、パラメータが参照HPS513から引き継がれ得るか否かを示すために、追加のフラグが存在してもよい。HPS513から他のHPS513への参照は、コーディングツールのパラメータがHPS513に存在しない場合に、そのようなパラメータが、前のHPS513についてのコーディングツールのパラメータと同じであるよう引き継がれるように、暗黙的に特定され得る。 The following implementation allows HPSs 513 to reference other HPSs 513 and inherit coding tool parameters through such references. HPS 513 may include one or more references to other HPS 513. In such an example, an HPS 513 may be referred to as an intra-HPS if the HPS 513 does not reference any other HPS 513. If an HPS 513 references another HPS 513, the referencing HPS 513 may copy one or more parameters from the reference HPS 513. HPS 513 may have multiple references to other HPS 513, one reference HPS 513 per parameter group. In some examples, a linked list of HPSs 513 may be formed in which a series of HPSs 513 are connected by a reference mechanism. If a parameter of the coding tool is identified as not present in the HPS 513 (e.g., the value of the present flag is equal to 0), an additional flag is present to indicate whether the parameter can be inherited from the reference HPS 513. It's okay. References from HPS 513 to other HPS 513 are implicitly made such that if a coding tool parameter is not present in HPS 513, such parameter is inherited to be the same as the coding tool parameter for the previous HPS 513. can be specified.

いくつかの場合に、HPS513は、即時デコーダリフレッシュ(Instantaneous Decoder Refresh,IDR)及び/又はクリーン・ランダム・アクセス(Clean Random Access,CRA)ピクチャに対するランダムなアクセスを呼び出すときにもはや存在しないことがある。従って、2つのHPSバッファが、HPS513を記憶するために用いられてよく、各バッファは、各イントラ・ランダム・アクセス・ポイント(Intra Random Access Point,IRAP)ピクチャの開始時に二者択一的にアクティブにされる。そのような場合に、受け取られたHPS513は、アクティブなHPSバッファに記憶される。エラー回復力を改善するために、HPS IDの範囲は、現在使用中であるHPS IDを示すよう定められてよい。HPS513が使用中のHPS ID範囲の外のHPS IDを有する場合に、更なるHPS513はそのHPS IDを使用してもよい。使用中のHPS IDは、次いで、スライディングウィンドウアプローチに従って更新されてよい。この技術が使用される場合に、HPS513は、HPS IDが使用中の範囲内にある他のHPS513しか参照しなくてもよい。アクティブなHPS513の数の制限は、デコーダメモリ内のHPS513の記憶要件を制限するために定義されてよい。制限に達し、新しいHPS513が受け取られる場合に、バッファ内の最も古い(例えば、最も早く受け取られた)HPS513は削除されてよく、新しいHPS513が挿入される。 In some cases, HPS 513 may no longer be present when invoking Instantaneous Decoder Refresh ( IDR) and/or Clean Random Access ( CRA) random access to pictures. Therefore, two HPS buffers may be used to store the HPS 513, each buffer being alternatively active at the beginning of each Intra Random Access Point ( IRAP) picture. be made into In such case, the received HPS 513 is stored in the active HPS buffer. To improve error resiliency, a range of HPS IDs may be defined to indicate HPS IDs that are currently in use. If an HPS 513 has an HPS ID outside of the HPS ID range in use, the additional HPS 513 may use that HPS ID. The HPS ID in use may then be updated according to a sliding window approach. When this technique is used, HPS 513 may only refer to other HPS 513 whose HPS ID is within the range in use. A limit on the number of active HPSs 513 may be defined to limit the storage requirements of HPSs 513 in the decoder memory. If the limit is reached and a new HPS 513 is received, the oldest (eg, earliest received) HPS 513 in the buffer may be deleted and a new HPS 513 inserted.

いくつかの場合に、全てのHPS513の参照は、HPS513がデコーダによって受け取られると直ぐに解消されてよい。例えば、コーディングツールパラメータは、デコーダがHPS513を受け取ると直ちにコピーされてよく、コーディングツールパラメータは現在のHPS513では利用不可能であるが、参照HPS513では利用可能である。エラー回復力を改善するための他のアプローチは、イントラHPS513が特定の期間中に存在することを必要とし得る。イントラHPS513が受け取られる場合に、バッファ内の同じタイプの全ての利用可能なHPS513は捨てられてよい。コーディングツールのパラメータがHPS513に存在しない場合に、HPS513を参照するスライス523についてコーディングツールが無効にされているかどうかを示すために、フラグが存在してもよい。更に、NALユニットヘッダ内のフラグ(例えば、nal_ref_flag)は、NALユニットに含まれているHPS513が、参照として使用されるピクチャ521からのスライス523によって参照され得るかどうかを定め得る。例えば、HPS513は、HPS513を含むNALユニットのnal_ref_flagが0に等しい場合に、非参照ピクチャ521のスライス523によってしか参照されなくてよい。このフラグはまた、どのHPS513が他のHPS513のための参照として使用され得るかを決定するためにも使用されてよい。例えば、HPS513は、0に等しいnal_ref_flagを有するNALユニットに含まれている他のHPS513を参照しなくてもよい。HPSバッファのためのリセット期間は、SPS510において定められてもよい。HPS513のバッファは、IRAPピクチャの発生時にリセットされてよい。 In some cases, all HPS 513 references may be resolved as soon as the HPS 513 is received by the decoder. For example, the coding tool parameters may be copied as soon as the decoder receives the HPS 513, where the coding tool parameters are not available in the current HPS 513 but are available in the reference HPS 513. Other approaches to improving error resiliency may require that intra-HPS 513 be present during certain periods of time. If an intra-HPS 513 is received, all available HPS 513 of the same type in the buffer may be discarded. A flag may be present to indicate whether the coding tool is disabled for the slice 523 that references the HPS 513 if the coding tool's parameters are not present in the HPS 513. Additionally, a flag in the NAL unit header (eg, nal_ref_flag) may define whether the HPS 513 included in the NAL unit can be referenced by a slice 523 from a picture 521 used as a reference. For example, HPS 513 may only be referenced by slice 523 of non-reference picture 521 if the nal_ref_flag of the NAL unit containing HPS 513 is equal to 0. This flag may also be used to determine which HPS 513 may be used as a reference for other HPS 513. For example, an HPS 513 may not reference other HPSs 513 that are included in a NAL unit with nal_ref_flag equal to 0. A reset period for the HPS buffer may be defined in SPS 510. The buffer of HPS 513 may be reset upon generation of an IRAP picture.

上記の実施を見直すことから理解され得るように、HPS513が他のHPS513を参照することを可能にすることは、かなり複雑である場合がある。従って、開示されている例では、HPS513は、他のHPS513を参照することを制限され得る。代わりに、複数のタイプのHPS513が用いられてよい。HPS513のタイプは、HPS513に含まれているコーディングツールパラメータのタイプを示す。このようなHPS513のタイプは、ALF HPS、LMCS HPS、及び/又はスケーリングリストパラメータHPSを含んでよい。ALF HPSは、対応するスライスの適応ループフィルタリングの部分として使用されるコーディングツールパラメータを含むHPSである。LMCS HPSは、LMCSメカニズムのために用いられるコーディングツールパラメータを含む。LMCSは、レートひずみを低減するために、対応するクロマ成分に対するマッピングに基づいて、ルーマ成分を再形成するフィルタリング技術である。スケーリングリストパラメータHPSは、特定のフィルタによって使用される量子化行列に関連したコーディングツールパラメータを含む。このような例では、第1タイプの現在のHPS513がデコーダによって取得される場合に、第1タイプの前のHPS513は、現在のHPS513がそのような前のHPS513に取って代わるということで、捨てられ得る。更に、複数のタイプのHPS513を可能にするために、単一のスライスヘッダ514は、対応するスライス523及び/又はタイルグループについて全てのコーディングツールパラメータを参照するために1つよりも多いHPS513を参照してよい。これは、スライスヘッダ514が、その場合に他のHPS513を参照する単一のHPS513を参照することを可能にする他のスキームとは対照的である。従って、単一のスライスヘッダ514が複数のHPS513を参照することを可能にすることは、HPS513の参照チェーンを回避する実施をもたらす。このアプローチは、複雑性を大いに低減し、従って、エンコーダ及びデコーダの両方で処理資源利用を低減する。更に、このプロセスは、デコーダでバッファリングされるHPS513の数を減らす。例えば、各タイプのただ1つのHPS513しかデコーダでバッファリングされなくてよい。これは、デコーダでのメモリ利用を減らす。更に、HPS513の参照チェーンを回避することによって、潜在的なエラーが見つけられ、従って、低減される。これは、伝送エラー中にHPS513を失うことが、HPS513を直接参照するスライス523にしか影響を及ぼし得ないからである。そのようなものとして、開示されているメカニズムは、ビットストリーム500においてHPS513を用いる場合にエンコーダ及びデコーダの両方で改善を生み出す。 As can be seen from reviewing the above implementation, allowing HPSs 513 to reference other HPSs 513 can be quite complex. Accordingly, in the disclosed example, HPSs 513 may be restricted from referencing other HPSs 513. Alternatively, multiple types of HPS 513 may be used. The type of HPS 513 indicates the type of coding tool parameters included in HPS 513. Types of such HPS 513 may include ALF HPS, LMCS HPS, and/or scaling list parameter HPS. ALF HPS is an HPS that contains coding tool parameters used as part of the adaptive loop filtering of the corresponding slice. The LMCS HPS includes the coding tool parameters used for the LMCS mechanism. LMCS is a filtering technique that reshapes the luma component based on its mapping to the corresponding chroma component to reduce rate distortion. The scaling list parameters HPS include coding tool parameters related to the quantization matrices used by a particular filter. In such an example, when a current HPS 513 of the first type is obtained by the decoder, a previous HPS 513 of the first type is discarded such that the current HPS 513 replaces such previous HPS 513. It can be done. Additionally, to allow for multiple types of HPS 513, a single slice header 514 may reference more than one HPS 513 to reference all coding tool parameters for the corresponding slice 523 and/or tile group. You may do so. This is in contrast to other schemes that allow the slice header 514 to reference a single HPS 513 which in turn references other HPSs 513. Therefore, allowing a single slice header 514 to reference multiple HPSs 513 provides an implementation that avoids reference chains of HPSs 513. This approach greatly reduces complexity and thus reduces processing resource utilization at both the encoder and decoder. Additionally, this process reduces the number of HPSs 513 buffered at the decoder. For example, only one HPS 513 of each type may be buffered at the decoder. This reduces memory usage in the decoder. Furthermore, by avoiding the reference chain of HPS 513, potential errors are detected and thus reduced. This is because losing HPS 513 during a transmission error can only affect slices 523 that directly reference HPS 513. As such, the disclosed mechanism produces improvements at both the encoder and decoder when using HPS 513 in bitstream 500.

図6は、時間スケーリングのための、例となるメカニズム600を表す概略図である。例えば、メカニズム600は、ビットストリーム500等のデコーディングされたビットストリームを表示する場合に、コーデックシステム200及び/又はデコーダ400等のデコーダによって用いられてよい。更に、メカニズム600は、表示のためにビデオを出力する場合に、方法100のステップ117の部分として用いられてもよい。また、コーデックシステム200及び/又はエンコーダ300等のエンコーダは、メカニズム600がデコーダで起こることを可能にするようビットストリーム内のデータをエンコーディングしてよい。 FIG. 6 is a schematic diagram representing an example mechanism 600 for temporal scaling. For example, mechanism 600 may be used by codec system 200 and/or a decoder, such as decoder 400, when displaying a decoded bitstream, such as bitstream 500. Additionally, mechanism 600 may be used as part of step 117 of method 100 when outputting video for display. Also, an encoder, such as codec system 200 and/or encoder 300, may encode data within the bitstream to enable mechanism 600 to occur at the decoder.

メカニズム600は、複数のデコーディングされたピクチャ601、603、及び605に作用する。ピクチャ601、603、及び605は、順序付けられたビデオシーケンスの部分であり、例えば、上記のメカニズムを用いることによって、ビットストリームからデコーディングされている。ビットストリームは、デコーダが第1フレームレート(FR0)610、第2フレームレート(FR1)611、及び第3フレームレート(FR2)612を含む複数のフレームレートのうちの1つでビデオシーケンスを表示することを可能にするようエンコーディングされる。フレームレートは、ビデオシーケンスのフレーム/ピクチャが表示される周波数の指標である。フレームレートは、時間にわたるフレームで測定され得る。フレームレートの違いは、デコーダ能力のばらつきを考慮するよう、異なるデコーダが異なる品質で同じビデオシーケンスを表示することを可能にする。例えば、ハードウェア能力が低下したデコーダ及び/又は低品質のネットワーク接続からストリーミングするデコーダは、FR0 610で表示してよい。他の例として、高速ネットワーク接続へのアクセスを有する高品質デコーダは、FR2 612で表示してよい。更なる他の例として、特定の機能的障害を有するデコーダは、FR1 611で表示することはできるが、FR2 612で表示することはできないことがある。従って、時間スケーリング(例えば、メカニズム600)は、変化するデコーダ側の能力及び制約に基づいて最良のユーザ経験のために可能な最も高いフレームレートで各デコーダがビデオを表示することを可能にするために用いられる。ほとんどのシステムでは、各フレームレートは、前のフレームレートの2倍の周波数である。例えば、FR0 610、FR1 611、及びFR2 612は、夫々、15フレーム/秒(Frames Per Second,FPS)、30FPS、及び60FPSとセットされてよい。 Mechanism 600 operates on multiple decoded pictures 601, 603, and 605. Pictures 601, 603, and 605 are part of an ordered video sequence and have been decoded from the bitstream, eg, by using the mechanisms described above. The bitstream causes the decoder to display the video sequence at one of a plurality of frame rates, including a first frame rate (FR0) 610, a second frame rate (FR1) 611, and a third frame rate (FR2) 612. is encoded to make it possible. Frame rate is a measure of the frequency at which frames/pictures of a video sequence are displayed. Frame rate may be measured in frames over time. Differences in frame rate allow different decoders to display the same video sequence with different quality to account for variations in decoder capabilities. For example, a decoder with reduced hardware capabilities and/or a decoder streaming from a poor quality network connection may be indicated as FR0 610. As another example, a high quality decoder with access to a high speed network connection may be designated as FR2 612. As yet another example, a decoder with a particular functional impairment may be able to display on FR1 611 but not on FR2 612. Accordingly, temporal scaling (e.g., mechanism 600) is used to enable each decoder to display video at the highest possible frame rate for the best user experience based on varying decoder-side capabilities and constraints. used for. In most systems, each frame rate is twice the frequency of the previous frame rate. For example, FR0 610, FR1 611, and FR2 612 may be set to 15 frames per second (FPS), 30FPS, and 60FPS, respectively.

時間スケーリングを実装するために、ピクチャ601、603、及び605は、可能な限り高いフレームレート、この場合にはFR2 612で、エンコーダによってビットストリーム内にコーディングされる。エンコーダはまた、各ピクチャ601、603、及び605に時間的識別子(Temporal Identifier,TID)を割り当てる。ピクチャ601、603、及び605は、夫々、0、1、及び2のTIDを受け取っている。結果として得られたデコーディングされたビデオを表示する場合に、デコーダはフレームレートを選択し、対応するフレームレートTIDを決定し、そのフレームレートTID以下であるTIDを有する全てのフレームを表示する。選択されたフレームレートのフレームレートTIDよりも大きいTIDを有するピクチャは、無視される。例えば、FR2 612を選択するデコーダは、2以下のTIDを有する全てのピクチャを表示し、従って、全てのピクチャ601、603、及び605を表示する。他の例として、FR1 611を選択するデコーダは、1以下のTIDを有する全てのピクチャを表示し、従って、ピクチャ605を無視しながら、ピクチャ601及び603を表示する。他の例として、FR0 610を選択するデコーダは、0以下のTIDを有する全てのピクチャを表示し、従って、ピクチャ603及び605を無視しながら、ピクチャ601を表示する。このメカニズム600を用いることによって、ビデオシーケンスは、選択されたフレームレートへデコーダによって時間的にスケーリングされ得る。 To implement temporal scaling, pictures 601, 603, and 605 are coded into the bitstream by an encoder at the highest possible frame rate, in this case FR2 612. The encoder also assigns each picture 601, 603, and 605 a temporal identifier (TID). Pictures 601, 603, and 605 have received TIDs of 0, 1, and 2, respectively. When displaying the resulting decoded video, the decoder selects a frame rate, determines a corresponding frame rate TID, and displays all frames with TIDs that are less than or equal to that frame rate TID. Pictures with TIDs greater than the frame rate TID of the selected frame rate are ignored. For example, a decoder that selects FR2 612 would display all pictures with a TID less than or equal to 2, and thus display all pictures 601, 603, and 605. As another example, a decoder that selects FR1 611 would display all pictures with a TID of 1 or less, thus displaying pictures 601 and 603 while ignoring picture 605. As another example, a decoder that selects FR0 610 would display all pictures with a TID less than or equal to 0, thus displaying picture 601 while ignoring pictures 603 and 605. By using this mechanism 600, a video sequence can be temporally scaled by a decoder to a selected frame rate.

図5で記載されたHPS513は、メカニズム600の時間スケーリングをサポートするよう実装され得る。これは、TID0、TID1、又はTID2等のTIDを各HPSに割り当てることによって達成され得る。時間スケーリングが実行される場合に、選択されたフレームレートTID以下のTIDを有するHPSはデコーディングされ、選択されたフレームレートTIDよりも大きいTIDを有するHPSは捨てられる。TIDは、様々な実施形態に従ってHPSに割り当てられ得る。 HPS 513 described in FIG. 5 may be implemented to support temporal scaling of mechanism 600. This may be accomplished by assigning a TID, such as TID0, TID1, or TID2, to each HPS. When temporal scaling is performed, HPSs with TIDs less than or equal to the selected frame rate TID are decoded and HPSs with TIDs greater than the selected frame rate TID are discarded. A TID may be assigned to an HPS according to various embodiments.

図5を参照すると、一例では、HPS513は、HPS513を参照する第1スライス523を含むピクチャ521の時間的IDを受け取ってよい。他の例では、HPS513は、HPS513を含むアクセスユニット535の時間的IDを受け取ってよい。時間スケーリングを更にサポートするために、より低い時間的IDに関連したスライス523は、より大きい時間的IDを含むHPS513を参照することを制限されてよい。これは、より低いフレームレート設定は、スライス523に、メカニズム600の時間スケーリングにより無視されるHPS513を参照させないことを確かにし、従って、コーディングツールパラメータが、FR0 610及び/又はFR1 611等のより低いフレームレートで特定のスライス523をデコーディングするときに、利用不可能であることを防ぐ。 Referring to FIG. 5, in one example, HPS 513 may receive the temporal ID of picture 521 that includes first slice 523 that references HPS 513. In other examples, HPS 513 may receive the temporal ID of access unit 535 that includes HPS 513. To further support temporal scaling, slices 523 associated with lower temporal IDs may be restricted from referencing HPSs 513 containing higher temporal IDs. This ensures that lower frame rate settings do not make slices 523 reference HPS 513, which is ignored by the time scaling of mechanism 600, and therefore coding tool parameters lower such as FR0 610 and/or FR1 611. Prevents unavailability when decoding a particular slice 523 at the frame rate.

上記のメカニズムは、次のように実装され得る。以下の態様は、個別的に及び/又は組み合わせて適用され得る。適応パラメータセット(APS)は、HPSのもう1つの名称である。ビットストリームのためのHPSの利用可能性は、全てが帯域内で利用可能であってよく、全てが帯域外で利用可能であり、且つ/あるいは、一部が帯域内で利用可能であり、一部が帯域外で利用可能である。帯域外で提供される場合に、HPSは次のものに存在してよい。ISOに基づくメディアファイルフォーマットでは、HPSはサンプルエントリ(例えば、サンプル記述ボックス)に存在してよい。ISOに基づくメディアファイルフォーマットでは、HPSは、パラメータ・セット・トラック又はタイムド・メタデータ・トラック等の時間同期されたトラックに存在してもよい。 The above mechanism may be implemented as follows. The following aspects may be applied individually and/or in combination. Adaptive Parameter Set (APS) is another name for HPS. HPS availability for bitstreams may be all available in-band, all available out-of-band, and/or some available in-band, and some available in-band. portion is available out-of-band. When provided out-of-band, the HPS may reside in: In ISO-based media file formats, the HPS may be present in the sample entry (eg, sample description box). In ISO-based media file formats, the HPS may reside in time-synchronized tracks, such as parameter set tracks or timed metadata tracks.

特定の実施では、帯域外で提供される場合に、HPSは次のように運ばれてもよい。ISOに基づくメディアファイルフォーマットでは、HPS更新が存在しない場合に、HPSはサンプルエントリ(例えば、サンプル記述ボックス)にしか存在しなくてよい。HPS更新は、HPS識別子(ID)が再利用され、一方、他のHPSパラメータが、同じHPS IDを有する先に送信されたHPSとは異なる場合に、存在しなくてよい。HPS更新が存在する場合に、例えば、HPSが適応ループフィルタ(ALF)パラメータを含む場合に、国際標準化機構(ISO)に基づくメディアファイルフォーマットでは、HPSは、パラメータ・セット・トラック又はタイムド・メタデータ・トラック等の時間同期されたトラックで運ばれてよい。このようにして、完全なタイルのグループを夫々が含むスライスは、それら自体のファイルフォーマットトラックで運ばれてよい。更に、HPSは、時間同期されたトラックで運ばれてよい。結果として、これらのトラックは夫々、ハイパーテキスト転送プロトコルの動的適応ストリーミング(Dynamic Adaptive Streaming of Hypertext transfer protocol,DASH)表現で運ばれ得る。スライス/タイルトラックのサブセットのデコーディング及びレンダリングのために、スライス/タイルトラックのサブセットを含むDASH表現及びHPSを含むDASH表現が、セグメントごとにクライアントによって要求され得る。 In certain implementations, when provided out of band, the HPS may be carried as follows. In ISO-based media file formats, HPS may only be present in sample entries (eg, sample description boxes) if no HPS updates are present. HPS updates may not exist if the HPS identifier (ID) is reused while other HPS parameters are different from the previously sent HPS with the same HPS ID. In media file formats based on the International Organization for Standardization (ISO), if an HPS update is present, e.g. if the HPS includes adaptive loop filter (ALF) parameters, the HPS is a parameter set track or timed metadata. - May be transported by time-synchronized trucks such as trucks. In this way, slices each containing a complete group of tiles may be carried in their own file format tracks. Furthermore, the HPS may be transported in time-synchronized trucks. As a result, each of these tracks may be carried in a Dynamic Adaptive Streaming of Hypertext transfer protocol ( DASH) representation. For decoding and rendering of the slice/tile track subset, a DASH representation containing the slice/tile track subset and a DASH representation containing the HPS may be requested by the client for each segment.

他の例では、HPSは、常に帯域内で提供されるものとして規定され得る。HPSはまた、パラメータ・セット・トラック又はタイムド・メタデータ・トラック等の時間同期されたトラックで運ばれてもよい。結果として、HPSは、上述されたように供給され得る。更に、ビデオコーデックのためのファイルフォーマットの仕様では、ビットストリーム再構成プロセスは、HPSが出力ビットストリームの部分であるように、スライス/タイルトラックのサブセットと、HPSを含む時間同期されたトラックとから、出力ビットストリームを構成してよい。 In other examples, HPS may be defined as always being provided in-band. HPS may also be carried in time-synchronized tracks, such as parameter set tracks or timed metadata tracks. As a result, HPS can be provided as described above. Furthermore, in the file format specifications for video codecs, the bitstream reconstruction process requires that the HPS be part of the output bitstream from a subset of the slice/tile tracks and the time-synchronized tracks containing the HPS. , may configure the output bitstream.

HPSは、デコーディング順序で、HPSを参照する最初のスライスより前に、存在し及び/又はデコーダに利用可能であるべきである。例えば、HPSが帯域内で利用可能である場合に、HPSは、デコーダ順序において、HPSを参照する最初のスライスに先行してよい。そうでない場合に、HPSデコーディング時間は、HPSを参照する最初のスライスのデコーディング時間以下であるべきである。 The HPS should be present and/or available to the decoder before the first slice that references the HPS in the decoding order. For example, if an HPS is available in-band, the HPS may precede the first slice that references the HPS in decoder order. Otherwise, the HPS decoding time should be less than or equal to the decoding time of the first slice that references the HPS.

HPSは、SPS等のシーケンスレベルパラメータセットのIDを含んでよい。SPS IDがHPSに存在しない場合に、次の制約が適用され得る。HPSを参照する最初のスライスがイントラ・ランダム・アクセス・ポイント(IRAP)ピクチャの部分であり、HPSが帯域内で運ばれる場合に、HPSは、IRAPアクセスユニットに存在してよい。HPSを参照する最初のスライスがIRAPピクチャの部分であり、HPSが帯域外で運ばれる場合に、HPSのデコーディング時間は、IRAPピクチャのデコーディング時間と同じであってよい。HPSを参照する最初のスライスがIRAPピクチャの部分ではなく、HPSが帯域内で運ばれる場合に、HPSは、コーディングされたビデオシーケンスを開始するIRAPアクセスユニットと、そのスライスを含むアクセスユニットとの間に包含的に存在するアクセスユニットの1つに、存在してよい。HPSを参照する最初のスライスがIRAPピクチャの部分ではなく、HPSが帯域外で運ばれる場合に、HPSのデコーディング時間は、コーディングされたビデオシーケンスを開始するIRAPアクセスユニットのデコーディング時間と、そのスライスを含むアクセスユニットのデコーディング時間との間に包含的に存在してよい。 The HPS may include the ID of a sequence level parameter set such as SPS. If the SPS ID does not exist in the HPS, the following constraints may apply. The HPS may be present in an IRAP access unit if the first slice that references the HPS is part of an intra random access point (IRAP) picture and the HPS is carried in-band. If the first slice that references the HPS is part of an IRAP picture and the HPS is carried out-of-band, the decoding time of the HPS may be the same as that of the IRAP picture. If the first slice that refers to the HPS is not part of an IRAP picture and the HPS is carried in-band, the HPS is transmitted between the IRAP access unit that starts the coded video sequence and the access unit that contains that slice. may exist in one of the access units inclusively present in the access unit. If the first slice that references the HPS is not part of an IRAP picture and the HPS is carried out-of-band, the decoding time of the HPS is equal to the decoding time of the IRAP access unit that starts the coded video sequence and its It may exist inclusively between the decoding time of the access unit including the slice.

SPS IDがHPSに存在する場合に、次が適用されてよい。帯域内で提供される場合に、HPSは、HPSが、デコーディング順序において、HPSを参照する最初のスライスに先行する限りは、ビットストリームの最初に、又は如何なるコーディングされたシーケンスにも、存在してよい。そうでない場合には、HPSは、HPSのデコーディング時間が、HPSを参照する最初のスライスのデコーディング時間に満たない限りは、同じエントリに、又は時間同期されたトラックに、存在してよい。 If the SPS ID is present in the HPS, the following may apply: When provided in-band, the HPS is present at the beginning of the bitstream or in any coded sequence as long as the HPS precedes the first slice that references it in the decoding order. It's fine. Otherwise, the HPS may be present in the same entry or in time-synchronized tracks as long as the decoding time of the HPS is less than the decoding time of the first slice that references the HPS.

HPSに対するスライス参照については、次が適用されてよい。SPS IDがHPSに存在する場合に、各スライス及びそのスライスが参照するHPSは、同じSPSを参照してよい。そうでない場合に、スライスは、スライスが関連付けられているIRAPアクセスユニットに先行するアクセスユニットに存在するHPSを参照しなくてもよい。スライスはまた、スライスが関連付けられているIRAPアクセスユニットのデコーディング時間に満たないデコーディング時間を有しているHPSを参照することを制限されてもよい。 For slice references to HPS, the following may apply. If the SPS ID exists in the HPS, each slice and the HPS it references may reference the same SPS. Otherwise, the slice may not refer to HPSs present in access units that precede the IRAP access unit with which the slice is associated. A slice may also be restricted from referencing HPSs that have a decoding time that is less than the decoding time of the IRAP access unit with which the slice is associated.

HPSにおけるコーディングツールのパラメータの存在を特定するためにフラグを使用することに対する代替案として、2ビットインジケータが使用されてもよい(例えば、u(2)とコーディングされる)。インジケータのセマンティックは、次のように定義される。インジケータの1つの値(例えば、値0)は、パラメータがHPSに存在せず、他のHPSへの参照がパラメータを導出するために存在しないことを定める。インジケータの他の値(例えば、値1)は、パラメータがHPSに存在せず、他のHPSへの参照がパラメータを導出するために存在することを定める。インジケータの他の値(例えば、値2)は、パラメータがHPSに存在し、他のHPSへの参照が存在しないことを定める。インジケータの他の値は、リザーブされてよい。他の例では、インジケータの他の値(例えば、値3)は、パラメータがHPSに存在し、他のHPSへの参照がパラメータを導出するために存在することを定める。この場合に、最終的なパラメータは、HPSで明示的に通知されているパラメータと、参照HPSに存在するパラメータとからの入力により導出される。 As an alternative to using flags to identify the presence of coding tool parameters in the HPS, a 2-bit indicator may be used (eg, coded as u(2)). The semantics of the indicator is defined as follows. A value of one of the indicators (eg, a value of 0) defines that the parameter does not exist in the HPS and that no references to other HPSs exist to derive the parameter. Other values of the indicator (eg, a value of 1) define that the parameter does not exist in the HPS and that references to other HPSs exist to derive the parameter. Other values of the indicator (eg, value 2) define that the parameter exists in the HPS and there are no references to other HPSs. Other values of the indicator may be reserved. In other examples, other values of the indicator (eg, value 3) define that the parameter exists in the HPS and that references to other HPSs exist to derive the parameter. In this case, the final parameters are derived by input from the parameters explicitly signaled in the HPS and the parameters present in the reference HPS.

コーディングツールが、何らかの指示手段(例えば、シーケンスパラメータセット内のイネーブルフラグは、コーディングツールが無効にされることを定める)によって、コーディングされたビデオシーケンスについて無効にされると定められる場合に、次の制約が、個別的に又は組み合わせて適用されてよい。コーディングツールのためのパラメータの存在のフラグ又は指示、及びコーディングツールのためのパラメータは、コーディングされたビデオシーケンスに関連したHPSに存在しないことがある。コーディングツールのためのパラメータの存在のフラグ又は指示は存在するが、コーディングツールのためのパラメータが存在せず且つパラメータを導出及び/又は推測するための参照HPSが存在しないことを値が定めるように制約されることがある。 If the coding tool is defined to be disabled for the coded video sequence by some indicating means (e.g. an enable flag in the sequence parameter set specifies that the coding tool is disabled), then Constraints may be applied individually or in combination. A flag or indication of the presence of parameters for the coding tool and the parameters for the coding tool may not be present in the HPS associated with the coded video sequence. A flag or indication of the presence of a parameter for the coding tool is present, but the value specifies that the parameter for the coding tool is not present and there is no reference HPS for deriving and/or inferring the parameter. There may be restrictions.

コーディングツールのパラメータを含み得るHPSをスライスが参照する場合に、次の制約が、個別的に又は組み合わせて適用されてよい。コーディングツールがスライスに対して有効にされ、コーディングツールのパラメータがHPSで利用可能である場合に、コーディングツールのパラメータはスライスヘッダに存在しないことがある。これは、コーディングツールパラメータが直接に通知され、且つ/あるいは、HPSに存在するか、又は参照HPSを通じて利用可能である場合に、起こり得る。コーディングツールがスライスに対して有効にされ、コーディングツールのパラメータがHPSで利用可能でない場合に、コーディングツールのパラメータはスライスヘッダに存在してよい。これは、コーディングツールパラメータが直接に通知されず、且つ/あるいは、HPSで存在しないか、又は参照HPSを通じて利用可能でない場合に、起こり得る。コーディングツールがスライスに対して有効にされ、コーディングツールのパラメータがHPSで利用可能である場合に、コーディングツールのパラメータはまた、スライスヘッダに存在してもよい。これは、コーディングツールパラメータが直接に通知されたり、且つ/あるいは、HPSに存在したり、又は参照HPSを通じて利用可能あったりする場合に、起こり得る。この場合に、スライスのデコーディング中にコーディングツールを呼び出すために使用されるパラメータは、スライスヘッダに存在するものである。 The following constraints may be applied individually or in combination when a slice references an HPS that may include coding tool parameters. If a coding tool is enabled for a slice and the coding tool parameters are available in the HPS, the coding tool parameters may not be present in the slice header. This may occur if the coding tool parameters are communicated directly and/or are present in the HPS or available through a reference HPS. The coding tool parameters may be present in the slice header if the coding tool is enabled for a slice and the coding tool parameters are not available in the HPS. This may occur if the coding tool parameters are not directly communicated and/or are not present at the HPS or available through the reference HPS. The coding tool parameters may also be present in the slice header if the coding tool is enabled for the slice and the coding tool parameters are available in the HPS. This may occur if the coding tool parameters are communicated directly and/or are present in the HPS or available through a reference HPS. In this case, the parameters used to invoke the coding tool during slice decoding are those present in the slice header.

HPSの帯域内及び帯域外輸送の両方が使用される場合に、次が適用されてよい。HPSが帯域内で運ばれる場合に、HPSは、帯域外で運ばれる他のHPSを参照しなくてもよい。そうでない場合に、HPSは、帯域内で運ばれる他のHPSを参照しなくてもよい。 If both in-band and out-of-band transport of HPS are used, the following may apply. If an HPS is carried in-band, the HPS may not reference other HPSs carried out-of-band. Otherwise, the HPS may not reference other HPSs carried within the band.

HPSの帯域内及び帯域外輸送の両方が使用される場合に、次の制約が更に、個別的に又は組み合わせて適用されてもよい。帯域外で運ばれるHPSは、時間同期されたトラックでしか運ばれなくてもよい。HPSは、HPS更新が存在する場合にのみ帯域外で運ばれてよい。 If both in-band and out-of-band transport of HPS are used, the following constraints may also be applied individually or in combination. HPS carried out of band may only be carried in time-synchronized trucks. HPS may be carried out-of-band only when there are HPS updates.

最初に左ビットから、符号なし整数の0次Exp-Golombでコーディングされたシンタックス要素(ue(v))として、HPS IDをコーディングすることに代えて、HPS IDは、u(v)としてコーディングされてもよい。HPS IDを通知するためのビットの数は、SPSで指定されてよい。 Instead of coding the HPS ID as an unsigned integer zero-order Exp-Golomb coded syntax element (ue(v)) starting with the left bit first, the HPS ID is coded as u(v). may be done. The number of bits for reporting the HPS ID may be specified in the SPS.

同じコーディングされたビデオシーケンス内の2つのHPSは、同じHPS IDを有してよく、この場合に、次が適用されてよい。HPS A及びHPS Bが同じHPS IDを有し、HPS Bがデコーディング順序でHPS Aに続き、SPSがHPS IDを参照するIDを含むとき、その場合に、HPS BはHPS Aに取って代わる。HPS A及びHPS Bが同じHPS IDを有し、HPS Bのデコーディング時間がHPS Aのデコーディング時間よりも長く、SPSがHPS IDを参照するIDを含むとき、その場合に、HPS BはHPS Aに取って代わる。HPS A、HPS B、HPS C、及びHPS Dを、同じSPS IDを有することによる(例えば、SPS IDがHPSに存在する場合)か、又はHPSを含むアクセスユニットの関連付けによるかのどちらによって、同じコーディングされたビデオシーケンス内に含まれるHPSであるとする。HPS A及びHPS DのHPS IDが同じであり、HPS A、HPS B、及びHPS CのHPS IDが一意であるとき、HPS A、HPS B、及びHPS DのHPS IDの値は、単調に増大することに制約されてよい。HPSが他の参照HPSを参照し得るかどうかを指定するよう、フラグがSPSに存在してもよい。 Two HPSs within the same coded video sequence may have the same HPS ID, in which case the following may apply. When HPS A and HPS B have the same HPS ID, HPS B follows HPS A in decoding order, and SPS contains an ID that references the HPS ID, then HPS B replaces HPS A. . When HPS A and HPS B have the same HPS ID, HPS B's decoding time is longer than HPS A's decoding time, and SPS contains an ID that references the HPS ID, then HPS B Replaces A. HPS A, HPS B, HPS C, and HPS D must be the same, either by having the same SPS ID (e.g., if the SPS ID is present in the HPS) or by association of the access unit containing the HPS. Let it be the HPS contained within the coded video sequence. When the HPS IDs of HPS A and HPS D are the same, and the HPS IDs of HPS A, HPS B, and HPS C are unique, the values of the HPS IDs of HPS A, HPS B, and HPS D monotonically increase. You may be restricted in what you do. A flag may be present in the SPS to specify whether the HPS may refer to other reference HPSs.

HPS間の参照が許されない場合に、スライスヘッダは、同じHPS又は異なるHPSへの複数の参照を有してよい。この場合に、次が適用されてよい。HPS参照は、スライスについて有効にされるコーディングツールごとに存在してよく、コーディングツールのパラメータはHPSから推測され得る。スライスが、コーディングツールのパラメータを推測するためにHPSを参照する場合に、コーディングツールのパラメータはそのHPSに存在すべきである。 If cross-HPS references are not allowed, a slice header may have multiple references to the same HPS or different HPSs. In this case the following may apply: A HPS reference may exist for each coding tool that is enabled for a slice, and the parameters of the coding tool may be inferred from the HPS. If a slice references an HPS to infer coding tool parameters, the coding tool parameters should be present in that HPS.

コーディングツールのパラメータがHPSに存在せず、他のHPSへの参照がそのパラメータに対して存在する場合に、パラメータはその参照HPSに存在すべきである。HPSは、異なるコーディングされたビデオシーケンスからの他のHPSを参照しなくてもよい。SPS IDがHPSに存在する場合には、現在のHPS及び対応する参照HPSの両方のSPS IDの値は同じでなければならない。そうでない場合には、HPSは、デコーディング順序でHPSに先行する最後のIRAPアクセスユニットに先行するアクセスユニットに存在する他のHPSを参照しなくてもよい。HPSはまた、デコーディング順序でHPSに先行する最後のIRAPアクセスユニット、又はHPSのデコーディング時間に最も近く且つそれに満たないデコーディング時間を有する最後のIRAPアクセスユニットのデコーディング時間に満たないデコーディング時間を有する他のHPSを参照しなくてもよい。 If a parameter of a coding tool is not present in the HPS and a reference to another HPS exists for that parameter, then the parameter should be present in that reference HPS. HPSs may not reference other HPSs from different coded video sequences. If the SPS ID exists in the HPS, the value of the SPS ID in both the current HPS and the corresponding reference HPS must be the same. Otherwise, the HPS may not refer to other HPSs present in access units that precede the last IRAP access unit that precedes the HPS in decoding order. The HPS also has a decoding time that is less than the decoding time of the last IRAP access unit that precedes the HPS in the decoding order, or the last IRAP access unit that is closest to and has a decoding time that is less than the decoding time of the HPS. There is no need to refer to other HPSs that have time.

HPSが他のHPSを参照する場合に、参照HPSのHPS IDは、そのHPSのHPS IDより小さくなければならない。SPS IDがいずれかのHPSに存在する場合に、HPS A、HPS B、HPS C、及びHPS Dは全て同じSPS IDを有してよい。HPS Bがデコーディング順序でHPS Aに続き、HPS Cがデコーディング順序でHPS Bに続き、HPS Dがデコーディング順序でHPS Cに続く場合に、次の制約が、個別的に又は組み合わせて適用されてよい。HPS CがHPS Aを参照する場合に、HPS BのHPS IDは、HPS AのHPS IDと同じでなくてもよい。HPS BがHPS Aを参照し、HPS CがHPS Aと同じHPS IDを有するとき、その場合に、HPS Dは、HPS AもHPS Bも参照しなくてよい。HPS B及びHPS Aが同じHPS IDを有する場合に、HPS Aを参照するデコーディング順序でHPS Bに続くスライスは存在しなくてもよい。HPS BがHPS Aを参照し、HPS CがHPS Aと同じHPS IDを有する場合に、HPS A又はHPS Bのどちらか一方を参照するデコーディング順序でHPS Cに続くスライスは存在しなくてもよい。 When an HPS references another HPS, the HPS ID of the reference HPS must be smaller than the HPS ID of that HPS. HPS A, HPS B, HPS C, and HPS D may all have the same SPS ID if the SPS ID exists in either HPS. The following constraints apply individually or in combination if HPS B follows HPS A in decoding order, HPS C follows HPS B in decoding order, and HPS D follows HPS C in decoding order. It's okay to be. If HPS C references HPS A, HPS B's HPS ID may not be the same as HPS A's HPS ID. When HPS B references HPS A and HPS C has the same HPS ID as HPS A, then HPS D need not reference either HPS A or HPS B. If HPS B and HPS A have the same HPS ID, there may be no slice following HPS B in decoding order that references HPS A. If HPS B references HPS A and HPS C has the same HPS ID as HPS A, even if there is no slice following HPS C in decoding order that references either HPS A or HPS B. good.

時間スケーラビリティが使用される場合に、HPSの時間的IDは次のように指定されてよい。HPSの時間的IDが、そのHPSを含むアクセスユニットの時間的IDと同じであるようセットされてよい。一例では、HPSの時間的IDは、そのHPSを参照する最初のスライスのピクチャの時間的IDと同じであるようセットされてよい。 If temporal scalability is used, the temporal ID of the HPS may be specified as follows. The temporal ID of an HPS may be set to be the same as the temporal ID of the access unit containing the HPS. In one example, the temporal ID of an HPS may be set to be the same as the temporal ID of the picture of the first slice that references that HPS.

時間的ID(Tid)Aを有するピクチャ内のスライスは、TidBがTidAよりも大きい場合に、ID TidBを有するHPSを参照しなくてもよい。TidAを有するHPSは、TidBがTidAよりも大きい場合に、TidBを有する参照HPSを参照しなくてもよい。TidAを有するHPSは、TidAがTidBよりも大きい場合に、TidBを有する他のHPSに取って代わらなくてもよい。 A slice in a picture with temporal ID (Tid) A may not reference the HPS with ID TidB if TidB is greater than TidA. The HPS with TidA may not refer to the reference HPS with TidB if TidB is greater than TidA. An HPS with TidA may not replace another HPS with TidB if TidA is greater than TidB.

シーケンスレベルパラメータ(例えば、SPS)内のフラグは、スライスがHPSへの参照を有するかどうかを特定するよう存在してよい。フラグの値は、1に等しくセットされる場合に、スライスがHPSを参照することを定め、そして、HPS IDがスライスのヘッダに存在することを定めてよい。フラグの値は、0に等しくセットされる場合に、スライスがHPSを参照しないこと、及びHPS IDがスライスのヘッダに存在しないことを定めてよい。 A flag in the sequence level parameter (eg, SPS) may be present to specify whether a slice has a reference to HPS. The value of the flag, when set equal to 1, may define that the slice references an HPS and that the HPS ID is present in the header of the slice. The value of the flag, when set equal to 0, may define that the slice does not reference an HPS and that the HPS ID is not present in the slice's header.

上記の態様は、次のシンタックスに従って実装されてよい。

Figure 0007354241000001
The above aspects may be implemented according to the following syntax.
Figure 0007354241000001

hps_present_flagは、hps_idがスライスヘッダに存在することを定めるよう1に等しくセットされ得る。hps_present_flagは、hps_idがスライスヘッダに存在しないことを定めるよう0に等しくセットされ得る。

Figure 0007354241000002
hps_present_flag may be set equal to 1 to define that hps_id is present in the slice header. hps_present_flag may be set equal to 0 to define that hps_id is not present in the slice header.
Figure 0007354241000002

header_parameter_set_idは、他のシンタックス要素によって参照のためのHPSを識別してよい。hdr_parameter_set_idの値は、0以上63以下の範囲にあってよい。hps_seq_parameter_set_idは、アクティブSPSのためのsps_seq_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、0以上15以下の範囲にあってよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在することを定めるよう2に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在しないが、alf_ref_hps_id[header_parameter_set_id]によって指定された参照HPSに存在するalf_data( )と同じであると推測されることを定めるよう1に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )もalf_ref_hps_id[header_parameter_set_id]もHPSに存在しないことを定めるよう0に等しくセットされてよい。3に等しいalf_parameters_idc[header_parameter_set_id]の値は、リザーブされてよい。alf_ref_hps_id[header_parameter_set_id]は、alf_data( )の値を推測するための参照HPSのheader_parameter_set_idを指定してよい。 header_parameter_set_id may identify the HPS for reference by other syntax elements. The value of hdr_parameter_set_id may be in the range of 0 to 63. hps_seq_parameter_set_id specifies the value of sps_seq_parameter_set_id for the active SPS. The value of pps_seq_parameter_set_id may be in the range of 0 to 15. alf_parameters_idc[header_parameter_set_id] may be set equal to 2 to define that alf_data( ) exists in the HPS. alf_parameters_idc[header_parameter_set_id] is the alf_data( ) that does not exist in the HPS, but exists in the reference HPS specified by alf_ref_hps_id[header_parameter_set_id] set equal to 1 to specify that it is assumed to be the same as ta( ) good. alf_parameters_idc[header_parameter_set_id] may be set equal to 0 to define that neither alf_data( ) nor alf_ref_hps_id[header_parameter_set_id] is present in the HPS. The value of alf_parameters_idc[header_parameter_set_id] equal to 3 may be reserved. alf_ref_hps_id[header_parameter_set_id] may specify the header_parameter_set_id of the reference HPS for inferring the value of alf_data( ).

例となるビットストリーム適合性検査は、次の制約が適用されることを必要としてよい。存在する場合に、alf_ref_hps_id[header_parameter_set_id]の値は、header_parameter_set_idの値よりも小さくてよい。現在のHPS内及びalf_ref_hps_id[header_parameter_set_id]によって指定されているHPS内のhps_seq_parameter_set_idの値は、同じであってよい。alf_parameters_idc[alf_ref_hps_id[header_parameter_set_id]]の値は、2に等しくてよい。 An example bitstream conformance check may require the following constraints to be applied. If present, the value of alf_ref_hps_id[header_parameter_set_id] may be smaller than the value of header_parameter_set_id. The value of hps_seq_parameter_set_id in the current HPS and in the HPS specified by alf_ref_hps_id[header_parameter_set_id] may be the same. The value of alf_parameters_idc[alf_ref_hps_id[header_parameter_set_id]] may be equal to 2.

hpsAに等しいheader_parameter_set_idを有するHPS A、hpsBに等しいheader_parameter_set_idを有するHPS B、hpsCに等しいheader_parameter_set_idを有するHPS C、及び現在のHPSを考えると、次の条件が真である場合に、alf_ref_hps_id[header_parameter_set_id]の値は、hpsA又はhpsBに等しくなくてもよい。このような条件は、HPS Aがデコーディング順序でHPS Bに先行し、HPS Bがデコーディング順序でHPS Cに先行し、HPS Cがデコーディング順序で現在のHPSに先行することである。このような条件はまた、alf_ref_id[hpsB]の値がhpsAに等しく、且つ、hpsCの値がhpsAに等しいことを含む。

Figure 0007354241000003
Given HPS A with header_parameter_set_id equal to hpsA, HPS B with header_parameter_set_id equal to hpsB, HPS C with header_parameter_set_id equal to hpsC, and the current HPS: alf_ref_hps_id[header_parameter_set_id] if the following conditions are true: The value need not be equal to hpsA or hpsB. Such conditions are that HPS A precedes HPS B in decoding order, HPS B precedes HPS C in decoding order, and HPS C precedes the current HPS in decoding order. Such conditions also include that the value of alf_ref_id[hpsB] is equal to hpsA and the value of hpsC is equal to hpsA.
Figure 0007354241000003

slice_hps_idは、スライスが参照するHPSのheader_parameter_set_idを指定する。slice_hps_idが存在しない場合に、alf_parameters_idc[slice_hps_id]は、0に等しいと推測される。例となるビットストリーム適合性検査は、次の制約が適用されることを必要としてよい。slice_hps_idに等しいheader_parameter_set_idを有するHPSは、スライスヘッダのパーシングより前に利用可能でなければならない。slice_hps_idに等しいheader_parameter_set_idを有するHPSが帯域内で利用可能である場合に、header_parameter_set_idは、次のアクセスユニットの1つに存在すべきである。現在のスライスのピクチャに関連するIRAPアクセスユニット、又はIRAPアクセスユニットに続くが、デコーディング順序で現在のアクセスユニットに先行するいずれかのアクセスユニット、又は現在のアクセスユニット、である。hpsAに等しいheader_parameter_set_idを有するHPS A、hpsBに等しいheader_parameter_set_idを有するHPS B、hpsCに等しいheader_parameter_set_idを有するHPS C、及び現在のスライスを考えると、次の条件の両方が真であるとき、その場合に、slice_hps_idの値は、hpsA又はhpsBに等しくなければならない。条件は、HPS Aがデコーディング順序でHPS Bに先行し、HPS Bがデコーディング順序でHPS Cに先行し、HPS Cがデコーディング順序で現在のスライスに先行することを含む。条件はまた、alf_ref_id[hpsB]の値がhpsAに等しく、且つ、hpsCの値がhpsAに等しいことも含む。 slice_hps_id specifies the header_parameter_set_id of the HPS that the slice refers to. If slice_hps_id does not exist, alf_parameters_idc[slice_hps_id] is assumed to be equal to 0. An example bitstream conformance check may require the following constraints to be applied. The HPS with header_parameter_set_id equal to slice_hps_id must be available prior to parsing of the slice header. If a HPS with header_parameter_set_id equal to slice_hps_id is available in-band, header_parameter_set_id should be present in one of the next access units. The IRAP access unit associated with the picture of the current slice, or any access unit that follows the IRAP access unit but precedes the current access unit in decoding order, or the current access unit. Given HPS A with header_parameter_set_id equal to hpsA, HPS B with header_parameter_set_id equal to hpsB, HPS C with header_parameter_set_id equal to hpsC, and the current slice, When both conditions are true, then The value of slice_hps_id must be equal to hpsA or hpsB. The conditions include that HPS A precedes HPS B in decoding order, HPS B precedes HPS C in decoding order, and HPS C precedes the current slice in decoding order. The conditions also include that the value of alf_ref_id[hpsB] is equal to hpsA and the value of hpsC is equal to hpsA.

他の例となる実施は、以下で説明される。

Figure 0007354241000004
Other example implementations are described below.
Figure 0007354241000004

alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在することを定めるよう2に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )がHPSに存在しないが、alf_ref_hps_id[header_parameter_set_id]によって指定された参照HPSに存在するalf_data( )と同じであると推測されることを定めるよう1に等しくセットされてよい。alf_parameters_idc[header_parameter_set_id]は、alf_data( )もalf_ref_hps_id[header_parameter_set_id]もHPSに存在しないことを定めるよう0に等しくセットされてよい。存在しない場合に、lf_parameters_idc[header_parameter_set_id]は、0に等しいと推測されてよい。3に等しいalf_parameters_idc[header_parameter_set_id]の値は、リザーブされてよい。 alf_parameters_idc[header_parameter_set_id] may be set equal to 2 to define that alf_data( ) exists in the HPS. alf_parameters_idc[header_parameter_set_id] is the alf_data( ) that does not exist in the HPS, but exists in the reference HPS specified by alf_ref_hps_id[header_parameter_set_id] set equal to 1 to specify that it is assumed to be the same as ta( ) good. alf_parameters_idc[header_parameter_set_id] may be set equal to 0 to define that neither alf_data( ) nor alf_ref_hps_id[header_parameter_set_id] is present in the HPS. If absent, lf_parameters_idc[header_parameter_set_id] may be assumed to be equal to 0. The value of alf_parameters_idc[header_parameter_set_id] equal to 3 may be reserved.

他の例となる実施は、以下で説明される。 Other example implementations are described below.

スライスヘッダは複数のHPSを参照してよい。ピクチャのスライスは、ALFパラメータのためのHPS(例えば、pic_alf_HPS_id_luma[i])、LMCSパラメータのためのHPS(例えば、pic_lmcs_aps_id)、及びスケーリングリストパラメータのためのHPS(例えば、pic_scaling_list_aps_id)を参照することができる。pic_alf_aps_id_luma[i]は、PHに関連したスライスのルーマ成分が参照するi番目のALF HPSのadaptation_parameter_set_idを指定する。slice_alf_aps_id_luma[i]は、スライスのルーマ成分が参照するi番目のALF HPSのadaptation_parameter_set_idを指定する。ALF_APSに等しいaps_params_typeと、slice_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idとを有するHPS NALユニットの時間的IDは、コーディングされたスライスNALユニットの時間的ID以下でなければならない。slice_alf_enabled_flagが1に等しく、slice_alf_aps_id_luma[i]が存在しない場合に、slice_alf_aps_id_luma[i]の値は、pic_alf_aps_id_luma[i]の値に等しいと推測される。pic_lmcs_aps_idは、PHに関連したスライスが参照するLMCS HPSのadaptation_parameter_set_idを指定する。LMCS_APSに等しいaps_params_typeと、pic_lmcs_aps_idに等しいadaptation_parameter_set_idとを有するHPS NALユニットの時間的IDは、PHに関連したピクチャの時間的ID以下でなければならない。pic_scaling_list_aps_idは、スケーリングリストHPSのadaptation_parameter_set_idを指定する。SCALING_APSに等しいaps_params_typeと、pic_scaling_list_aps_idに等しいadaptation_parameter_set_idとを有するHPS NALユニットの時間的IDは、PHに関連したピクチャの時間的ID以下でなければならない。 A slice header may reference multiple HPSs. A slice of a picture may refer to the HPS for ALF parameters (e.g., pic_alf_HPS_id_luma[i]), the HPS for LMCS parameters (e.g., pic_lmcs_aps_id), and the HPS for scaling list parameters (e.g., pic_scaling_list_aps_id). can. pic_alf_aps_id_luma[i] specifies the adaptation_parameter_set_id of the i-th ALF HPS referenced by the luma component of the slice associated with the PH. slice_alf_aps_id_luma[i] specifies the adaptation_parameter_set_id of the i-th ALF HPS referenced by the luma component of the slice. The temporal ID of an HPS NAL unit with aps_params_type equal to ALF_APS and adaptation_parameter_set_id equal to slice_alf_aps_id_luma[i] must be less than or equal to the temporal ID of the coded slice NAL unit. The value of slice_alf_aps_id_luma[i] is inferred to be equal to the value of pic_alf_aps_id_luma[i] if slice_alf_enabled_flag is equal to 1 and slice_alf_aps_id_luma[i] is not present. pic_lmcs_aps_id specifies the adaptation_parameter_set_id of the LMCS HPS referenced by the slice associated with the PH. The temporal ID of an HPS NAL unit with aps_params_type equal to LMCS_APS and adaptation_parameter_set_id equal to pic_lmcs_aps_id must be less than or equal to the temporal ID of the picture associated with the PH. pic_scaling_list_aps_id specifies adaptation_parameter_set_id of scaling list HPS. The temporal ID of an HPS NAL unit with aps_params_type equal to SCALING_APS and adaptation_parameter_set_id equal to pic_scaling_list_aps_id must be less than or equal to the temporal ID of the picture associated with the PH.

HPS NALユニットの時間的IDは、HPSを含むアクセスユニット(AU)と同じでなければならない。HPS NALユニットの時間的IDは、HPSを参照するコーディングされたスライスNALユニットの時間的ID以下でなければならない。具体例では、非VCL NALユニットの時間的IDの値は、次のように制約される。nal_unit_typeがDPS_NUT、VPS_NUT、又はSPS_NUTに等しい場合に、時間的IDは0に等しくなければならず、NALユニットを含むAUの時間的IDは0に等しくなければならない。そうではなく、nal_unit_typeがPH_NUTに等しい場合に、時間的IDは、NALユニットを含むPUの時間的IDに等しくなければならない。そうではなく、nal_unit_typeがEOS_NUT又はEOB_NUTに等しい場合に、時間的IDは0に等しくなければならない。そうではなく、nal_unit_typeがAUD_NUT、FD_NUT、PREFIX_SEI_NUT、又はSUFFIX_SEI_NUTに等しい場合に、時間的IDは、NALユニットを含むAUの時間的IDに等しくなければならない。そうではなく、nal_unit_typeがPPS_NUT、PREFIX_APS_NUT、又はSUFFIX_APS_NUTに等しい場合に、時間的IDは、NALユニットを含むPUの時間的ID以上でなければならない。NALユニットが非VCL NALユニットである場合に、時間的IDの値は、非VCL NALユニットが適用される全てのAUの時間的ID値のうちの最小値に等しい。nal_unit_typeがPPS_NUT、PREFIX_APS_NUT、又はSUFFIX_APS_NUTに等しい場合に、時間的IDは、全てのPPS及びHPSがビットストリームの最初に含まれ得るということで(例えば、それらが帯域外で輸送され、受信器がそれらをビットストリームの最初に置く場合)、包含AUの時間的ID以上であってよく、このとき、最初のコーディングされたピクチャは0に等しい時間的IDを有する。 The temporal ID of the HPS NAL unit must be the same as the access unit (AU) containing the HPS. The temporal ID of the HPS NAL unit must be less than or equal to the temporal ID of the coded slice NAL unit that references the HPS. In a specific example, the value of the temporal ID of a non-VCL NAL unit is constrained as follows. If nal_unit_type is equal to DPS_NUT, VPS_NUT, or SPS_NUT, the temporal ID must be equal to 0, and the temporal ID of the AU containing the NAL unit must be equal to 0. Otherwise, if nal_unit_type is equal to PH_NUT, then the temporal ID must be equal to the temporal ID of the PU containing the NAL unit. Otherwise, the temporal ID must be equal to 0 if nal_unit_type is equal to EOS_NUT or EOB_NUT. Otherwise, if nal_unit_type is equal to AUD_NUT, FD_NUT, PREFIX_SEI_NUT, or SUFFIX_SEI_NUT, then the temporal ID must be equal to the temporal ID of the AU containing the NAL unit. Otherwise, if nal_unit_type is equal to PPS_NUT, PREFIX_APS_NUT, or SUFFIX_APS_NUT, then the temporal ID must be greater than or equal to the temporal ID of the PU containing the NAL unit. If the NAL unit is a non-VCL NAL unit, the value of the temporal ID is equal to the minimum value of the temporal ID values of all AUs to which the non-VCL NAL unit applies. If nal_unit_type is equal to PPS_NUT, PREFIX_APS_NUT, or SUFFIX_APS_NUT, the temporal ID means that all PPSs and HPSs may be included at the beginning of the bitstream (e.g., if they are transported out-of-band and the receiver at the beginning of the bitstream), it may be greater than or equal to the temporal ID of the containing AU, in which case the first coded picture has a temporal ID equal to 0.

図7は、例となるビデオコーディングデバイス700の概略図である。ビデオコーディングデバイス700は、ここで記載されている開示された例/実施形態を実装するのに適している。ビデオコーディングデバイス700は、下流ポート720、上流ポート750、及び/又は、ネットワーク上で上流及び/又は下流へデータを通信する送信器及び/又は受信器を含むトランシーバユニット(Tx/Rx)710を有する。ビデオコーディングデバイス700はまた、データを処理するための論理ユニット及び/又は中央演算処理装置(CPU)を含むプロセッサ730と、データを記憶するメモリ732とを含む。ビデオコーディングデバイス700はまた、電気、光、又は無線通信ネットワークを介したデータの通信のために上流ポート750及び/又は下流ポート720へ結合された電気的な光電気(OE)コンポーネント、電気光(EO)コンポーネント、及び/又は無線通信コンポーネントを有してもよい。ビデオコーディングデバイス700はまた、ユーザへ及びユーザからデータを通信する入力及び/又は出力(I/O)デバイス760を含んでもよい。I/Oデバイス760は、ビデオデータを表示するディスプレイ、オーディオデータを出力するスピーカ等のような出力デバイスを含んでもよい。I/Oデバイス760はまた、キーボード、マウス、トラックボール等の入力デバイス、及び/又はそのような出力デバイスと相互作用する対応するインターフェースを含んでもよい。 FIG. 7 is a schematic diagram of an example video coding device 700. Video coding device 700 is suitable for implementing the disclosed examples/embodiments described herein. Video coding device 700 has a downstream port 720, an upstream port 750, and/or a transceiver unit (Tx/Rx) 710 that includes a transmitter and/or receiver to communicate data upstream and/or downstream on the network. . Video coding device 700 also includes a processor 730 that includes a logic unit and/or a central processing unit (CPU) for processing data, and memory 732 for storing data. Video coding device 700 also includes an electrical opto-electrical (OE) component coupled to upstream port 750 and/or downstream port 720 for communication of data via an electrical, optical, or wireless communication network. EO) component and/or a wireless communication component. Video coding device 700 may also include input and/or output (I/O) devices 760 that communicate data to and from users. I/O devices 760 may include output devices such as a display to display video data, speakers to output audio data, and the like. I/O devices 760 may also include input devices such as a keyboard, mouse, trackball, and/or corresponding interfaces for interacting with such output devices.

プロセッサ730は、ハードウェア及びソフトウェアによって実装される。プロセッサ730は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールド・プログラマブル・ゲート・アレイ(Field-Programmable Gate Arrays,FPGA)、特定用途向け集積回路(Application Specific Integrated Circuits,ASIC)、及びデジタル信号プロセッサ(Digital Signal Processors,DSP)として実装されてよい。プロセッサ730は、下流ポート720、Tx/Rx710、上流ポート750、及びメモリ732と通信する。プロセッサ730は、コーディングモジュール714を有する。コーディングモジュール714は、ビットストリーム500及び/又はメカニズム600を用い得る方法100、800、及び900等の、上述された開示されている実施形態を実装する。コーディングモジュール714はまた、ここで記載されている如何なる他の方法/メカニズムも実装してよい。更に、コーディングモジュール714は、コーデックシステム200、エンコーダ300、及び/又はデコーダ400を実装してよい。例えば、コーディングモジュール714は、ビットストリームにおいてピクチャをエンコーディング/デコーディングし、且つ、複数のHPSにおいてピクチャのスライスに関連したパラメータをエンコーディング/デコーディングすることができる。様々なタイプのHPSが、対応するタイプのコーディングツールパラメータとともに含まれ得る。スライスヘッダは、その場合に、対応するスライスのためのコーディングツールパラメータを取得するよう様々なタイプのHPSを参照することができる。このようなHPSはまた、時間スケーリングアルゴリズムにより機能するよう時間的IDを割り当てられ得る。HPSの利用は、複数のスライスによって用いられるコーディングツールパラメータが(例えば、パラメータが変化する場合に追加のHPSを用いて)単一の位置に集められることを可能にする。従って、冗長なシグナリングは除かれ、これは、コーディング効率を高め、ビットストリームを記憶する場合のメモリ資源利用を低減し、且つ、ビットストリームを通信する場合のネットワーク資源利用を低減する。従って、コーディングモジュール714は、ビデオコーディングデバイス700に、ビデオデータをコーディングする場合に更なる機能性及び/又はコーディング効率を提供させる。そのようなものとして、コーディングモジュール714は、ビデオコーディング技術に特有である問題に対処することに加えて、ビデオコーディングデバイス700の機能性も改善する。更に、コーディングモジュール714は、異なる状態へのビデオコーディングデバイス700の変形を達成する。代替的に、コーディングモジュール714は、メモリ732に記憶されておりプロセッサ730によって実行される命令として(例えば、非一時的な媒体に記憶されているコンピュータプログラム製品として)実行され得る。 Processor 730 is implemented by hardware and software. Processor 730 may include one or more CPU chips, cores (eg, as a multi-core processor), field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc. , and digital signal processors (DSPs). Processor 730 communicates with downstream port 720, Tx/Rx 710, upstream port 750, and memory 732. Processor 730 has a coding module 714. Coding module 714 implements the disclosed embodiments described above, such as methods 100, 800, and 900 that may use bitstream 500 and/or mechanism 600. Coding module 714 may also implement any other methods/mechanisms described herein. Further, coding module 714 may implement codec system 200, encoder 300, and/or decoder 400. For example, coding module 714 can encode/decode pictures in a bitstream and encode/decode parameters associated with slices of pictures in multiple HPSs. Various types of HPS may be included with corresponding types of coding tool parameters. The slice header may then reference various types of HPS to obtain coding tool parameters for the corresponding slice. Such a HPS may also be assigned a temporal ID to function with a temporal scaling algorithm. Utilization of HPS allows coding tool parameters used by multiple slices to be collected in a single location (eg, with additional HPS if the parameters change). Therefore, redundant signaling is eliminated, which increases coding efficiency, reduces memory resource usage when storing the bitstream, and reduces network resource usage when communicating the bitstream. Accordingly, coding module 714 allows video coding device 700 to provide additional functionality and/or coding efficiency when coding video data. As such, coding module 714, in addition to addressing issues inherent in video coding techniques, also improves the functionality of video coding device 700. Additionally, coding module 714 accomplishes transformation of video coding device 700 into different states. Alternatively, coding module 714 may be executed as instructions stored in memory 732 and executed by processor 730 (eg, as a computer program product stored on a non-transitory medium).

メモリ732は、ディスク、テープドライブ、ソリッドステートドライブ、リード・オンリー・メモリ(Read Only Memory,ROM)、ランダム・アクセス・メモリ(Random Access Memory,RAM)、フラッシュメモリ、三値連想メモリ(Ternary Content-Addressable Memory,TCAM)、静的ランダム・アクセス・メモリ(Static Random-Access Memory,SRAM)等のような1つ以上のメモリタイプを有する。メモリ732は、プログラムが実行のために選択される場合にそのようなプログラムを記憶するために、且つ、プログラム実行中に読み出される命令及びデータを記憶するために、オーバーフローデータ記憶デバイスとして使用されてよい。 The memory 732 includes a disk, tape drive, solid state drive, read only memory ( ROM), random access memory ( RAM), flash memory, and ternary content addressable memory ( Ternary Content- Associative Memory). One or more memory types, such as Addressable Memory ( TCAM), Static Random-Access Memory ( SRAM), etc. Memory 732 is used as an overflow data storage device to store programs when they are selected for execution and to store instructions and data that are read during program execution. good.

図8は、HPSを使用することによって、ビットストリーム500等のビットストリーム内にビデオシーケンスをエンコーディングするための、例となる方法800のフローチャートである。方法800は、方法100を実行する場合に、コーデックシステム200、エンコーダ300、及び/又はビデオコーディングデバイス700等のエンコーダによって用いられてよい。方法800はまた、デコーダ400等のデコーダでメカニズム600に従って時間スケーリングをサポートするよう、ビットストリームをエンコーディングしてもよい。 FIG. 8 is a flowchart of an example method 800 for encoding a video sequence into a bitstream, such as bitstream 500, by using HPS. Method 800 may be used by an encoder, such as codec system 200, encoder 300, and/or video coding device 700, when performing method 100. Method 800 may also encode the bitstream to support temporal scaling according to mechanism 600 at a decoder, such as decoder 400.

方法800は、エンコーダが複数の画像を含むビデオシーケンスを受信する場合に開始してよく、例えば、ユーザ入力に基づいて、そのビデオシーケンスをビットストリーム内にエンコーディングすると決定する。ビデオシーケンスは、エンコーディングの前に更なるパーティション化のためにピクチャ/画像/フレームにパーティション化される。ステップ801で、複数のピクチャは、第1スライスを含む複数のスライスにパーティション化される。 Method 800 may begin when an encoder receives a video sequence that includes multiple images and determines to encode the video sequence into a bitstream, eg, based on user input. The video sequence is partitioned into pictures/images/frames for further partitioning before encoding. At step 801, pictures are partitioned into slices, including a first slice.

ステップ803で、第1スライスを含む複数のスライスは、ビットストリーム内にエンコーディングされる。スライスは、複数のコーディングツールパラメータによってエンコーディングされてよい。いくつかの例では、スライスは、少なくとも、第1タイプのコーディングツール及び第2タイプのコーディングツールによって、エンコーディングされる。具体的に、スライスは、第1タイプのコーディングツールパラメータに基づいて第1タイプのコーディングツールによってエンコーディングされる。スライスはまた、第2タイプのコーディングツールパラメータに基づいて第2タイプのコーディングツールによってもエンコーディングされる。例えば、このようなコーディングツールは、ALFコーディングツール、LMCSコーディングツール、及び/又はスケーリングリストパラメータコーディングツールを含んでよい。 At step 803, the plurality of slices, including the first slice, are encoded into a bitstream. A slice may be encoded by multiple coding tool parameters. In some examples, the slice is encoded by at least a first type of coding tool and a second type of coding tool. Specifically, the slices are encoded by a first type of coding tool based on first type of coding tool parameters. The slices are also encoded by a second type of coding tool based on second type of coding tool parameters. For example, such coding tools may include ALF coding tools, LMCS coding tools, and/or scaling list parameter coding tools.

ステップ805で、複数のHPSがビットストリーム内にエンコーディングされる。複数のHPSは、少なくとも第1HPS及び第2HPSを含んでよい。第1HPS及び第2HPSは、夫々、ステップ803でスライスをエンコーディングするために用いられる第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを含む。 At step 805, multiple HPSs are encoded into the bitstream. The plurality of HPSs may include at least a first HPS and a second HPS. The first HPS and the second HPS each include a first type of coding tool parameter and a second type of coding tool parameter used to encode the slice in step 803.

ステップ807で、第1スライスヘッダがビットストリーム内にエンコーディングされる。第1スライスヘッダは、デコーダでのデコーディングをサポートするよう複数のスライスの中の第1スライスのエンコーディングを記述する。例えば、第1スライスヘッダは、第1HPSに対する第1参照と、第2HPSに対する第2参照とを含んでよい。従って、スライスヘッダは、異なるタイプの複数のHPSからコーディングツールパラメータを引き継いでよい。これは、そのようなコーディングツールパラメータがスライスヘッダから省略されることを可能にし、冗長なコーディングツールパラメータのシグナリングを低減することによってビットストリームのコーディング効率を向上させる。具体例として、第1HPS及び第2HPSは、ALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含んでよい。 At step 807, a first slice header is encoded into the bitstream. The first slice header describes the encoding of the first slice among the plurality of slices to support decoding at the decoder. For example, the first slice header may include a first reference to a first HPS and a second reference to a second HPS. Thus, a slice header may inherit coding tool parameters from multiple HPSs of different types. This allows such coding tool parameters to be omitted from the slice header, improving bitstream coding efficiency by reducing redundant coding tool parameter signaling. As a specific example, the first HPS and the second HPS may include an ALF HPS, a LMCS HPS, a scaling list parameter HPS, or a combination thereof.

HPSに関連したコーディング方法の複雑性を低減するために、HPSは、他のHPSで保存されているコーディングツールパラメータを参照することを制限されてよい。従って、第1HPS及び第2HPSを含む、ステップ805でエンコーディングされた複数のHPSは、複数のHPSの中の他のHPSからのコーディングツールパラメータを参照することを制限される。また、HPSは、各HPSに時間的IDを含めることによって時間スケーリングをサポートするようエンコーディングされてもよい。一例では、第1HPSは、時間的IDに関連したアクセスユニットに含まれる。更に、第1HPSは、第1HPSを含むアクセスユニットに関連する同じ時間的IDを含む。他の例では、第1スライスは第1ピクチャからパーティション化され、第1ピクチャは時間的IDに関連する。この例では、第1HPSは、ピクチャに関連した時間的IDを含む。更に、時間スケーリングをサポートするために、複数のHPSの夫々及びスライスの夫々は、複数の時間的IDのうちの1つに関連する。更に、第1時間的IDを有する各スライスは、第1時間的IDよりも大きい(例えば、より高いフレームレートに関連している)第2時間的IDを有する如何なるHPSも参照することを制限される。これは、より低いフレームレートに関連したスライスが、より高いフレームレートに関連したHPSを、そのようなHPSが、時間スケーリングメカニズムに従って、より低いフレームレートが用いられる場合に、無視されるということで、参照しないことを確かにする。 To reduce the complexity of coding methods associated with HPSs, HPSs may be restricted from referencing coding tool parameters stored in other HPSs. Accordingly, the HPSs encoded in step 805, including the first HPS and the second HPS, are restricted from referencing coding tool parameters from other HPSs among the HPSs. HPSs may also be encoded to support temporal scaling by including a temporal ID in each HPS. In one example, the first HPS is included in the access unit associated with the temporal ID. Additionally, the first HPS includes the same temporal ID associated with the access unit that includes the first HPS. In other examples, the first slice is partitioned from a first picture, and the first picture is associated with a temporal ID. In this example, the first HPS includes a temporal ID associated with the picture. Further, to support temporal scaling, each of the plurality of HPSs and each of the slices is associated with one of a plurality of temporal IDs. Additionally, each slice with a first temporal ID is restricted from referencing any HPS with a second temporal ID that is larger (e.g., associated with a higher frame rate) than the first temporal ID. Ru. This means that slices associated with lower frame rates will have HPS associated with higher frame rates, such HPS will be ignored if lower frame rates are used according to the temporal scaling mechanism. , make sure you don't reference it.

ステップ809で、ビットストリームはメモリに記憶される。要求時に、ビットストリームは次いで、例えば、送信器により、デコーダへ送られ得る。 At step 809, the bitstream is stored in memory. Upon request, the bitstream may then be sent to a decoder, eg, by a transmitter.

図9は、HPSを使用することによって、ビットストリーム500等のビットストリームからビデオシーケンスをデコーディングするための、例となる方法900のフローチャートである。方法900は、方法100を実行する場合に、コーデックシステム200、デコーダ400、及び/又はビデオコーディングデバイス700等のデコーダによって用いられてよい。方法900の結果はまた、デコーダでメカニズム600に従って時間スケーリングをサポートするために用いられてもよい。方法900は、エンコーダ300等のエンコーダからビットストリームを受信することに応答して用いられてよく、従って、方法900は、方法800に応答して用いられてよい。 FIG. 9 is a flowchart of an example method 900 for decoding a video sequence from a bitstream, such as bitstream 500, by using HPS. Method 900 may be used by a decoder, such as codec system 200, decoder 400, and/or video coding device 700, when performing method 100. The results of method 900 may also be used in a decoder to support temporal scaling according to mechanism 600. Method 900 may be used in response to receiving a bitstream from an encoder, such as encoder 300, and thus method 900 may be used in response to method 800.

方法900は、デコーダが、例えば、方法800の結果として、ビデオシーケンスを表すコーディングされたデータのビットストリームを受信し始める場合に、開始してよい。ステップ910で、ビットストリームがデコーダで受信される。ビットストリームは、第1HPS及び第2HPSを含む複数のHPSを有する。第1HPSは第1タイプのHPSであり、第1タイプのコーディングツールパラメータを含む。第2HPSは第2タイプのHPSであり、第2タイプのコーディングツールパラメータを含む。ビットストリームはまた、スライスヘッダと、スライスヘッダに関連したスライスとを含む。 Method 900 may begin when a decoder begins to receive a bitstream of coded data representing a video sequence, eg, as a result of method 800. At step 910, a bitstream is received at a decoder. The bitstream has multiple HPS including a first HPS and a second HPS. The first HPS is a first type of HPS and includes a first type of coding tool parameters. The second HPS is a second type of HPS and includes a second type of coding tool parameters. The bitstream also includes a slice header and slices associated with the slice header.

ステップ903で、デコーダは、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する。従って、スライスヘッダは、異なるタイプの複数のHPSからコーディングツールパラメータを引き継いでよい。これは、そのようなコーディングツールパラメータがスライスヘッダから省略されることを可能にし、冗長なコーディングツールパラメータのシグナリングを低減することによってビットストリームのコーディング効率を向上させる。具体例として、第1HPS及び第2HPSは、ALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含んでよい。 At step 903, the decoder determines that the slice header includes a first reference to a first HPS and a second reference to a second HPS. Thus, a slice header may inherit coding tool parameters from multiple HPSs of different types. This allows such coding tool parameters to be omitted from the slice header, improving bitstream coding efficiency by reducing redundant coding tool parameter signaling. As a specific example, the first HPS and the second HPS may include an ALF HPS, a LMCS HPS, a scaling list parameter HPS, or a combination thereof.

ステップ905で、デコーダは、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングすることができる。HPSに関連したコーディング方法の複雑性を低減するために、HPSは、他のHPSに保存されているコーディングツールパラメータを参照することを制限されてよい。従って、第1HPS及び第2HPSを含む、ステップ901でビットストリームにおいて受信された複数のHPSは、複数のHPSの中の他のHPSからコーディングツールパラメータを参照することを制限される。また、HPSは、各HPSに時間的IDを含めることによって時間スケーリングをサポートするようコーディングされてもよい。一例では、第1HPSは、時間的IDに関連したアクセスユニットに含まれる。更に、第1HPSは、第1HPSを含むアクセスユニットに関連する同じ時間的IDを含む。他の例では、第1スライスは第1ピクチャからパーティション化され、第1ピクチャは時間的IDに関連する。この例では、第1HPSは、ピクチャに関連した時間的IDを含む。更に、時間スケーリングをサポートするために、複数のHPSの夫々及びスライスの夫々は、複数の時間的IDのうちの1つに関連する。更に、第1時間的IDを有する各スライスは、第1時間的IDよりも大きい(例えば、より高いフレームレートに関連している)第2時間的IDを有する如何なるHPSも参照することを制限される。これは、より低いフレームレートに関連したスライスが、より高いフレームレートに関連したHPSを、そのようなHPSが、時間スケーリングメカニズムに従って、より低いフレームレートが用いられる場合に、無視されるということで、参照しないことを確かにする。 At step 905, the decoder decodes the slice using the first type of coding tool parameter and the second type of coding tool parameter based on the determination that the slice header includes the first reference and the second reference. I can do it. To reduce the complexity of coding methods associated with HPSs, HPSs may be restricted from referencing coding tool parameters stored in other HPSs. Accordingly, the HPSs received in the bitstream at step 901, including the first HPS and the second HPS, are restricted from referencing coding tool parameters from other HPSs among the HPSs. HPSs may also be coded to support temporal scaling by including a temporal ID in each HPS. In one example, the first HPS is included in the access unit associated with the temporal ID. Additionally, the first HPS includes the same temporal ID associated with the access unit that includes the first HPS. In other examples, the first slice is partitioned from a first picture, and the first picture is associated with a temporal ID. In this example, the first HPS includes a temporal ID associated with the picture. Further, to support temporal scaling, each of the plurality of HPSs and each of the slices is associated with one of a plurality of temporal IDs. Additionally, each slice with a first temporal ID is restricted from referencing any HPS with a second temporal ID that is larger (e.g., associated with a higher frame rate) than the first temporal ID. Ru. This means that slices associated with lower frame rates will have HPS associated with higher frame rates, such HPS will be ignored if lower frame rates are used according to the temporal scaling mechanism. , make sure you don't reference it.

ステップ907で、デコーダは、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送することができる。 At step 907, the decoder may forward the slices for display as part of the decoded video sequence.

図10は、HPSを使用することによって、ビットストリーム500等のビットストリームにおいて画像のビデオシーケンスをコーディングするための、例となるシステム1000の概略図である。システム1000は、コーデックシステム200、エンコーダ300、デコーダ400、及び/又はビデオコーディングデバイス700等のエンコーダ及びデコーダによって実装されてよい。更に、システム1000は、方法100、800、及び/又は900を実装する場合に用いられてもよい。その上、システム1000は、メカニズム600に関連して説明されたように時間スケーリングをサポートするために用いられてもよい。 FIG. 10 is a schematic diagram of an example system 1000 for coding a video sequence of images in a bitstream, such as bitstream 500, by using HPS. System 1000 may be implemented by encoders and decoders, such as codec system 200, encoder 300, decoder 400, and/or video coding device 700. Additionally, system 1000 may be used in implementing methods 100, 800, and/or 900. Additionally, system 1000 may be used to support temporal scaling as described in connection with mechanism 600.

システム1000は、ビデオエンコーダ1002を含む。ビデオエンコーダ1002は、複数のピクチャを複数のスライスにパーティション化するパーティション化モジュール1001を有する。ビデオエンコーダ1002は、複数のスライスをビットストリーム内にエンコーディングするエンコーディングモジュール1003を更に有し、このとき、スライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツールと、第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールとによって、エンコーディングされる。エンコーディングモジュール1003は更に、第1HPS及び第2HPSをビットストリーム内にエンコーディングするためのものであり、第1HPSは第1タイプのコーディングツールパラメータを含み、第2HPSは第2タイプのコーディングツールパラメータを含む。エンコーディングモジュール1003は更に、複数のスライスのうちの第1スライスのエンコーディングを記述する第1スライスヘッダをビットストリーム内にエンコーディングするためのものであり、このとき、第1スライスヘッダは、第1HPSに対する第1参照及び第2HPSに対する第2参照を含む。ビデオエンコーダ1002は、デコーダへの通信のためにビットストリームを記憶する記憶モジュール1005を更に有する。ビデオエンコーダ1002は、第1タイプのコーディングツール及び第2タイプのコーディングツールに基づいてデコーダでスライスをデコーディングすることをサポートするよう、第1HPS及び第2HPSを含むビットストリームを送信する送信モジュール1007を更に有する。ビデオエンコーダ1002は、方法800のステップのいずれかを実行するよう更に構成されてもよい。 System 1000 includes a video encoder 1002. Video encoder 1002 has a partitioning module 1001 that partitions pictures into slices. The video encoder 1002 further comprises an encoding module 1003 for encoding a plurality of slices into the bitstream, wherein the slices are encoded by at least a first type of coding tool based on the first type of coding tool parameters and a second type of coding tool based on the first type of coding tool parameters. and a second type of coding tool based on the type of coding tool parameters. The encoding module 1003 is further for encoding a first HPS and a second HPS into the bitstream, where the first HPS includes a first type of coding tool parameters and the second HPS includes a second type of coding tool parameters. The encoding module 1003 is further for encoding into the bitstream a first slice header that describes the encoding of a first slice of the plurality of slices, where the first slice header is a first slice header for a first HPS. 1 reference and a second reference to a second HPS. Video encoder 1002 further includes a storage module 1005 that stores the bitstream for communication to the decoder. The video encoder 1002 includes a transmitting module 1007 that transmits a bitstream including a first HPS and a second HPS to support decoding the slice at a decoder based on a first type of coding tool and a second type of coding tool. Furthermore, it has Video encoder 1002 may be further configured to perform any of the steps of method 800.

システム1000はまた、ビデオデコーダ1010も含む。ビデオデコーダ1010は、第1タイプのコーディングツールパラメータを含む第1HPS、第2タイプのコーディングツールパラメータを含む第2HPS、スライスヘッダ、及びスライスヘッダに関連したスライスを有するビットストリームを受信する受信モジュール1011を有する。ビデオデコーダ1010は、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する決定モジュール1013を更に有する。ビデオデコーダ1010は、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングするデコーディングモジュール1015を更に有する。ビデオデコーダ1010は、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送する転送モジュール1017を更に有する。ビデオデコーダ1010は、方法900のステップのいずれかを実行するよう更に構成されてもよい。 System 1000 also includes a video decoder 1010. The video decoder 1010 includes a receiving module 1011 that receives a bitstream having a first HPS including coding tool parameters of a first type, a second HPS including coding tool parameters of a second type, a slice header, and a slice associated with the slice header. has. Video decoder 1010 further comprises a determination module 1013 that determines that the slice header includes a first reference to a first HPS and a second reference to a second HPS. Video decoder 1010 includes a decoding module that decodes the slice using a first type of coding tool parameter and a second type of coding tool parameter based on determining that the slice header includes a first reference and a second reference. 1015. Video decoder 1010 further includes a transfer module 1017 for transferring slices for display as part of a decoded video sequence. Video decoder 1010 may be further configured to perform any of the steps of method 900.

第1コンポーネントと第2コンポーネントとの間のライン、トレース、又は他の媒体を除いて、介在するコンポーネントがない場合に、第1コンポーネントは第2コンポーネントへ直接に結合される。第1コンポーネントと第2コンポーネントとの間にライン、トレース、又は他の媒体以外の他の介在するコンポーネントがある場合に、第1コンポーネントは第2コンポーネントへ間接的に結合される。「結合される」との用語及びその変形は、直接に結合されること及び間接的に結合されることの両方を含む。「約」との用語の使用は、別なふうに述べられない限りは、それに続く数の±10%を含む範囲を意味する。 The first component is coupled directly to the second component in the absence of intervening components, except for lines, traces, or other media between the first and second components. A first component is indirectly coupled to a second component when there is another intervening component other than a line, trace, or other medium between the first component and the second component. The term "coupled" and variations thereof include both directly coupled and indirectly coupled. The use of the term "about", unless stated otherwise, means a range that includes ±10% of the number that follows.

ここで説明されている例となる方法のステップは、必ずしも、記載されている順序で実行される必要はないことが理解されるべきであり、そのような方法のステップの順序は、単なる例示にすぎないと理解されるべきである。同様に、そのような方法には追加のステップが含まれてもよく、特定のステップは、本開示の様々な実施形態に従う方法において、削除又は結合されてもよい。 It should be understood that the steps of the example methods described herein do not necessarily have to be performed in the order presented, and the order of the steps of such methods is for illustrative purposes only. It should be understood that it is not too much. Similarly, such methods may include additional steps, and certain steps may be deleted or combined in methods according to various embodiments of this disclosure.

いくつかの実施形態が本開示で提供されているが、開示されているシステム及び方法は、本開示の精神又は範囲から逸脱せずに、多数の他の具体的な形態で具現されてよいことが理解され得る。本例は、限定としてではなく実例として見なされるべきであり、意図は、ここで与えられている詳細に限定されるべきではない。例えば、様々な要素又はコンポーネントは、他のシステムに結合又は統合されてよく、あるいは、特定の特徴は省略されても又は実施されなくてもよい。 Although several embodiments are provided in this disclosure, the disclosed systems and methods may be embodied in numerous other specific forms without departing from the spirit or scope of this disclosure. can be understood. This example is to be regarded as illustrative rather than limiting, and there is no intent to be limited to the details provided herein. For example, various elements or components may be combined or integrated with other systems, or certain features may be omitted or not implemented.

更に、別個又は別々なものとして様々な実施形態で記載及び例示されている技術、システム、サブシステム、及び方法は、本開示の範囲から外れずに、他のシステム、コンポーネント、技術、又は方法と結合又は統合されてもよい。変更、置換、及び代替の他の例は、当業者によって確かめられ、ここで開示されている精神及び範囲から逸脱せずに行われ得る。 Moreover, the techniques, systems, subsystems, and methods described and illustrated in various embodiments as separate or separate may be combined with other systems, components, techniques, or methods without departing from the scope of this disclosure. May be combined or integrated. Other examples of changes, substitutions, and substitutions will be ascertained by those skilled in the art and may be made without departing from the spirit and scope disclosed herein.

Claims (22)

デコーダで実施される方法であって、
前記デコーダの受信器によって、第1タイプのコーディングツールパラメータを含む第1パラメータセットと、第2タイプのコーディングツールパラメータを含む第2パラメータセットと、スライスヘッダと、前記スライスヘッダに関連したスライスを表すデータとを有するビットストリームを受信することと、
前記デコーダのプロセッサによって、前記スライスヘッダが前記第1パラメータセットに対する第1参照及び前記第2パラメータセットに対する第2参照を含むことを決定することと、
前記プロセッサによって、前記スライスヘッダが前記第1参照及び前記第2参照を含むとの前記決定に基づいて、前記スライスを表す前記データ、前記第1タイプのコーディングツールパラメータ及び前記第2タイプのコーディングツールパラメータを用いて前記スライスをデコーディングすることと
を有し、
前記ビットストリームは、前記第1パラメータセット及び前記第2パラメータセットを含む複数のパラメータセットを有し、第1時間的IDを有する前記スライスは、前記第1時間的IDよりも大きい第2時間的IDを有する如何なるパラメータセットも参照することを制限される、方法。
A method implemented in a decoder, the method comprising:
a first parameter set comprising a first type of coding tool parameters, a second parameter set comprising a second type of coding tool parameters, a slice header, and a slice associated with the slice header; receiving a bitstream having data;
determining, by a processor of the decoder, that the slice header includes a first reference to the first parameter set and a second reference to the second parameter set;
the data representing the slice, the first type of coding tool parameters and the second type of coding tool based on the determination by the processor that the slice header includes the first reference and the second reference; decoding the slice using parameters;
The bitstream has a plurality of parameter sets including the first parameter set and the second parameter set, and the slice having a first temporal ID has a second temporal ID larger than the first temporal ID. A method that is restricted from referencing any parameter set that has an ID.
当該方法は、前記プロセッサによって、デコーディングされたビデオシーケンスの部分として表示のために前記スライスを転送することを更に有する、
請求項1に記載の方法。
The method further comprises transmitting, by the processor, the slice for display as part of a decoded video sequence.
The method according to claim 1.
前記第1パラメータセットは、適応ループフィルタ(ALF)パラメータセット、クロマスケーリング付きルーママッピング(LMCS)パラメータセット、スケーリングリストパラメータパラメータセット、又はこれらの組み合わせを含む、
請求項1又は2に記載の方法。
The first parameter set includes an adaptive loop filter (ALF) parameter set, a luma mapping with chroma scaling (LMCS) parameter set, a scaling list parameter parameter set, or a combination thereof.
The method according to claim 1 or 2.
前記第2パラメータセットは、適応ループフィルタ(ALF)パラメータセット、クロマスケーリング付きルーママッピング(LMCS)パラメータセット、スケーリングリストパラメータパラメータセット、又はこれらの組み合わせを含む、
請求項1乃至3のうちいずれか一項に記載の方法。
The second parameter set includes an adaptive loop filter (ALF) parameter set, a luma mapping with chroma scaling (LMCS) parameter set, a scaling list parameter parameter set, or a combination thereof.
A method according to any one of claims 1 to 3.
前記ビットストリームは、前記第1パラメータセット及び前記第2パラメータセットを含む複数のパラメータセットを有し、前記複数のパラメータセットの夫々は、前記複数のパラメータセット内の他のパラメータセットからのコーディングツールパラメータを参照することを制限される、
請求項1乃至4のうちいずれか一項に記載の方法。
The bitstream has a plurality of parameter sets including the first parameter set and the second parameter set, and each of the plurality of parameter sets includes a coding tool from another parameter set within the plurality of parameter sets. be restricted from viewing parameters,
A method according to any one of claims 1 to 4.
前記第1パラメータセットは、時間的識別子(ID)に関連したアクセスユニットに含まれ、前記第1パラメータセットは、前記第1パラメータセットを含む前記アクセスユニットに関連した前記時間的IDを含む、
請求項1乃至5のうちいずれか一項に記載の方法。
the first parameter set is included in an access unit associated with a temporal identifier (ID), the first parameter set includes the temporal ID associated with the access unit including the first parameter set;
A method according to any one of claims 1 to 5.
前記スライスは、ピクチャの部分であり、前記ピクチャは、時間的識別子(ID)に関連し、前記第1パラメータセットは、前記ピクチャに関連した前記時間的IDを含む、
請求項1乃至6のうちいずれか一項に記載の方法。
The slice is a portion of a picture, the picture is associated with a temporal identifier (ID), and the first parameter set includes the temporal ID associated with the picture.
A method according to any one of claims 1 to 6.
エンコーダで実施される方法であって、
前記エンコーダのプロセッサによって、複数のピクチャを複数のスライスにパーティション化することと、
前記プロセッサによって、前記複数のスライスをビットストリーム内にエンコーディングすることであり、前記複数のスライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツール及び第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールによって、エンコーディングされる、ことと、
前記プロセッサによって、第1パラメータセット及び第2パラメータセットを前記ビットストリーム内にエンコーディングすることであり、前記第1パラメータセットは、前記第1タイプのコーディングツールパラメータを含み、前記第2パラメータセットは、前記第2タイプのコーディングツールパラメータを含む、ことと、
前記プロセッサによって、前記複数のスライスのうちの第1スライスのエンコーディングを記述するスライスヘッダを前記ビットストリーム内にエンコーディングすることであり、前記スライスヘッダは、前記第1パラメータセットに対する第1参照及び前記第2パラメータセットに対する第2参照を含む、ことと
を有し、
前記ビットストリームは、前記第1パラメータセット及び前記第2パラメータセットを含む複数のパラメータセットを有し、第1時間的IDを有する前記スライスは、前記第1時間的IDよりも大きい第2時間的IDを有する如何なるパラメータセットも参照することを制限される、方法。
A method implemented in an encoder, the method comprising:
partitioning a plurality of pictures into a plurality of slices by a processor of the encoder;
encoding, by the processor, the plurality of slices into a bitstream, the plurality of slices comprising at least a first type of coding tool based on a first type of coding tool parameter and a second type of coding tool parameter. encoded by a second type of coding tool based on
encoding, by the processor, a first parameter set and a second parameter set into the bitstream, the first parameter set including the first type of coding tool parameters, and the second parameter set comprising: comprising the second type of coding tool parameters;
encoding, by the processor, into the bitstream a slice header describing an encoding of a first slice of the plurality of slices, the slice header including a first reference to the first parameter set and a first reference to the first parameter set; 2, comprising a second reference to the set of parameters; and
The bitstream has a plurality of parameter sets including the first parameter set and the second parameter set, and the slice having a first temporal ID has a second temporal ID larger than the first temporal ID. A method that is restricted from referencing any parameter set that has an ID.
当該方法は、前記プロセッサへ結合されているメモリによって、デコーダへの通信のために前記ビットストリームを記憶することを更に有する、
請求項8に記載の方法。
The method further comprises storing the bitstream for communication to a decoder by a memory coupled to the processor.
The method according to claim 8.
前記第1パラメータセットは、適応ループフィルタ(ALF)パラメータセット、クロマスケーリング付きルーママッピング(LMCS)パラメータセット、スケーリングリストパラメータパラメータセット、又はこれらの組み合わせを含む、
請求項8又は9に記載の方法。
The first parameter set includes an adaptive loop filter (ALF) parameter set, a luma mapping with chroma scaling (LMCS) parameter set, a scaling list parameter parameter set, or a combination thereof.
The method according to claim 8 or 9.
前記第2パラメータセットは、適応ループフィルタ(ALF)パラメータセット、クロマスケーリング付きルーママッピング(LMCS)パラメータセット、スケーリングリストパラメータパラメータセット、又はこれらの組み合わせを含む、
請求項8乃至10のうちいずれか一項に記載の方法。
The second parameter set includes an adaptive loop filter (ALF) parameter set, a luma mapping with chroma scaling (LMCS) parameter set, a scaling list parameter parameter set, or a combination thereof.
A method according to any one of claims 8 to 10.
前記プロセッサによって、複数のパラメータセットを前記ビットストリーム内にエンコーディングすることを有し、
前記複数のパラメータセットは、前記第1パラメータセット及び前記第2パラメータセットを含み、前記複数のパラメータセットの夫々は、前記複数のパラメータセット内の他のパラメータセットからのコーディングツールパラメータを参照することを制限される、
請求項8乃至11のうちいずれか一項に記載の方法。
encoding a plurality of parameter sets into the bitstream by the processor;
The plurality of parameter sets include the first parameter set and the second parameter set, and each of the plurality of parameter sets references coding tool parameters from other parameter sets within the plurality of parameter sets. be restricted,
A method according to any one of claims 8 to 11.
前記第1パラメータセットは、時間的識別子(ID)に関連したアクセスユニットに含まれ、前記第1パラメータセットは、前記第1パラメータセットを含む前記アクセスユニットに関連した前記時間的IDを含む、
請求項8乃至12のうちいずれか一項に記載の方法。
the first parameter set is included in an access unit associated with a temporal identifier (ID), the first parameter set includes the temporal ID associated with the access unit including the first parameter set;
13. A method according to any one of claims 8 to 12.
前記第1スライスは、第1ピクチャからパーティション化され、前記第1ピクチャは、時間的識別子(ID)に関連し、前記第1パラメータセットは、前記ピクチャに関連した前記時間的IDを含む、
請求項8乃至13のうちいずれか一項に記載の方法。
The first slice is partitioned from a first picture, the first picture is associated with a temporal identifier (ID), and the first parameter set includes the temporal ID associated with the picture.
14. A method according to any one of claims 8 to 13.
プロセッサと、
前記プロセッサへ結合されている受信器と、
前記プロセッサへ結合されているメモリと、
前記プロセッサへ結合されている送信器と
を有し、
前記プロセッサ、受信器、メモリ、及び送信器は、請求項1乃至14のうちいずれか一項に記載の方法を実行するよう構成される、
ビデオコーディングデバイス。
a processor;
a receiver coupled to the processor;
a memory coupled to the processor;
a transmitter coupled to the processor;
The processor, receiver, memory and transmitter are configured to perform a method according to any one of claims 1 to 14,
video coding device.
プロセッサによって実行される場合に、該プロセッサに、請求項1乃至14のうちいずれか一項に記載の方法を実行させるコンピュータプログラム。 15. A computer program product which, when executed by a processor, causes the processor to perform the method according to any one of claims 1 to 14. 第1タイプのコーディングツールパラメータを含む第1パラメータセットと、第2タイプのコーディングツールパラメータを含む第2パラメータセットと、スライスヘッダと、前記スライスヘッダに関連したスライスを表すデータとを有するビットストリームを受信するよう構成される受信ユニットと、
前記スライスヘッダが前記第1パラメータセットに対する第1参照及び前記第2パラメータセットに対する第2参照を含むことを決定するよう構成される決定ユニットと、
前記スライスヘッダが前記第1参照及び前記第2参照を含むとの前記決定に基づいて、前記スライスを表す前記データ、前記第1タイプのコーディングツールパラメータ及び前記第2タイプのコーディングツールパラメータを用いて前記スライスをデコーディングするよう構成されるデコーディングユニットと
を有し、
前記ビットストリームは、前記第1パラメータセット及び前記第2パラメータセットを含む複数のパラメータセットを有し、第1時間的IDを有する前記スライスは、前記第1時間的IDよりも大きい第2時間的IDを有する如何なるパラメータセットも参照することを制限される、デコーダ。
A bitstream having a first parameter set including a first type of coding tool parameters, a second parameter set including a second type of coding tool parameters, a slice header, and data representing a slice associated with the slice header. a receiving unit configured to receive;
a determining unit configured to determine that the slice header includes a first reference to the first parameter set and a second reference to the second parameter set;
based on the determination that the slice header includes the first reference and the second reference, using the data representing the slice, the first type of coding tool parameter and the second type of coding tool parameter. a decoding unit configured to decode the slice;
The bitstream has a plurality of parameter sets including the first parameter set and the second parameter set, and the slice having a first temporal ID has a second temporal ID larger than the first temporal ID. A decoder restricted to refer to any parameter set with an ID.
当該デコーダは、デコーディングされたビデオシーケンスの部分として表示のために前記スライスを転送するよう構成される転送ユニットを更に有する、
請求項17に記載のデコーダ。
The decoder further comprises a transfer unit configured to transfer the slices for display as part of a decoded video sequence.
A decoder according to claim 17.
複数のピクチャを複数のスライスにパーティション化するよう構成されるパーティション化ユニットと、
前記複数のスライスをビットストリーム内にエンコーディングし、前記複数のスライスは、少なくとも、第1タイプのコーディングツールパラメータに基づく第1タイプのコーディングツール及び第2タイプのコーディングツールパラメータに基づく第2タイプのコーディングツールによって、エンコーディングされ、
第1パラメータセット及び第2パラメータセットを前記ビットストリーム内にエンコーディングし、前記第1パラメータセットは、前記第1タイプのコーディングツールパラメータを含み、前記第2パラメータセットは、前記第2タイプのコーディングツールパラメータを含み、
前記複数のスライスのうちの第1スライスのエンコーディングを記述するスライスヘッダを前記ビットストリーム内にエンコーディングし、前記スライスヘッダは、前記第1パラメータセットに対する第1参照及び前記第2パラメータセットに対する第2参照を含む、よう構成されるエンコーディングユニットと
を有し、
前記ビットストリームは、前記第1パラメータセット及び前記第2パラメータセットを含む複数のパラメータセットを有し、第1時間的IDを有する前記スライスは、前記第1時間的IDよりも大きい第2時間的IDを有する如何なるパラメータセットも参照することを制限される、エンコーダ。
a partitioning unit configured to partition a plurality of pictures into a plurality of slices;
encoding the plurality of slices into a bitstream, the plurality of slices being encoded with at least a first type of coding tool based on a first type of coding tool parameter and a second type of coding based on a second type of coding tool parameter. encoded by the tool,
encoding a first parameter set and a second parameter set into the bitstream, the first parameter set including the first type of coding tool parameters, and the second parameter set including the second type of coding tool parameters; contains parameters,
Encoding a slice header in the bitstream that describes an encoding of a first slice of the plurality of slices, the slice header having a first reference to the first parameter set and a second reference to the second parameter set. an encoding unit configured to include and
The bitstream has a plurality of parameter sets including the first parameter set and the second parameter set, and the slice having a first temporal ID has a second temporal ID larger than the first temporal ID. An encoder that is restricted from referencing any parameter set that has an ID.
当該エンコーダは、デコーダへの通信のために前記ビットストリームを記憶するよう構成される記憶ユニットを更に有する、
請求項19に記載のエンコーダ。
The encoder further comprises a storage unit configured to store the bitstream for communication to a decoder.
Encoder according to claim 19.
請求項1乃至14のうちいずれか一項に記載の方法を実行する処理回路を有するビデオコーディングデバイス。 Video coding device comprising a processing circuit for performing the method according to any one of claims 1 to 14. 請求項16に記載のコンピュータプログラムを記憶している非一時的なコンピュータ可読媒体。 17. A non-transitory computer readable medium storing a computer program according to claim 16.
JP2021524075A 2018-11-07 2019-11-06 Video encoder, video decoder, and corresponding method Active JP7354241B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023122177A JP2023156358A (en) 2018-11-07 2023-07-27 Decoding method and device, and encoding method and device, and non-temporal computer readable medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862756983P 2018-11-07 2018-11-07
US62/756,983 2018-11-07
PCT/US2019/060113 WO2020097232A1 (en) 2018-11-07 2019-11-06 Header parameter set for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023122177A Division JP2023156358A (en) 2018-11-07 2023-07-27 Decoding method and device, and encoding method and device, and non-temporal computer readable medium

Publications (2)

Publication Number Publication Date
JP2022506623A JP2022506623A (en) 2022-01-17
JP7354241B2 true JP7354241B2 (en) 2023-10-02

Family

ID=70611094

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021524075A Active JP7354241B2 (en) 2018-11-07 2019-11-06 Video encoder, video decoder, and corresponding method
JP2023122177A Pending JP2023156358A (en) 2018-11-07 2023-07-27 Decoding method and device, and encoding method and device, and non-temporal computer readable medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023122177A Pending JP2023156358A (en) 2018-11-07 2023-07-27 Decoding method and device, and encoding method and device, and non-temporal computer readable medium

Country Status (8)

Country Link
US (1) US20210258598A1 (en)
EP (1) EP3864842A4 (en)
JP (2) JP7354241B2 (en)
KR (2) KR20240091060A (en)
CN (2) CN113056911A (en)
BR (1) BR112021008659A2 (en)
MX (1) MX2021005355A (en)
WO (1) WO2020097232A1 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2020213583B2 (en) 2019-02-01 2023-06-01 Beijing Bytedance Network Technology Co., Ltd. Signaling of in-loop reshaping information using parameter sets
CA3128424C (en) 2019-02-01 2024-04-16 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and inter coding tools
CN113366848A (en) 2019-02-02 2021-09-07 北京字节跳动网络技术有限公司 Buffer reset for intra block copy in video coding
WO2020156538A1 (en) 2019-02-03 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interaction between mv precisions and mv difference coding
JP7263529B2 (en) 2019-02-14 2023-04-24 北京字節跳動網絡技術有限公司 Size selection application for decoder-side refinement tools
WO2020177659A1 (en) 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Direction-based prediction for intra block copy in video coding
JP7405861B2 (en) 2019-03-01 2023-12-26 北京字節跳動網絡技術有限公司 Direction-based prediction for intra block copy in video coding
CN117640927A (en) 2019-03-04 2024-03-01 北京字节跳动网络技术有限公司 Implementation aspects in intra block replication in video codec
KR20210134771A (en) * 2019-03-08 2021-11-10 지티이 코포레이션 Signaling parameter sets in digital video
CN117499644A (en) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 Signaling and syntax of loop shaping information
KR20210139272A (en) 2019-03-23 2021-11-22 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Restrictions on Adaptive Loop Filtering Parameter Sets
WO2020204413A1 (en) * 2019-04-03 2020-10-08 엘지전자 주식회사 Video or image coding for correcting restoration picture
CN113826386B (en) 2019-05-11 2023-10-24 北京字节跳动网络技术有限公司 Selective use of codec tools in video processing
KR20220024142A (en) * 2019-06-24 2022-03-03 인터디지털 브이씨 홀딩스 인코포레이티드 Method and apparatus for signaling decoded data using high level syntax elements
CN114270852A (en) * 2019-07-08 2022-04-01 Lg电子株式会社 Video or image coding based on signaling of zoom list data
JP7359934B2 (en) 2019-07-10 2023-10-11 北京字節跳動網絡技術有限公司 Sample identification for intra block copying in video coding
CN117560490A (en) 2019-07-27 2024-02-13 北京字节跳动网络技术有限公司 Restriction of use of tools according to reference picture types
TW202118300A (en) * 2019-09-24 2021-05-01 法商內數位Vc控股法國公司 Homogeneous syntax
WO2021068954A1 (en) 2019-10-12 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. High level syntax for video coding tools
US11451811B2 (en) * 2020-04-05 2022-09-20 Tencent America LLC Method and apparatus for video coding
US11750815B2 (en) 2020-09-17 2023-09-05 Lemon, Inc. Versatile video coding track coding
US12041246B2 (en) * 2020-10-06 2024-07-16 Samsung Electronics Co., Ltd. Access of essential video coding (EVC) slices in a file
US11611752B2 (en) * 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding
WO2024079334A1 (en) * 2022-10-13 2024-04-18 Telefonaktiebolaget Lm Ericsson (Publ) Video encoder and video decoder
CN117492702B (en) * 2023-12-29 2024-04-02 成都凯迪飞研科技有限责任公司 Conversion method of data streams at large end and small end

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272372A1 (en) 2012-04-16 2013-10-17 Nokia Corporation Method and apparatus for video coding
US20130343465A1 (en) 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US20180124400A1 (en) 2015-04-17 2018-05-03 Vid Scale, Inc. Chroma enhancement filtering for high dynamic range video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2051527A1 (en) * 2007-10-15 2009-04-22 Thomson Licensing Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
CN103096054B (en) * 2011-11-04 2015-07-08 华为技术有限公司 Video image filtering processing method and device thereof
WO2013109505A2 (en) * 2012-01-19 2013-07-25 Vid Scale, Inc. Methods, apparatus and systems for signaling video coding adaptation parameters
US9351016B2 (en) * 2012-04-13 2016-05-24 Sharp Kabushiki Kaisha Devices for identifying a leading picture
US9813705B2 (en) * 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
US9635369B2 (en) * 2012-07-02 2017-04-25 Qualcomm Incorporated Video parameter set including HRD parameters
WO2015101716A1 (en) * 2014-01-03 2015-07-09 Nokia Technologies Oy Parameter set coding
WO2021055114A1 (en) * 2019-09-20 2021-03-25 Alibaba Group Holding Limited Method and system for signaling chroma quantization parameter offset
CN114600462A (en) * 2019-10-25 2022-06-07 夏普株式会社 System and method for signaling picture information in video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272372A1 (en) 2012-04-16 2013-10-17 Nokia Corporation Method and apparatus for video coding
JP2015518683A (en) 2012-04-16 2015-07-02 ノキア コーポレイション Video encoding method and apparatus
US20130343465A1 (en) 2012-06-26 2013-12-26 Qualcomm Incorporated Header parameter sets for video coding
US20180124400A1 (en) 2015-04-17 2018-05-03 Vid Scale, Inc. Chroma enhancement filtering for high dynamic range video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Akira Minezawa, et.al.,On partial updating of APS parameters[online], JCTVC-H JCTVC-H0255_r3,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H0255-v4.zip>,2013年12月20日,1-12
Brian Heng, Minhua Zhou, Wade Wan, Peng Yin, Hendry, Seethal Paluri, Jie Zhao, Jaehyun Lim, Seung Hwan Kim, Woong Il Choi, Kwang Pyo Choi, Kiho Choi,AHG17: Design for signallilng reshaper model [online], JVET-N JVET-N0805-v1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N0805-v1.zip>,2020年11月12日,1-4
Ming LI, et.al.,Using Multiple APSs for Quantization Matrix Parameters Signaling[online], JCTVC-G JCTVC-G1026,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G1026-v1.zip>,2013年11月08日,1-6
Ye-Kui Wang, et.al.,On semantics of temporal_id and related[online], JCTVC-I JCTVC-I0600,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0600-v1.zip>,2014年01月24日,1-3

Also Published As

Publication number Publication date
US20210258598A1 (en) 2021-08-19
EP3864842A1 (en) 2021-08-18
JP2022506623A (en) 2022-01-17
KR20240091060A (en) 2024-06-21
JP2023156358A (en) 2023-10-24
WO2020097232A1 (en) 2020-05-14
CN114189694A (en) 2022-03-15
EP3864842A4 (en) 2021-12-08
CN114189694B (en) 2022-11-08
CN113056911A (en) 2021-06-29
KR20210080533A (en) 2021-06-30
MX2021005355A (en) 2021-06-30
KR102670878B1 (en) 2024-05-29
BR112021008659A2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
JP7354241B2 (en) Video encoder, video decoder, and corresponding method
US11889030B2 (en) Adaptation parameter set types in video coding
JP7368477B2 (en) Video encoder, video decoder, and corresponding method
US11729384B2 (en) Explicit address signaling in video coding
JP7383795B2 (en) ALF APS constraints in video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230727

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230808

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230920

R150 Certificate of patent or registration of utility model

Ref document number: 7354241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150