JP7354241B2 - Video encoder, video decoder, and corresponding method - Google Patents
Video encoder, video decoder, and corresponding method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 99
- 230000002123 temporal effect Effects 0.000 claims description 133
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 26
- 238000000638 solvent extraction Methods 0.000 claims description 23
- 230000003044 adaptive effect Effects 0.000 claims description 20
- 241000023320 Luma <angiosperm> Species 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 14
- 238000005192 partition Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 125000003012 phosphonothioyl group Chemical group [H]P(*)(*)=S 0.000 description 93
- 230000033001 locomotion Effects 0.000 description 81
- 230000007246 mechanism Effects 0.000 description 36
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 31
- 239000000872 buffer Substances 0.000 description 30
- 238000013139 quantization Methods 0.000 description 28
- 239000013598 vector Substances 0.000 description 20
- 238000007906 compression Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000013459 approach Methods 0.000 description 11
- 230000011664 signaling Effects 0.000 description 11
- 238000001914 filtration Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 9
- 101100507431 Methanosarcina barkeri (strain Fusaro / DSM 804) hpsA gene Proteins 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000001629 suppression Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 102100029716 DnaJ homolog subfamily A member 3, mitochondrial Human genes 0.000 description 1
- 101000866012 Homo sapiens DnaJ homolog subfamily A member 3, mitochondrial Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009760 functional impairment Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 229920000069 polyphenylene sulfide Polymers 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/187—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details 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つ以上の実施形態の例示的な実施が以下で与えられるが、開示されるシステム及び/又は方法は、現在知られているか又は存在しているかどうかに関わらず、任意の数の技術を用いて実施されてよい、ことがまず理解されるべきである。開示は、ここで図示及び記載されている例となる設計及び実施を含む、以下で説明される例示的な実施、図面、及び技術に決して限定されるべきではなく、添付の特許請求の範囲及びその均等の全範囲内で変更されてもよい。 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
ビデオ画像をコーディングするために、画像は最初にパーティション化され、パーティションがビットストリーム内にコーディングされる。様々なピクチャパーティション化スキームが利用可能である。例えば、画像は、規則的なスライス、従属的なスライス、タイルに、及び/又は波面並列処理(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
ステップ101で、ビデオ信号がエンコーダに入力される。例えば、ビデオ信号は、メモリに記憶されている未圧縮ビデオファイルであってよい。他の例として、ビデオファイルは、ビデオカメラ等のビデオ捕捉デバイスによって捕捉され、ビデオのライブストリーミングをサポートするようエンコーディングされてよい。ビデオファイルは、オーディング成分及びビデオ成分の両方を含んでよい。ビデオ成分は、連続してみられる場合に、動きの視覚的印象を与える一連の画像フレームを含む。フレームは、ここでルーマ成分(又はルーマサンプル)と呼ばれる光と、クロマ成分(又は色サンプル)と呼ばれる色とに関して表現されるピクセルを含む。いくつかの例では、フレームはまた、3次元表示をサポートするためのデプス値も含んでよい。
At
ステップ103で、ビデオはブロックにパーティション化される。パーティション化は、各フレーム内のピクセルを圧縮のために正方形及び/又は長方形ブロックに細分することを含む。例えば、高効率ビデオコーディング(HEVC)(H.265及びMPEG-H Part2として知られる)では、フレームは最初に、予め定義されたサイズ(例えば、64×64ピクセル)のブロックであるコーディングツリーユニット(CTU)に分割され得る。CTUは、ルーマ及びクロマサンプルの両方を含む。コーディングツリーは、CTUをブロックに分割し、次いで、更なるエンコーディングをサポートする構成が達成されるまで、ブロックを再帰的に細分するために用いられてよい。例えば、フレームのルーマ成分は、個々のブロックが比較的に一様な明暗値を含むまで細分されてよい。更に、フレームのクロマ成分は、個々のブロックが比較的に一様な色値を含むまで細分されてよい。従って、パーティション化メカニズムは、ビデオフレームの内容に応じて変化する。
At
ステップ105で、ステップ103でパーティション化された画像ブロックを圧縮するよう様々な圧縮メカニズムが用いられる。例えば、インター予測及び/又はイントラ予測が用いられてよい。インター予測は、共通のシーン内の対象物が連続したフレームで現れる傾向がある、という事実を利用するよう設計される。従って、参照フレーム内の対象物を表すブロックは、隣接するフレームで繰り返し記述される必要がない。具体的に、テーブル等の対象物は、複数のフレームにわたって定位置のままであることがある。従って、テーブルは一度記述され、隣接するフレームは参照フレームを参照し直すことができる。パターンマッチングメカニズムが、複数のフレームにわたって対象物を照合するために用いられてもよい。更に、動いている対象物が、例えば、対象物の運動又はカメラの運動により、複数のフレームにわたって表現されることがある。具体例として、ビデオは、複数のフレームにわたって画面を横切って動く自動車を示すことがある。動きベクトルは、そのような運動を記述するために用いられ得る。動きベクトルは、あるフレーム内の対象物の座標から参照フレーム内の対象物の座標へのオフセットを提供する2次元ベクトルである。そのようなものとして、インター予測は、現在のフレーム内の画像ブロックを、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルの組としてエンコーディングすることができる。
At
イントラ予測は、共通のフレーム内のブロックをエンコーディングする。イントラ予測は、ルーマ及びクロマ成分がフレームに群がる傾向がある、という事実を利用する。例えば、木の一部分にある緑色のパッチは、緑色の同様のパッチに隣接して位置している傾向がある。イントラ予測は、複数の指向性予測モード(例えば、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
ビデオ信号がパーティション化、圧縮、及びフィルタ処理されると、結果として得られるデータは、ステップ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
デコーダは、ビットストリームを受け取り、ステップ111でデコーディングプロセスを開始する。具体的に、デコーダは、ビットストリームを対応するシンタックス及びビデオデータに変換するためにエントロピデコーディングスキームを用いる。デコーダは、ステップ111でフレームのパーティションを決定するためにビットストリームからのシンタックスデータを用いる。パーティション化は、ステップ103でのブロックパーティション化の結果と一致すべきである。ステップ111で用いられるエントロピエンコーディング/デコーディングがこれより記載される。エンコーダは、入力画像内の値の空間位置付けに基づいていくつかの可能な選択からブロックパーティション化スキームを選択することといった多くの選択を圧縮プロセス中に行う。正確な選択を通知することは、多数のビンを用いる可能性がある。ここで使用されるように、ビンは、変数(例えば、状況に応じて変化し得るビット値)として扱われるバイナリ値である。エントロピコーディングは、エンコーダが、許容可能な選択肢の組を残しながら、特定の場合について明らかに実行可能でない如何なる選択肢も捨てることを可能にする。夫々の許容可能な選択肢は、次いで、コードワードを割り当てられる。コードワードの長さは、許容可能な選択肢の数に依存する(例えば、2つの選択肢については1つのビン、3つ乃至4つの選択肢については2つのビン、等)。エンコーダは、次いで、選択された選択肢についてのコードワードをエンコーディングする。このスキームは、コードワードが、全ての可能な選択肢の潜在的に大きい集合からの選択を一意に示すこととは対照的に、許容可能な選択肢の小さい部分集合からの選択を一意に示すために望まれる大きさであるということで、コードワードのサイズを低減する。デコーダは、次いで、エンコーダと同様の方法で、許容可能な選択肢の組を決定することによって選択をデコーディングする。許容可能な選択肢の組を決定することによって、デコーダは、コードワードを読み出し、エンコーダによって行われた選択を決定することができる。
The decoder receives the bitstream and begins the decoding process at
ステップ113で、デコーダは、ブロックデコーディングを実行する。具体的に、デコーダは、残差ブロックを生成するために逆変換を用いる。次いで、デコーダは、パーティション化に従って画像ブロックを再構成するために残差ブロック及び対応する予測ブロックを用いる。予測ブロックは、ステップ105でエンコーダで生成されたイントラ予測ブロック及びインター予測ブロックの両方を含んでよい。再構成された画像ブロックは、次いで、ステップ111で決定されたパーティション化データに従って、再構成されたビデオ信号のフレーム内に位置付けられる。ステップ113のためのシンタックスも、上述されたように、エントロピコーディングを介してビットストリームにおいて通知されてよい。
At
ステップ115で、フィルタリングが、エンコーダでのステップ107に類似した方法で、再構成されたビデオ信号のフレームに対して実行される。例えば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、及びSAOフィルタが、ブロッキングアーチファクトを除くようフレームに適用されてよい。フレームがフィルタ処理されると、ビデオ信号は、エンドユーザによる視聴のために、ステップ117でディスプレイへ出力され得る。
In
図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)
パーティション化されたビデオ信号201は、コーディングツリーによってピクセルのブロックにパーティション化されている捕捉されたビデオシーケンスである。コーディングツリーは、ピクセルのブロックをピクセルのより小さいブロックに細分するために様々な分裂モードを用いる。これらのブロックは、次いで、より小さいブロックに更に細分され得る。ブロックは、コーディングツリー上のノードと呼ばれ得る。より大きい親ノードは、より小さい子ノードに分裂される。ノードが細分される回数は、ノード/コーディングツリーのデプスと呼ばれる。分割されたブロックは、いくつかの場合にコーディングユニット(CU)に含まれ得る。例えば、CUは、ルーマブロック、赤色差分クロマ(Cr)ブロック及び青色差分クロマ(Cb)ブロックを、CUの対応するシンタックス命令とともに含むCTUのサブ部分であることができる。分裂モードは、ノードを、用いられている分裂モードに応じて形状が変化する2つ、3つ、又は4つの子ノードに夫々パーティション化するために用いられる二分木(BT)、三分木(TT)、及び四分木(QT)を含んでよい。パーティション化されたビデオ信号201は、汎用コーダ制御コンポーネント211、変換スケーリング及び量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制御解析コンポーネント227、及び動き推定コンポーネント221へ圧縮のために転送される。
汎用コーダ制御コンポーネント211は、適用制約に従って、ビットストリーム内へのビデオシーケンスの画像のコーディングに関する決定を行うよう構成される。例えば、汎用コーダ制御コンポーネント211は、再構成品質に対するビットレート/ビットストリームサイズの最適化を管理する。このような決定は、記憶空間/帯域幅の利用可能性及び画像解像度の要求に基づいて行われてよい。汎用コーダ制御コンポーネント211はまた、バッファアンダーラン及びオーバーラン問題を軽減するよう伝送速度に照らしてバッファ利用も管理する。これらの問題を管理するために、汎用コーダ制御コンポーネント211は、他のコンポーネントによるパーティション化、予測、及びフィルタリングを管理する。例えば、汎用コーダ制御コンポーネント211は動的に、解像度を増大させ且つバンド幅利用を増大させるよう圧縮複雑性を増大させるか、あるいは、解像度及びバンド幅利用を低減させるよう圧縮複雑性を低減させ得る。従って、汎用コーダ制御コンポーネント211は、ビデオ信号再構成品質とビットレート懸案事項とのバランスをとるようコーデックシステム200の他のコンポーネントを制御する。汎用コーダ制御コンポーネント211は、他のコンポーネントの動作を制御する制御データを生成する。制御データはまた、デコーダでのデコーディングのためのパラメータを通知するようビットストリームにおいてエンコーディングされるようヘッダフォーマッティング及びCABACコンポーネント231へも転送される。
The general
パーティション化されたビデオ信号201は、動き推定コンポーネント221及び動き補償コンポーネント219へもインター予測のために送られる。パーティション化されたビデオ信号201のフレーム又はスライスは、複数のビデオブロックに分割されてよい。動き推定コンポーネント221及び動き補償コンポーネント219は、時間予測を提供するよう1つ以上の参照フレーム内の1つ以上のブロックに対する受け取られたビデオブロックのインター予測コーディングを実行する。コーデックシステム200は、例えば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、多数のコーディングパスを実行してよい。
動き推定コンポーネント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は、現在のブロック/フレームについて、多数の参照ブロック、多数の動きベクトル、等を決定してよく、最良のレートひずみ特性を有している参照ブロック、動きベクトル、等を選択してよい。最良のレートひずみ特性は、ビデオ再構成の品質(例えば、圧縮によるデータ損失の量)とコーディング効率(例えば、最終的なエンコーディングのサイズ)との両方のバランスをとる。
いくつかの例では、コーデックシステム200は、デコーディングピクチャバッファコンポーネント223に記憶されている参照ピクチャのサブ整数ピクセル位置についての値を計算してよい。例えば、ビデオコーデックシステム200は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、又は他の分数ピクセル位置の値を補間してよい。従って、動き推定コンポーネント221は、完全ピクセル位置及び分数ピクセル位置に対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力してよい。動き推定コンポーネント221は、PUの位置を参照ピクセルの予測ブロックの位置と比較することによって、インターコーディングされたスライス内のビデオブロックのPUについての動きベクトルを計算する。動き推定コンポーネント221は、計算された動きベクトルを、エンコーディングのためのヘッダフォーマッティング及びCABACコンポーネント231への動きデータ、及び動き補償コンポーネント219への動きデータとして、出力する。
In some examples,
動き補償コンポーネント219によって実行される動き補償は、動き推定コンポーネント221によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含んでよい。先と同じく、動き推定コンポーネント221及び動き補償コンポーネント219は、いくつかの例では、機能的に集積されてよい。現在のビデオブロックのPUについての動きベクトルを受け取ると、動き補償コンポーネント219は、動きベクトルが指し示す予測ブロックの位置を見つけてよい。次いで、残差ビデオブロックは、コーディング中の現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減じてピクセル差分値を形成することによって、形成される。一般に、動き推定コンポーネント221は、ルーマ成分に対して動き推定を実行し、動き補償コンポーネント219は、クロマ成分及びルーマ成分の両方に対して、ルーマ成分に基づいて計算された動きベクトルを使用する。予測ブロック及び残差ブロックは、変換スケーリング及び量子化コンポーネント213へ転送される。
Motion compensation performed by
パーティション化されたビデオ信号201は、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217へも送られる。動き推定コンポーネント221及び動き補償コンポーネント219と同様に、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は高集積されてよいが、概念上の目的のために別々に表されている。イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は、上述されたようにフレーム間で動き推定コンポーネント221及び動き補償コンポーネント219によって実行されたインター予測に対する代替案として、現在のフレーム内のブロックに対して現在のブロックをイントラ予測する。特に、イントラピクチャ推定コンポーネント215は、現在のブロックをエンコーディングするために使用すべきイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定コンポーネント215は、複数の試験されたイントラ予測モードから、現在のブロックをエンコーディングするための適切なイントラ予測モードを選択する。選択されたイントラ予測モードは、次いで、エンコーディングのためにヘッダフォーマッティング及びCABACコンポーネント231へ転送される。
例えば、イントラピクチャ推定コンポーネント215は、様々な試験されたイントラ予測モードについてレートひずみ解析を用いてレートひずみ値を計算し、試験されたモードの中で最良のレートひずみ特性を有しているイントラ予測モードを選択する。レートひずみ解析は、一般に、エンコーディングされたブロックを生成するために使用されたビットレート(例えば、ビットの数)に加えて、エンコーディングされたブロックと、エンコーディングされたブロックを生成するようエンコーディングされた元のエンコーディングされていないブロックとの間のひずみ(又はエラー)の量も決定する。イントラピクチャ推定コンポーネント215は、どのイントラ予測モードがそのブロックについて最良のレートひずみ値を示すかを決定するよう、様々なエンコーディングされたブロックについてのひずみ及びレートから比を計算する。その上、イントラピクチャ推定コンポーネント215は、レートひずみ最適化(RDO)に基づいてデプスモデリングモード(Depth Modeling Mode,DMM)を用いてデプスマップのデプスブロックをコーディングするよう構成されてよい。
For example, intra
イントラピクチャ予測コンポーネント217は、エンコーダで実装される場合には、イントラピクチャ推定コンポーネント215によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成し、あるいは、デコーダで実装される場合には、ビットストリームから残差ブロックを読み出してよい。残差ブロックは、行列として表される、予測ブロックと元のブロックとの間の値の差を含む。残差ブロックは、次いで、変換スケーリング及び量子化コンポーネント213へ転送される。イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217は、ルーマ及びクロマ成分の両方に作用してよい。
Intra
変換スケーリング及び量子化コンポーネント213は、残差ブロックを更に圧縮するよう構成される。変換スケーリング及び量子化コンポーネント213は、離散コサイン変換(Discrete Cosine Transform,DCT)、離散サイン変換(Discrete Sine Transform,DST)、又は概念上類似した変換等の変換を残差ブロックに適用して、残差変換係数値を有するビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、又は他のタイプの変換も使用されてよい。変換は、残差情報をピクセル値領域から周波数領域等の変換領域へ変換してよい。変換スケーリング及び量子化コンポーネント213はまた、例えば、周波数に基づいて、変換された残差情報をスケーリングするよう構成される。このようなスケーリングは、異なる周波数情報が異なる粒度で量子化されるように、スケール係数を残差情報に適用することを含み、これは、再構成されたビデオの最終的な視覚品質に影響を及ぼし得る。変換スケーリング及び量子化コンポーネント213はまた、ビットレートを更に低減するように変換係数を量子化するよう構成される。量子化プロセスは、一部又は全ての係数に関連したビットデプスを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、変換スケーリング及び量子化コンポーネント213は、次いで、量子化された変換係数を含む行列のスキャンを実行してよい。量子化された変換係数は、ビットストリームにおいてエンコーディングされるようヘッダフォーマッティング及びCABACコンポーネント231へ転送される。
Transform scaling and
スケーリング及び逆変換コンポーネント229は、動き推定をサポートするよう変換スケーリング及び量子化コンポーネント213の逆の動作を適用する。スケーリング及び逆変換コンポーネント229は、例えば、他の現在のブロックのための予測ブロックになり得る参照ブロックとしての後の使用のために、ピクセル領域で残差ブロックを再構成するよう逆のスケーリング、変換、及び/又は量子化を適用する。動き推定コンポーネント221及び/又は動き補償コンポーネント219は、後のブロック/フレームの動き推定における使用のために、対応する予測ブロックに残差ブロックを加え直すことによって、参照ブロックを計算してよい。フィルタは、スケーリング、量子化、及び変換中に生じたアーチファクトを軽減するために、再構成された参照ブロックに適用される。このようなアーチファクトは、さもなければ、後続のブロックが予測される場合に誤った予測を引き起こす(そして、更なるアーチファクトを引き起こす)可能性がある。
Scaling and
フィルタ制御解析コンポーネント227及びインループフィルタコンポーネント225は、残差ブロックに及び/又は再構成された画像ブロックにフィルタを適用する。例えば、スケーリング及び逆変換コンポーネント229からの変換された残差ブロックは、元の画像ブロックを再構成するよう、イントラピクチャ予測コンポーネント217及び/又は動き補償コンポーネント219からの対応する予測ブロックと結合されてよい。フィルタは、次いで、再構成された画像ブロックに適用されてよい。いくつかの例では、フィルタは、代わりに、残差ブロックに適用されてもよい。図2の他のコンポーネントと同様に、フィルタ制御解析コンポーネント227及びインループフィルタコンポーネント225は高集積され、一緒に実装されてよいが、概念上の目的のために別々に表されている。再構成された参照ブロックに適用されたフィルタは、特定の空間領域に適用され、このようなフィルタがどのように適用されるかを調整するための複数のパラメータを含む。フィルタ制御解析コンポーネント227は、このようなフィルタがどこで適用されるべきかを決定するために、再構成された参照ブロックを解析し、対応するパラメータをセットする。このようなデータは、エンコーディングのためにフィルタ制御データとしてヘッダフォーマッティング及びCABACコンポーネント231へ転送される。インループフィルタコンポーネント225は、フィルタ制御データに基づいてそのようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、及び適応ループフィルタを含んでよい。このようなフィルタは、例に応じて、空間/ピクセル領域で(例えば、再構成されたピクセルブロックに対して)、あるいは、周波数領域で適用されてよい。
Filter
エンコーダとして動作する場合に、フィルタ処理された再構成された画像ブロック、残差ブロック、及び/又は予測ブロックは、上述されたように動き推定での後の使用のためにデコーディングピクチャバッファコンポーネント223に記憶される。デコーダとして動作する場合に、デコーディングピクチャバッファコンポーネント223は、再構成され且つフィルタ処理されたブロックを記憶し、出力ビデオ信号の部分としてディスプレイに向けて転送する。デコーディングピクチャバッファコンポーネント223は、予測ブロック、残差ブロック、及び/又は再構成された画像ブロックを記憶することができる如何なるメモリデバイスであってもよい。
When operating as an encoder, the filtered reconstructed image blocks, residual blocks, and/or prediction blocks are sent to the decoding
ヘッダフォーマッティング及び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
図3は、例となるビデオエンコーダ300を表すブロック図である。ビデオエンコーダ300は、コーデックシステム200のエンコーディング機能を実装し、且つ/あるいは、動作方法100のステップ101、103、105、107、及び/又は109を実施するために、用いられてよい。エンコーダ300は、入力ビデオ信号をパーティション化して、パーティション化されたビデオ信号201と実質的に類似しているパーティション化されたビデオ信号301をもたらす。パーティション化されたビデオ信号301は、次いで、エンコーダ300のコンポーネントによってビットストリーム内に圧縮及びエンコーディングされる。
FIG. 3 is a block diagram representing an
具体的に、パーティション化されたビデオ信号301は、イントラ予測のためにイントラピクチャ予測コンポーネント317へ転送される。イントラピクチャ予測コンポーネント317は、イントラピクチャ推定コンポーネント215及びイントラピクチャ予測コンポーネント217と実質的に類似し得る。パーティション化されたビデオ信号301は、デコーディングピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のために、動き補償コンポーネント321へも転送される。動き補償コンポーネント321は、動き推定コンポーネント221及び動き補償コンポーネント219と実質的に類似し得る。イントラピクチャ予測コンポーネント317及び動き補償コンポーネント321からの予測ブロック及び残差ブロックは、残差ブロックの変換及び量子化のために、変換及び量子化コンポーネント313へ転送される。変換及び量子化コンポーネント313は、変換スケーリング及び量子化コンポーネント213と実質的に類似し得る。変換及び量子化された残差ブロック並びに対応する予測ブロックが(関連した制御データとともに)ビットストリームへのコーディングのためにエントロピコーディングコンポーネント331へ転送される。エントロピコーディングコンポーネント331は、ヘッダフォーマッティング及びCABACコンポーネント231と実質的に類似し得る。
Specifically, partitioned
変換及び量子化された残差ブロック並びに/又は対応する予測ブロックは、変換及び量子化コンポーネント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
図4は、例となるビデオデコーダ400を表すブロック図である。ビデオデコーダ400は、コーデックシステム200のデコーディング機能を実装し、且つ/あるいは、動作方法100のステップ111、113、115、及び/又は117を実装するために、用いられてよい。デコーダ400は、例えば、エンコーダ300から、ビットストリームを受け取り、ビットストリームに基づいて、エンドユーザへの表示のために、再構成された出力ビデオ信号を生成する。
FIG. 4 is a block diagram representing an
ビットストリームは、エントロピデコーディングコンポーネント433によって受け取られる。エントロピデコーディングコンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディング、又は他のエントロピコーディング技術等のエントロピデコーディングスキームを実装するよう構成される。例えば、エントロピデコーディングコンポーネント433は、ビットストリームにおいてコードワードとしてエンコーディングされた追加データを解釈するためにコンテキストを供給するようヘッダ情報を用いてよい。デコーディングされた情報は、汎用制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、及び量子化された変換係数等のビデオ信号を残差ブロックからデコーディングするための如何なる望ましい情報も含む。量子化された変換係数は、逆変換及び量子化コンポーネント429へ、残差ブロックへの再構成のために転送される。逆変換及び量子化コンポーネント429は、逆変換及び量子化コンポーネント329と類似し得る。
The bitstream is received by
再構成された残差ブロック及び/又は予測ブロックは、イントラ予測動作に基づく画像ブロックへの再構成のために、イントラピクチャ予測コンポーネント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
図5は、エンコーディングされたビデオシーケンスをHPS513とともに含む、例となるビットストリーム500を表す概略図である。例えば、ビットストリーム500は、コーデックシステム200及び/又はデコーダ400によるデコーディングのためにコーデックシステム200及び/又はエンコーダ300によって生成され得る。他の例として、ビットストリーム500は、ステップ111でのデコーダによる使用のために、方法100のステップ109でエンコーダによって生成されてもよい。
FIG. 5 is a schematic diagram representing an
ビットストリーム500は、シーケンスパラメータセット(SPS)510、複数のピクチャパラメータセット(PPS)512、複数のHPS513、複数のスライスヘッダ514、及び画像データ520を含む。SPS510は、ビットストリーム500に含まれているビデオシーケンス内の全てのピクチャに共通するシーケンスデータを含む。このようなデータは、ピクチャサイジング、ビットデプス、コーディングツールパラメータ、ビットレート制限、等を含むことができる。PPS512は、ピクチャ全体に適用するパラメータを含む。従って、ビデオシーケンス内の各ピクチャはPPS512を参照してよい。各ピクチャがPPS512を参照する一方で、単一のPPS512がいくつかの例では複数のピクチャについてのデータを含むことができる点が留意されるべきである。例えば、複数の類似したピクチャは、類似したパラメータに従ってコーディングされる可能性がある。そのような場合に、単一のPPS512が、このような類似したピクチャについてのデータを含んでもよい。PPS512は、対応するピクチャ内のスライスに利用可能なコーディングツール、量子化パラメータ、オフセット、等を示すことができる。スライスヘッダ514は、ピクチャ内の各スライスに特有であるパラメータを含む。従って、ビデオシーケンス内のスライスごとに1つのスライスヘッダ514が存在し得る。スライスヘッダ514は、スライスタイプ情報、ピクチャ順序カウント(Picture Order Counts,POC)、参照ピクチャリスト、予測重み、タイルエントリポイント、デブロッキングパラメータ、等を含んでよい。
HPS513は、スライスヘッダで見つけられた0個以上のシンタックス要素によって決定される0個以上のスライスに適用するシンタックス要素を含むシンタックス構造である。従って、HPS513は、複数のスライスに関連したコーディングツールのパラメータについてのシンタックス要素を含む。HPS513は、いくつかのシステムではHPSとも呼ばれ得る。例えば、1つ以上のスライスがHPS513を参照してもよい。従って、デコーダは、そのような参照に基づいてHPS513を取得し、HPS513からコーディングツールパラメータを取得し、そのコーディングツールパラメータを用いて、対応するスライスをデコーディングすることができる。HPS513は、PPS512とスライスヘッダ514との間の階層的位置を概念上占有する。例えば、特定のデータは、ピクチャ全体に関連するのではなく、複数のスライスに関連することがある。このようなデータは、そのデータがピクチャ全体に関連しないということで、PPS512に格納されなくてもよい。しかし、そのようなデータは、さもなければ、複数のスライスヘッダ514に含まれることになる。HPS513は、複数のスライスヘッダ514にわたる冗長的なシグナリングを回避するようそのようなデータを受け入れることができる。HPS513のコーディング構造は、VVCで導入されており、HEVC又は以前のコーディング規格では類似する構造はない。HPS513の様々な実施が以下で説明される。
画像データ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は、コーディングツリーに基づいてコーディングブロックに更に分割される。コーディングブロックは、次いで、予測メカニズムに従ってエンコーディング/デコーディングされ得る。
ビットストリーム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のグループである。
いくつかの例では、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,
スライスヘッダ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
以下の実施は、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
いくつかの場合に、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,
いくつかの場合に、全ての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
上記の実施を見直すことから理解され得るように、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
図6は、時間スケーリングのための、例となるメカニズム600を表す概略図である。例えば、メカニズム600は、ビットストリーム500等のデコーディングされたビットストリームを表示する場合に、コーデックシステム200及び/又はデコーダ400等のデコーダによって用いられてよい。更に、メカニズム600は、表示のためにビデオを出力する場合に、方法100のステップ117の部分として用いられてもよい。また、コーデックシステム200及び/又はエンコーダ300等のエンコーダは、メカニズム600がデコーダで起こることを可能にするようビットストリーム内のデータをエンコーディングしてよい。
FIG. 6 is a schematic diagram representing an
メカニズム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とセットされてよい。
時間スケーリングを実装するために、ピクチャ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,
図5で記載されたHPS513は、メカニズム600の時間スケーリングをサポートするよう実装され得る。これは、TID0、TID1、又はTID2等のTIDを各HPSに割り当てることによって達成され得る。時間スケーリングが実行される場合に、選択されたフレームレートTID以下のTIDを有するHPSはデコーディングされ、選択されたフレームレートTIDよりも大きいTIDを有するHPSは捨てられる。TIDは、様々な実施形態に従ってHPSに割り当てられ得る。
図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,
上記のメカニズムは、次のように実装され得る。以下の態様は、個別的に及び/又は組み合わせて適用され得る。適応パラメータセット(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.
上記の態様は、次のシンタックスに従って実装されてよい。
hps_present_flagは、hps_idがスライスヘッダに存在することを定めるよう1に等しくセットされ得る。hps_present_flagは、hps_idがスライスヘッダに存在しないことを定めるよう0に等しくセットされ得る。
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に等しいことを含む。
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.
他の例となる実施は、以下で説明される。
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
プロセッサ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によって実行される命令として(例えば、非一時的な媒体に記憶されているコンピュータプログラム製品として)実行され得る。
メモリ732は、ディスク、テープドライブ、ソリッドステートドライブ、リード・オンリー・メモリ(Read Only Memory,ROM)、ランダム・アクセス・メモリ(Random Access Memory,RAM)、フラッシュメモリ、三値連想メモリ(Ternary Content-Addressable Memory,TCAM)、静的ランダム・アクセス・メモリ(Static Random-Access Memory,SRAM)等のような1つ以上のメモリタイプを有する。メモリ732は、プログラムが実行のために選択される場合にそのようなプログラムを記憶するために、且つ、プログラム実行中に読み出される命令及びデータを記憶するために、オーバーフローデータ記憶デバイスとして使用されてよい。
The
図8は、HPSを使用することによって、ビットストリーム500等のビットストリーム内にビデオシーケンスをエンコーディングするための、例となる方法800のフローチャートである。方法800は、方法100を実行する場合に、コーデックシステム200、エンコーダ300、及び/又はビデオコーディングデバイス700等のエンコーダによって用いられてよい。方法800はまた、デコーダ400等のデコーダでメカニズム600に従って時間スケーリングをサポートするよう、ビットストリームをエンコーディングしてもよい。
FIG. 8 is a flowchart of an
方法800は、エンコーダが複数の画像を含むビデオシーケンスを受信する場合に開始してよく、例えば、ユーザ入力に基づいて、そのビデオシーケンスをビットストリーム内にエンコーディングすると決定する。ビデオシーケンスは、エンコーディングの前に更なるパーティション化のためにピクチャ/画像/フレームにパーティション化される。ステップ801で、複数のピクチャは、第1スライスを含む複数のスライスにパーティション化される。
ステップ803で、第1スライスを含む複数のスライスは、ビットストリーム内にエンコーディングされる。スライスは、複数のコーディングツールパラメータによってエンコーディングされてよい。いくつかの例では、スライスは、少なくとも、第1タイプのコーディングツール及び第2タイプのコーディングツールによって、エンコーディングされる。具体的に、スライスは、第1タイプのコーディングツールパラメータに基づいて第1タイプのコーディングツールによってエンコーディングされる。スライスはまた、第2タイプのコーディングツールパラメータに基づいて第2タイプのコーディングツールによってもエンコーディングされる。例えば、このようなコーディングツールは、ALFコーディングツール、LMCSコーディングツール、及び/又はスケーリングリストパラメータコーディングツールを含んでよい。
At
ステップ805で、複数のHPSがビットストリーム内にエンコーディングされる。複数のHPSは、少なくとも第1HPS及び第2HPSを含んでよい。第1HPS及び第2HPSは、夫々、ステップ803でスライスをエンコーディングするために用いられる第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを含む。
At
ステップ807で、第1スライスヘッダがビットストリーム内にエンコーディングされる。第1スライスヘッダは、デコーダでのデコーディングをサポートするよう複数のスライスの中の第1スライスのエンコーディングを記述する。例えば、第1スライスヘッダは、第1HPSに対する第1参照と、第2HPSに対する第2参照とを含んでよい。従って、スライスヘッダは、異なるタイプの複数のHPSからコーディングツールパラメータを引き継いでよい。これは、そのようなコーディングツールパラメータがスライスヘッダから省略されることを可能にし、冗長なコーディングツールパラメータのシグナリングを低減することによってビットストリームのコーディング効率を向上させる。具体例として、第1HPS及び第2HPSは、ALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含んでよい。
At
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
ステップ809で、ビットストリームはメモリに記憶される。要求時に、ビットストリームは次いで、例えば、送信器により、デコーダへ送られ得る。
At
図9は、HPSを使用することによって、ビットストリーム500等のビットストリームからビデオシーケンスをデコーディングするための、例となる方法900のフローチャートである。方法900は、方法100を実行する場合に、コーデックシステム200、デコーダ400、及び/又はビデオコーディングデバイス700等のデコーダによって用いられてよい。方法900の結果はまた、デコーダでメカニズム600に従って時間スケーリングをサポートするために用いられてもよい。方法900は、エンコーダ300等のエンコーダからビットストリームを受信することに応答して用いられてよく、従って、方法900は、方法800に応答して用いられてよい。
FIG. 9 is a flowchart of an
方法900は、デコーダが、例えば、方法800の結果として、ビデオシーケンスを表すコーディングされたデータのビットストリームを受信し始める場合に、開始してよい。ステップ910で、ビットストリームがデコーダで受信される。ビットストリームは、第1HPS及び第2HPSを含む複数のHPSを有する。第1HPSは第1タイプのHPSであり、第1タイプのコーディングツールパラメータを含む。第2HPSは第2タイプのHPSであり、第2タイプのコーディングツールパラメータを含む。ビットストリームはまた、スライスヘッダと、スライスヘッダに関連したスライスとを含む。
ステップ903で、デコーダは、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する。従って、スライスヘッダは、異なるタイプの複数のHPSからコーディングツールパラメータを引き継いでよい。これは、そのようなコーディングツールパラメータがスライスヘッダから省略されることを可能にし、冗長なコーディングツールパラメータのシグナリングを低減することによってビットストリームのコーディング効率を向上させる。具体例として、第1HPS及び第2HPSは、ALF HPS、LMCS HPS、スケーリングリストパラメータHPS、又はこれらの組み合わせを含んでよい。
At
ステップ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
ステップ907で、デコーダは、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送することができる。
At
図10は、HPSを使用することによって、ビットストリーム500等のビットストリームにおいて画像のビデオシーケンスをコーディングするための、例となるシステム1000の概略図である。システム1000は、コーデックシステム200、エンコーダ300、デコーダ400、及び/又はビデオコーディングデバイス700等のエンコーダ及びデコーダによって実装されてよい。更に、システム1000は、方法100、800、及び/又は900を実装する場合に用いられてもよい。その上、システム1000は、メカニズム600に関連して説明されたように時間スケーリングをサポートするために用いられてもよい。
FIG. 10 is a schematic diagram of an
システム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のステップのいずれかを実行するよう更に構成されてもよい。
システム1000はまた、ビデオデコーダ1010も含む。ビデオデコーダ1010は、第1タイプのコーディングツールパラメータを含む第1HPS、第2タイプのコーディングツールパラメータを含む第2HPS、スライスヘッダ、及びスライスヘッダに関連したスライスを有するビットストリームを受信する受信モジュール1011を有する。ビデオデコーダ1010は、スライスヘッダが第1HPSに対する第1参照及び第2HPSに対する第2参照を含むことを決定する決定モジュール1013を更に有する。ビデオデコーダ1010は、スライスヘッダが第1参照及び第2参照を含むとの決定に基づいて、第1タイプのコーディングツールパラメータ及び第2タイプのコーディングツールパラメータを用いてスライスをデコーディングするデコーディングモジュール1015を更に有する。ビデオデコーダ1010は、デコーディングされたビデオシーケンスの部分として表示のためにスライスを転送する転送モジュール1017を更に有する。ビデオデコーダ1010は、方法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又は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.
請求項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乃至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乃至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.
請求項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.
請求項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.
請求項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.
請求項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.
請求項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パラメータセットに対する第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.
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)
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)
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)
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 |
-
2019
- 2019-11-06 EP EP19883322.0A patent/EP3864842A4/en active Pending
- 2019-11-06 CN CN201980073465.0A patent/CN113056911A/en active Pending
- 2019-11-06 JP JP2021524075A patent/JP7354241B2/en active Active
- 2019-11-06 KR KR1020247017642A patent/KR20240091060A/en active Application Filing
- 2019-11-06 KR KR1020217016061A patent/KR102670878B1/en active IP Right Grant
- 2019-11-06 WO PCT/US2019/060113 patent/WO2020097232A1/en unknown
- 2019-11-06 CN CN202111266613.6A patent/CN114189694B/en active Active
- 2019-11-06 BR BR112021008659-5A patent/BR112021008659A2/en unknown
- 2019-11-06 MX MX2021005355A patent/MX2021005355A/en unknown
-
2021
- 2021-04-30 US US17/246,026 patent/US20210258598A1/en active Pending
-
2023
- 2023-07-27 JP JP2023122177A patent/JP2023156358A/en active Pending
Patent Citations (4)
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)
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 |