JP2023510858A - 重み付き予測を非矩形マージモードと調和させる方法および装置 - Google Patents
重み付き予測を非矩形マージモードと調和させる方法および装置 Download PDFInfo
- Publication number
- JP2023510858A JP2023510858A JP2022542748A JP2022542748A JP2023510858A JP 2023510858 A JP2023510858 A JP 2023510858A JP 2022542748 A JP2022542748 A JP 2022542748A JP 2022542748 A JP2022542748 A JP 2022542748A JP 2023510858 A JP2023510858 A JP 2023510858A
- Authority
- JP
- Japan
- Prior art keywords
- value
- slice
- picture
- indicator
- bitstream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 188
- 238000012545 processing Methods 0.000 claims description 60
- 238000004590 computer program Methods 0.000 claims description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 91
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 90
- 238000013139 quantization Methods 0.000 description 85
- 230000008569 process Effects 0.000 description 65
- 238000005192 partition Methods 0.000 description 53
- 230000006854 communication Effects 0.000 description 39
- 238000004891 communication Methods 0.000 description 39
- 239000013598 vector Substances 0.000 description 37
- 230000006870 function Effects 0.000 description 33
- 238000000638 solvent extraction Methods 0.000 description 29
- 239000000872 buffer Substances 0.000 description 28
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 25
- 230000011664 signaling Effects 0.000 description 25
- 238000003491 array Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 16
- 238000009795 derivation Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 239000010410 layer Substances 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 8
- 238000002156 mixing Methods 0.000 description 8
- 239000000654 additive Substances 0.000 description 6
- 230000000996 additive effect Effects 0.000 description 6
- 229920000069 polyphenylene sulfide Polymers 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 241001482237 Pica Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000046053 Betta Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect 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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/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/172—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 picture, frame or field
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Measuring Volume Flow (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本特許出願は、2020年1月12日に出願されたUS62/960,134の優先権を主張する。上述の特許出願の開示は、その全体が参照により本明細書に組み込まれる。
(たとえば、符号化されたビデオシーケンスの)現在のピクチャのためのビットストリームを取得するステップと、
ビットストリームに従って現在のピクチャに対する第1のインジケータの値を(たとえば、ビットストリームの中に備えられたそれぞれのシンタックス要素を構文解析することによって)取得するステップであって、第1のインジケータが(現在のピクチャのスライスの)スライスタイプを示す、ステップと、
ビットストリームに従って現在のピクチャに対する第2のインジケータの値を(たとえば、ビットストリームの中に備えられたそれぞれのシンタックス要素を構文解析することによって)取得するステップであって、第2のインジケータが、重み付き予測パラメータがビットストリームのピクチャヘッダの中に存在するのかそれともビットストリームのスライスヘッダの中に存在するのかを示す、ステップと、
第1のインジケータの値が第1のプリセット値(たとえば、1)に等しく、かつ第2のインジケータの値が第2のプリセット値(たとえば、2)に等しいとき、ビットストリームから現在のブロックに対する重み付き予測パラメータの値を構文解析するステップであって、現在のブロックが現在のピクチャの現在のスライスの中に備えられ、第1のプリセット値が整数値であり、第2のプリセット値が整数値である、ステップと、
重み付き予測パラメータの値に従って現在のブロックを予測する(現在のブロックに対する予測ブロックを生成する)ステップとを備える。
(たとえば、符号化されたビデオシーケンスの)現在のピクチャのためのビットストリームを取得するステップと、
ビットストリームに従って現在のピクチャに対する第1のインジケータの値を(たとえば、ビットストリームの中に備えられたそれぞれのシンタックス要素を構文解析することによって)取得するステップであって、第1のインジケータが(現在のピクチャのスライスの)スライスタイプを示す、ステップと、
ビットストリームに従って現在のピクチャに対する第2のインジケータの値を(たとえば、ビットストリームの中に備えられたそれぞれのシンタックス要素を構文解析することによって)取得するステップであって、第2のインジケータが、重み付き予測パラメータがビットストリームのピクチャヘッダの中に存在するのかそれともビットストリームのスライスヘッダの中に存在するのかを示す、ステップと、
ビットストリームに従って現在のピクチャに対する第3のインジケータの値を(たとえば、ビットストリームの中に備えられたそれぞれのシンタックス要素を構文解析することによって)取得するステップであって、第3のインジケータが、インタースライスに重み付き予測が適用可能であるかどうかを示し、インタースライスのスライスタイプがBスライスまたはPスライスである、ステップと、
第1のインジケータの値が第1のプリセット値(たとえば、1)に等しく、第2のインジケータの値が第2のプリセット値(たとえば、1)に等しく、かつ第3のインジケータの値が、インタースライスに重み付き予測が適用可能であることを示すとき、ビットストリームから現在のブロックに対する重み付き予測パラメータの値を構文解析するステップであって、現在のブロックが現在のピクチャの現在のスライスの中に備えられ、第1のプリセット値が整数値であり、第2のプリセット値が整数値である、ステップと、
重み付き予測パラメータの値に従って現在のブロックを予測する(現在のブロックに対する予測ブロックを生成する)ステップとを備える。
現在のピクチャのためのビットストリームを取得するように構成された、ビットストリーム取得ユニットと、
a)ビットストリームに従って現在のピクチャに対する第1のインジケータの値を取得することであって、第1のインジケータがスライスタイプを示す、第1のインジケータの値を取得すること、および
b)ビットストリームに従って現在のピクチャに対する第2のインジケータの値を取得することであって、第2のインジケータが、重み付き予測パラメータがビットストリームのピクチャヘッダの中に存在するのかそれともビットストリームのスライスヘッダの中に存在するのかを示す、第2のインジケータの値を取得することを行うように構成された、
インジケータ値取得ユニットと、
第1のインジケータの値が第1のプリセット値(たとえば、1)に等しく、かつ第2のインジケータの値が第2のプリセット値(たとえば、1)に等しいとき、ビットストリームから現在のブロックに対する重み付き予測パラメータの値を構文解析するように構成された、構文解析ユニットであって、現在のブロックが現在のピクチャの現在のスライスの中に備えられ、第1のプリセット値が整数値であり、第2のプリセット値が整数値である、構文解析ユニットと、
重み付き予測パラメータの値に従って現在のブロックを予測するように構成された、予測ユニットとを備える。
現在のピクチャのためのビットストリームを取得するように構成された、ビットストリーム取得ユニットと、
a)ビットストリームに従って現在のピクチャに対する第1のインジケータの値を取得することであって、第1のインジケータがスライスタイプを示す、第1のインジケータの値を取得すること、
b)ビットストリームに従って現在のピクチャに対する第2のインジケータの値を取得することであって、第2のインジケータが、重み付き予測パラメータがビットストリームのピクチャヘッダの中に存在するのかそれともビットストリームのスライスヘッダの中に存在するのかを示す、第2のインジケータの値を取得すること、および
c)ビットストリームに従って現在のピクチャに対する第3のインジケータの値を取得することであって、第3のインジケータが、インタースライスに重み付き予測が適用可能であるかどうかを示し、インタースライスのスライスタイプがBスライスまたはPスライスである、第3のインジケータの値を取得することを行うように構成された、
インジケータ値取得ユニットと、
第1のインジケータの値が第1のプリセット値(たとえば、1)に等しく、第2のインジケータの値が第2のプリセット値(たとえば、1)に等しく、かつインタースライスに重み付き予測が適用可能であることを第3のインジケータの値が示すとき、ビットストリームから現在のブロックに対する重み付き予測パラメータの値を構文解析するように構成された、構文解析ユニットであって、現在のブロックが現在のピクチャの現在のスライスの中に備えられ、第1のプリセット値が整数値であり、第2のプリセット値が整数値である、構文解析ユニットと、
重み付き予測パラメータの値に従って現在のブロックを予測するように構成された、予測ユニットとを備える。
図2は、本出願の技法を実施するように構成される例示的なビデオエンコーダ20の概略ブロック図を示す。図2の例では、ビデオエンコーダ20は、入力部201(または、入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210および逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、復号されたピクチャバッファ(DPB:Decoded Picture Buffer)230、モード選択ユニット260、エントロピー符号化ユニット270、ならびに出力部272(または、出力インターフェース272)を備える。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、および区分ユニット262を含んでよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示せず)を含んでよい。図2に示すようなビデオエンコーダ20は、ハイブリッドビデオエンコーダ、すなわちハイブリッドビデオコーデックによるビデオエンコーダと呼ばれることもある。
エンコーダ20は、ピクチャ17(または、ピクチャデータ17)、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスのピクチャを、たとえば、入力部201を介して受信するように構成され得る。受信されるピクチャまたはピクチャデータはまた、前処理済みのピクチャ19(または、前処理済みのピクチャデータ19)であってよい。簡単のために、以下の説明はピクチャ17を参照する。ピクチャ17は、現在のピクチャ、または(同じビデオシーケンス、すなわち、やはり現在のピクチャを備えるビデオシーケンスの、他のピクチャ、たとえば、前に符号化および/または復号されたピクチャから、現在のピクチャを区別するために、ビデオコーディングでは特に)コーディングされるべきピクチャと呼ばれることもある。
残差計算ユニット204は、たとえば、サンプルごとに(ピクセルごとに)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することによって、ピクチャブロック203および予測ブロック265(予測ブロック265についてのさらなる詳細は後で提供される)に基づいて残差ブロック205(残差205とも呼ばれる)を計算して、サンプル領域における残差ブロック205を取得するように構成され得る。
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、たとえば、離散コサイン変換(DCT)または離散サイン変換(DST)を適用して、変換領域における変換係数207を取得するように構成され得る。変換係数207は、変換残差係数と呼ばれることもあり、変換領域における残差ブロック205を表してよい。
量子化ユニット208は、たとえば、スカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して量子化された係数209を取得するように構成され得る。量子化された係数209は、量子化変換係数209または量子化残差係数209と呼ばれることもある。
逆量子化ユニット210は、たとえば、量子化ユニット208と同じ量子化ステップサイズに基づいて、またはそれを使用して、量子化ユニット208によって適用される量子化方式の逆を適用することによって、量子化された係数に対して量子化ユニット208の逆量子化を適用して量子化解除された係数211を取得するように構成される。量子化解除された係数211は、量子化解除された残差係数211と呼ばれることもあり、- 量子化による損失に起因して通常は変換係数と同一でないが、- 変換係数207に対応し得る。
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、たとえば、逆離散コサイン変換(DCT)もしくは逆離散サイン変換(DST)、または他の逆変換を適用して、サンプル領域における再構成された残差ブロック213(または、対応する量子化解除された係数213)を取得するように構成される。再構成された残差ブロック213は、変換ブロック213と呼ばれることもある。
再構成ユニット214(たとえば、加算器(adder)または加算器(summer)214)は、たとえば、再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを- サンプルごとに- 加算することによって、変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加算してサンプル領域における再構成されたブロック215を取得するように構成される。
ループフィルタユニット220(または、ショート「ループフィルタ」220)は、再構成されたブロック215をフィルタ処理してフィルタ処理済みのブロック221を取得するように、または概して、再構成されたサンプルをフィルタ処理してフィルタ処理済みのサンプルを取得するように構成される。ループフィルタユニットは、たとえば、ピクセル遷移を平滑化するか、またはビデオ品質を別の方法で改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応型オフセット(SAO:Sample-Adaptive Offset)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応型ループフィルタ(ALF:Adaptive Loop Filter)、シャープ化フィルタ、平滑化フィルタ、または協調フィルタ、あるいはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えてよい。ループフィルタユニット220はループ内フィルタであるものとして図2に示されるが、他の構成では、ループフィルタユニット220は、ループ後フィルタとして実装されてよい。フィルタ処理済みのブロック221は、フィルタ処理済みの再構成されたブロック221と呼ばれることもある。
復号されたピクチャバッファ(DPB)230は、ビデオエンコーダ20によってビデオデータを符号化するための、参照ピクチャまたは概して参照ピクチャデータを記憶するメモリであってよい。DPB230は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのうちのいずれかによって形成され得る。復号されたピクチャバッファ(DPB)230は、1つまたは複数のフィルタ処理済みのブロック221を記憶するように構成され得る。復号されたピクチャバッファ230は、以前にフィルタ処理された他のブロック、たとえば、同じ現在のピクチャの、または異なるピクチャの、以前に再構成およびフィルタ処理されたブロック221、たとえば、以前に再構成されたピクチャを記憶するようにさらに構成されてよく、たとえば、インター予測のために、以前に再構成すなわち復号された全体的なピクチャ(ならびに、対応する参照ブロックおよびサンプル)、および/または部分的に再構成された現在のピクチャ(ならびに、対応する参照ブロックおよびサンプル)を提供し得る。たとえば、再構成されたブロック215が、ループフィルタユニット220によってフィルタ処理されていないか、または再構成されたブロックもしくはサンプルのさらに処理された任意の他のバージョンである場合、復号されたピクチャバッファ(DPB)230はまた、1つまたは複数のフィルタ処理されていない再構成されたブロック215、または概して、フィルタ処理されていない再構成済みのサンプルを、記憶するように構成されてもよい。
モード選択ユニット260は、区分ユニット262、インター予測ユニット244、およびイントラ予測ユニット254を備え、元のピクチャデータ、たとえば、元のブロック203(現在のピクチャ17の現在のブロック203)、ならびに同じ(現在の)ピクチャの、かつ/あるいは1つまたは複数の以前に復号されたピクチャからの、たとえば、復号されたピクチャバッファ230または他のバッファ(たとえば、図示しないラインバッファ)からの、再構成されたピクチャデータ、たとえば、フィルタ処理された再構成済みのサンプルもしくはブロック、および/またはフィルタ処理されていない再構成済みのサンプルもしくはブロックを、受信または取得するように構成される。再構成されたピクチャデータは、予測ブロック265または予測子265を取得するために、予測、たとえば、インター予測またはイントラ予測のための、参照ピクチャデータとして使用される。
区分ユニット262は、現在のブロック203をより小さい区分、たとえば、正方形または長方形のサイズのより小さいブロックに、区分(すなわち分割)し得る。これらのより小さいブロック(サブブロックと呼ばれることもある)は、一層小さい区分にさらに区分され得る。このことはまた、ツリー区分または階層的ツリー区分と呼ばれ、たとえば、ルートツリーレベル0(階層レベル0、深度0)における、ルートブロックは、再帰的に区分されてよく、たとえば、次に低いツリーレベルの2つ以上のブロック、たとえば、ツリーレベル1(階層レベル1、深度1)におけるノードに区分されてよく、これらのブロックは再び、たとえば、終結基準が充足されており、たとえば、最大ツリー深度または最小ブロックサイズに到達したので、区分が終結されるまで、次に低いレベルの2つ以上のブロック、たとえば、ツリーレベル2(階層レベル2、深度2)などに区分されてよい。それ以上区分されないブロックは、ツリーのリーフブロックまたはリーフノードとも呼ばれる。2つの区分への区分を使用するツリーは2分木(BT:Binary-Tree)と呼ばれ、3つの区分への区分を使用するツリーは3分木(TT:Ternary-Tree)と呼ばれ、4つの区分への区分を使用するツリーは4分木(QT:Quad-Tree)と呼ばれる。
イントラ予測モードのセットは、たとえば、HEVCにおいて規定されるように、35個の異なるイントラ予測モード、たとえば、DC(または、平均)モードおよび平面モードのような全方向性モード、もしくは方向性モードを備えてよく、または、たとえば、VVCのために規定されるように、67個の異なるイントラ予測モード、たとえば、DC(または、平均)モードおよび平面モードのような全方向性モード、もしくは方向性モードを備えてよい。
インター予測モードのセット(または、可能なインター予測モード)は、利用可能な参照ピクチャ(すなわち、たとえば、DBP230の中に記憶されている、少なくとも部分的に復号された、以前のピクチャ)、ならびに他のインター予測パラメータ、たとえば、最良に整合する参照ブロックを求めて探索するために参照ピクチャ全体が使用されるのか、それとも一部のみ、たとえば、参照ピクチャの現在のブロックのエリアの周囲の探索ウィンドウエリアが使用されるのか、ならびに/または、たとえば、ピクセル補間、たとえば、ハーフペル補間/セミペル補間および/もしくはクォーターペル補間が適用されるか否かに依存する。
エントロピー符号化ユニット270は、量子化された係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に対して、たとえば、エントロピー符号化アルゴリズムまたは方式(たとえば、可変長コーディング(VLC)方式、コンテキスト適応型VLC方式(CAVLC)、算術コーディング方式、2値化方式、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率区間区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法または技法)、あるいはバイパス(圧縮なし)を適用して、たとえば、符号化されたビットストリーム21の形式で、出力部272を介して出力され得る符号化されたピクチャデータ21を取得するように構成され、その結果、たとえば、ビデオデコーダ30は、復号のためにパラメータを受信および使用し得る。符号化されたビットストリーム21は、ビデオデコーダ30へ送信されてよく、または後でビデオデコーダ30によって送信するかまたは取り出すためにメモリの中に記憶されてもよい。
図3は、この本出願の技法を実施するように構成されるビデオデコーダ30の一例を示す。ビデオデコーダ30は、たとえば、エンコーダ20によって符号化された、符号化されたピクチャデータ21(たとえば、符号化されたビットストリーム21)を受信して、復号されたピクチャ331を取得するように構成される。符号化されたピクチャデータまたはビットストリームは、符号化されたピクチャデータを復号するための情報、たとえば、符号化されたビデオスライス(および/または、タイルグループもしくはタイル)のピクチャブロックを表すデータ、および関連するシンタックス要素を備える。
エントロピー復号ユニット304は、ビットストリーム21(または概して、符号化されたピクチャデータ21)を構文解析し、たとえば、符号化されたピクチャデータ21へのエントロピー復号を実行して、たとえば、量子化された係数309および/または復号されたコーディングパラメータ(図3に示さず)、たとえば、インター予測パラメータ(たとえば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(たとえば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素のうちのいずれかまたはすべてを取得するように構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明したような符号化方式に対応する復号アルゴリズムまたは復号方式を適用するように構成され得る。エントロピー復号ユニット304は、モード適用ユニット360にインター予測パラメータ、イントラ予測パラメータ、および/または他のシンタックス要素を、またデコーダ30の他のユニットに他のパラメータを提供するように、さらに構成され得る。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。スライスおよびそれぞれのシンタックス要素に加えて、またはそれらの代替として、タイルグループおよび/またはタイルならびにそれぞれのシンタックス要素が受信および/または使用され得る。
逆量子化ユニット310は、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化されたピクチャデータ21から量子化パラメータ(QP)(または概して、逆量子化に関係する情報)および量子化された係数を受信し、量子化パラメータに基づいて、復号された量子化された係数309に対して逆量子化を適用して、変換係数311と呼ばれることもある量子化解除された係数311を取得するように構成され得る。逆量子化プロセスは、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス(または、タイルもしくはタイルグループ)の中のビデオブロックごとの、ビデオエンコーダ20によって決定された量子化パラメータの使用を含んでよい。
逆変換処理ユニット312は、変換係数311とも呼ばれる量子化解除された係数311を受信し、サンプル領域における再構成された残差ブロック213を取得するために量子化解除された係数311に変換を適用するように構成され得る。再構成された残差ブロック213は、変換ブロック313と呼ばれることもある。変換は、逆変換、たとえば、逆DCT変換、逆DST変換、逆整数変換、または概念的に類似の逆変換プロセスであってよい。逆変換処理ユニット312は、量子化解除された係数311に適用されるべき変換を決定するために、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化されたピクチャデータ21から変換パラメータまたは対応する情報を受信するようにさらに構成され得る。
再構成ユニット314(たとえば、加算器(adder)または加算器(summer)314)は、たとえば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、予測ブロック365に再構成された残差ブロック313を加算して、サンプル領域における再構成されたブロック315を取得するように構成され得る。
(コーディングループの中またはコーディングループの後のいずれかの)ループフィルタユニット320は、たとえば、ピクセル遷移を平滑化するか、またはビデオ品質を別の方法で改善するために、再構成されたブロック315をフィルタ処理してフィルタ処理済みのブロック321を取得するように構成される。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応型オフセット(SAO)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応型ループフィルタ(ALF)、シャープ化フィルタ、平滑化フィルタ、または協調フィルタ、あるいはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えてよい。ループフィルタユニット320はループ内フィルタであるものとして図3に示されるが、他の構成では、ループフィルタユニット320はループ後フィルタとして実装されてもよい。
ピクチャの復号されたビデオブロック321は、次いで、他のピクチャに対する後続の動き補償のための、かつ/または出力されるそれぞれ表示用の、参照ピクチャとして復号されたピクチャ331を記憶する、復号されたピクチャバッファ330の中に記憶される。
インター予測ユニット344は、インター予測ユニット244と(詳細には、動き補償ユニットと)同一であってよく、イントラ予測ユニット354は、機能がインター予測ユニット254と同一であってよく、区分および/もしくは予測パラメータ、または符号化されたピクチャデータ21から(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)受信されたそれぞれの情報に基づいて、分割または区分決定および予測を実行する。モード適用ユニット360は、(フィルタ処理されているかまたはフィルタ処理されていない)再構成されたピクチャ、ブロック、またはそれぞれのサンプルに基づいて、ブロックごとに予測(イントラ予測またはインター予測)を実行して、予測ブロック365を取得するように構成され得る。
ux = ( mvx + 2bitDepth ) % 2bitDepth (1)
mvx = ( ux >= 2bitDepth-1 ) ? ( ux - 2bitDepth ) : ux (2)
uy = ( mvy + 2bitDepth ) % 2bitDepth (3)
mvy = ( uy >= 2bitDepth-1 ) ? ( uy - 2bitDepth ) : uy (4)
ただし、mvxは画像ブロックまたはサブブロックの動きベクトルの水平成分であり、mvyは画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、uxおよびuyは中間値を示す。
ux = ( mvpx + mvdx +2bitDepth ) % 2bitDepth (5)
mvx = ( ux >= 2bitDepth-1 ) ? ( ux - 2bitDepth ) : ux (6)
uy = ( mvpy + mvdy +2bitDepth ) % 2bitDepth (7)
mvy = ( uy >= 2bitDepth-1 ) ? ( uy - 2bitDepth ) : uy (8)
vx = Clip3(-2bitDepth-1, 2bitDepth-1 -1, vx)
vy = Clip3(-2bitDepth-1, 2bitDepth-1 -1, vy)
ただし、vxは画像ブロックまたはサブブロックの動きベクトルの水平成分であり、vyは画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、x、y、およびzはそれぞれ、MVクリッピングプロセスの3つの入力値に対応し、関数Clip3の定義は以下の通りである。
f=(p0+p1+1)>>1
重み付き双予測の場合、次のように予測が実行される。
f=((p0×w0+p1×w1+2logWD)>>(logWD+1))+((o0+o1+1)>>1)
重み付き予測が、フェードイン、フェードアウト、またはクロスフェードなどの、照明変化を補償できることに留意する価値がある。
- 1に等しいsps_weighted_pred_flagは、SPSを参照するPスライスに重み付き予測が適用されてよいことを指定する。0に等しいsps_weighted_pred_flagは、SPSを参照するPスライスに重み付き予測が適用されないことを指定する。
- 1に等しいsps_weighted_bipred_flagは、SPSを参照するBスライスに明示的な重み付き予測が適用されてよいことを指定する。0に等しいsps_weighted_bipred_flagは、SPSを参照するBスライスに明示的な重み付き予測が適用されないことを指定する。
- 0に等しいpps_weighted_pred_flagは、PPSを参照するPスライスに重み付き予測が適用されないことを指定する。1に等しいpps_weighted_pred_flagは、PPSを参照するPスライスに重み付き予測が適用されることを指定する。sps_weighted_pred_flagが0に等しいとき、pps_weighted_pred_flagの値は0に等しいものとする。
- 0に等しいpps_weighted_bipred_flagは、PPSを参照するBスライスに明示的な重み付き予測が適用されないことを指定する。1に等しいpps_weighted_bipred_flagは、PPSを参照するBスライスに明示的な重み付き予測が適用されることを指定する。sps_weighted_bipred_flagが0に等しいとき、pps_weighted_bipred_flagの値は0に等しいものとする。
ChromaOffsetL0[ i ][ j ] = Clip3( -128, 127, ( 128 + delta_chroma_offset_l0[ i ][ j ] - ( ( 128 * ChromaWeightL0[ i ][ j ] ) >> ChromaLog2WeightDenom ) ) )
- スライスヘッダの中に存在する場合、ref_pic_list_struct( listIdx, rplsIdx )シンタックス構造は、現在のピクチャ(そのスライスを含むピクチャ)の参照ピクチャリストlistIdxを指定する。
- そうでない(SPSの中に存在する)場合、ref_pic_list_struct( listIdx, rplsIdx )シンタックス構造は、参照ピクチャリストlistIdxのための候補を指定し、この節の残部の中で指定されるセマンティックにおける「現在のピクチャ」という用語は、(1)SPSの中に含まれるref_pic_list_struct( listIdx, rplsIdx )シンタックス構造のリストの中へのインデックスに等しいref_pic_list_idx[ listIdx ]を含む1つまたは複数のスライスを有し、かつ(2)SPSを参照するCVSの中にある、各ピクチャを指す。
for( i = 0, NumLtrpEntries[ listIdx ][ rplsIdx ] = 0; i < num_ref_entries[ listIdx ][ rplsIdx ]; i++ )
if(!inter_layer_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] && !st_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] )
NumLtrpEntries[ listIdx ][ rplsIdx ]++
if( sps_weighted_pred_flag || sps_weighted_bipred_flag )
AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] = abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ]
else
AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] = abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ] + 1
for( i = 0; i < num_ref_entries[ listIdx ][ rplsIdx ]; i++ )
if( !inter_layer_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] && st_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] )
DeltaPocValSt[ listIdx ][ rplsIdx ][ i ] = ( strp_entry_sign_flag[ listIdx ][ rplsIdx ][ i ] ) ? AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] : 0 - AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ]
if( sps_weighted_pred_flag || sps_weighted_bipred_flag )
AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] = abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ]
else
AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] = abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ] + 1
WPU2 = 8 - WPU1
- slice_typeがPに等しい場合、weightedPredFlagはpps_weighted_pred_flagに等しく設定される。
- そうでない(slice_typeがBに等しい)場合、weightedPredFlagはpps_weighted_bipred_flagに等しく設定される。
- すべての次の条件が真である場合、ciip_flag[ x0 ][ y0 ]は1に等しいものと推測される。
- sps_ciip_enabled_flagが1に等しい。
- general_merge_flag[ x0 ][ y0 ]が1に等しい。
- merge_subblock_flag[ x0 ][ y0 ]が0に等しい。
- regular_merge_flag[ x0 ][ y0 ]が0に等しい。
- cbWidthが128よりも小さい。
- cbHeightが128よりも小さい。
- cbWidth * cbHeightが64以上である。
- そうでない場合、ciip_flag[ x0 ][ y0 ]は0に等しいものと推測される。
- すべての次の条件が真である場合、MergeTriangleFlag[ x0 ][ y0 ]は1に等しく設定される。
- sps_triangle_enabled_flagが1に等しい。
- slice_typeがBに等しい。
- general_merge_flag[ x0 ][ y0 ]が1に等しい。
- MaxNumTriangleMergeCandが2以上である。
- cbWidth * cbHeightが64以上である。
- regular_merge_flag[ x0 ][ y0 ]が0に等しい。
- merge_subblock_flag[ x0 ][ y0 ]が0に等しい。
- ciip_flag[ x0 ][ y0 ]が0に等しい。
- weightedPredFlagが0に等しい。
- そうでない場合、MergeTriangleFlag[ x0 ][ y0 ]は0に等しく設定される。
MaxNumTriangleMergeCand = MaxNumMergeCand - max_num_merge_cand_minus_max_num_triangle_cand
- 次の条件のすべてが真である場合、weightedPredFlagは0に設定される。
0からNumRefIdxActive[ 0 ]までのiに対してluma_weight_l0_flag[i]が0に等しい。
0からNumRefIdxActive[ 1 ]までのiに対してluma_weight_l1_flag[i]が0に等しい。
0からNumRefIdxActive[ 0 ]までのiに対してchroma_weight_l0_flag[i]が0に等しい。
0からNumRefIdxActive[ 1 ]までのiに対してchroma_weight_l0_flag[i]が0に等しい。
- そうでない場合、weightedPredFlagは1に設定される。
lumaWeightedFlagA = predListFlagA ? luma_weight_l1_flag[ refIdxA ] : luma_weight_l0_flag[ refIdxA ]
lumaWeightedFlagB = predListFlagB ? luma_weight_l1_flag[ refIdxB ] : luma_weight_l0_flag[ refIdxB ]
chromaWeightedFlagA = predListFlagA ? chroma_weight_l1_flag[ refIdxA ] : chroma_weight_l0_flag[ refIdxA ]
chromaWeightedFlagB = predListFlagB ? chroma_weight_l1_flag[ refIdxB ] : chroma_weight_l0_flag[ refIdxB ]
lumaWeightedFlag = lumaWeightedFlagA || lumaWeightedFlagB
chromaWeightedFlag = chromaWeightedFlagA || chromaWeightedFlagB.
lumaWeightedFlagA = predListFlagA ? luma_weight_l1_flag[ refIdxA ] : luma_weight_l0_flag[ refIdxA ]
lumaWeightedFlagB = predListFlagB ? luma_weight_l1_flag[ refIdxB ] : luma_weight_l0_flag[ refIdxB ]
chromaWeightedFlagA = predListFlagA ? chroma_weight_l1_flag[ refIdxA ] : chroma_weight_l0_flag[ refIdxA ]
chromaWeightedFlagB = predListFlagB ? chroma_weight_l1_flag[ refIdxB ] : chroma_weight_l0_flag[ refIdxB ]
lumaWeightedFlag = lumaWeightedFlagA || lumaWeightedFlagB
chromaWeightedFlag = chromaWeightedFlagA || chromaWeightedFlagB
- 現在のコーディングブロックの幅および高さを指定する2つの変数nCbWおよびnCbH、
- 2つの(nCbW)×(nCbH)アレイpredSamplesAおよびpredSamplesB、
- 予測リストフラグpredListFlagAおよびpredListFlagB、
- 参照インデックスrefIdxAおよびrefIdxB、
- 色成分インデックスを指定する変数cIdx、
- サンプルビット深度bitDepth。
- ルーマサンプルに対してcIdxが0に等しい場合、以下が適用される。
log2Wd = luma_log2_weight_denom + shift1
w0 = predListFlagA ? LumaWeightL1[ refIdxA ] : LumaWeightL0[ refIdxA ]
w1 = predListFlagB ? LumaWeightL1[ refIdxB ] : LumaWeightL0[ refIdxB ]
o0 = ( predListFlagA ? luma_offset_l1[ refIdxA ] : luma_offset_l0[ refIdxA ] ) << ( BitDepthY - 8 )
o1 = ( predListFlagB ? luma_offset_l1[ refIdxB ] : luma_offset_l0[ refIdxB ] ) << ( BitDepthY - 8 )
- そうでない(クロマサンプルに対してcIdxが0に等しくない)場合、以下が適用される。
log2Wd = ChromaLog2WeightDenom + shift1
w0 = predListFlagA ? ChromaWeightL1[ refIdxA ][ cIdx - 1 ] : ChromaWeightL0[ refIdxA ][ cIdx - 1 ]
w1 = predListFlagA ? ChromaWeightL1[ refIdxB ][ cIdx - 1 ] : ChromaWeightL0[ refIdxB ][ cIdx - 1 ]
o0 = ( predListFlagA ? ChromaOffsetL1[ refIdxA ][ cIdx - 1 ] : ChromaOffsetL0[ refIdxA ][ cIdx - 1 ] ) << ( BitDepthC - 8 )
o1 = ( predListFlagB ? ChromaOffsetL1[ refIdxB ][ cIdx - 1 ] : ChromaOffsetL0[ refIdxB ][ cIdx - 1 ] ) << ( BitDepthC - 8 )
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesA[ x ][ y ] * w0 + predSamplesB[ x ][ y ] * w1 + ( ( o0 + o1 + 1 ) << log2Wd ) ) >> ( log2Wd + 1 ) )
- LumaWeightL0[i]
- luma_offset_l0[ i ]は、RefPicList[ 0 ][ i ]を使用するリスト0予測に対してルーマ予測値に適用される加法的なオフセットである。luma_offset_l0[ i ]の値は、両端値を含む-128~127という範囲中にあるものとする。luma_weight_l0_flag[ i ]が0に等しいとき、luma_offset_l0[ i ]は0に等しいものと推測される。
- 現在のコーディングブロックの幅および高さを指定する2つの変数nCbWおよびnCbH、
- 2つの(nCbW)×(nCbH)アレイpredSamplesLAおよびpredSamplesLB、
- 区分方向を指定する変数triangleDir、
- 色成分インデックスを指定する変数cIdx。
nCbR = ( nCbW > nCbH ) ? ( nCbW / nCbH ) : ( nCbH / nCbW )
- cIdxが0に等しい場合、bitDepthはBitDepthYに等しく設定される。
- そうでない場合、bitDepthはBitDepthCに等しく設定される。
- 変数shift1はMax( 5, 17 - bitDepth)に等しく設定される。
- 変数offset1は1 << ( shift1 - 1 )に等しく設定される。
- 変数wIdxは次のように導出される。
- cIdxが0に等しく、かつtriangleDirが0に等しい場合、以下が適用される。
wIdx = ( nCbW > nCbH ) ? ( Clip3( 0, 8, ( x / nCbR - y ) + 4 ) ) : ( Clip3( 0, 8, ( x - y / nCbR ) + 4 ) )
- そうではなく、cIdxが0に等しく、かつtriangleDirが1に等しい場合、以下が適用される。
wIdx = ( nCbW > nCbH ) ? ( Clip3( 0, 8, ( nCbH - 1 - x / nCbR - y ) + 4 ) ) ( Clip3( 0, 8, ( nCbW - 1 - x - y / nCbR ) + 4 ) )
そうではなく、cIdxが0よりも大きく、かつtriangleDirが0に等しい場合、以下が適用される。
wIdx = ( nCbW > nCbH ) ? ( Clip3( 0, 4, ( x / nCbR - y ) + 2 ) ) : ( Clip3( 0, 4, ( x - y / nCbR ) + 2 ) )
そうでない場合(cIdxが0よりも大きく、かつtriangleDirが1に等しい場合)、以下が適用される。
wIdx = ( nCbW > nCbH ) ? ( Clip3( 0, 4, ( nCbH - 1 - x / nCbR - y ) + 2 ) ) ( Clip3( 0, 4, ( nCbW - 1 - x - y / nCbR ) + 2 ) )
- 予測サンプルの重みを指定する変数wValueは、次のようにwIdxおよびcIdxを使用して導出される。
wValue = ( cIdx = = 0 ) ? Clip3( 0, 8, wIdx ) : Clip3( 0, 8, wIdx * 2 )
- 予測サンプル値は次のように導出される。
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesLA[ x ][ y ] * wValue + predSamplesLB[ x ][ y ] * ( 8 - wValue ) + offset1 ) >> shift1 )
- 現在のコーディングブロックの幅および高さを指定する2つの変数nCbWおよびnCbH、
- 2つの(nCbW)×(nCbH)アレイpredSamplesLAおよびpredSamplesLB、
- 幾何学的区分の角度インデックスを指定する変数angleIdx、
- 幾何学的区分の距離idxを指定する変数distanceIdx、
- 色成分インデックスを指定する変数cIdx。
- cIdxが0に等しい場合、bitDepthはBitDepthYに等しく設定される。
- そうでない場合、bitDepthはBitDepthCに等しく設定される。
- 変数shift1はMax( 5, 17 - bitDepth)に等しく設定される。
- 変数offset1は1 << ( shift1 - 1 )に等しく設定される。
- hwRatioはnCbH / nCbWに設定される。
- displacementXはangleIdxに設定される。
- displacementYは(displacementX + 8)%32に設定される。
- partIdxはangleIdx >=13 && angleIdx <=27 ? 1 : 0に設定される。
- rhoは、表8~表12の中で指定される、Disとして示されるルックアップテーブルを使用して、以下の値に設定される。
rho = (Dis[displacementX]<< 8) + (Dis[displacementY] << 8)
以下の条件のうちの1つが真である場合、変数shiftHorは0に等しく設定される。
angleIdx %16が8に等しい。
angleIdx %16が0に等しくなく、かつhwRatio≧1である。
そうでない場合、shiftHorは1に等しく設定される。
shiftHorが0に等しい場合、offsetXおよびoffsetYは次のように導出される。
offsetX = ( 256 - nCbW ) >> 1
offsetY = ( 256 - nCbH ) >> 1 + angleIdx < 16 ? (distanceIdx * nCbH) >> 3 : -((distanceIdx * nCbH) >> 3)
そうではなく、shiftHorが1に等しい場合、offsetXおよびoffsetYは次のように導出される。
offsetX = ( 256 - nCbW ) >> 1 + angleIdx < 16 ? (distanceIdx * nCbW) >> 3 : -((distanceIdx * nCbW) >> 3)
offsetY = (256 - nCbH ) >> 1
変数weightIdxおよびweightIdxAbsは、x = 0..nCbW - 1およびy = 0..nCbH - 1を伴うルックアップテーブル表9を使用して以下のように計算される。
weightIdx = (((x + offsetX)<<1) + 1)*Dis[displacementX] + (((y + offsetY )<<1) + 1))*Dis[displacementY] - rho
weightIdxAbs = Clip3(0, 26, abs(weightIdx))
x = 0..nCbW - 1およびy = 0..nCbH - 1を伴うsampleWeightL[ x ][ y ]の値は、GeoFilterとして示される表10に従って設定される。
sampleWeightL[ x ][ y ] = weightIdx <= 0 ? GeoFilter[weightIdxAbs] : 8 - GeoFilter[weightIdxAbs]
x = 0..nCbW - 1およびy = 0..nCbH - 1を伴う値sampleWeightC[ x ][ y ]は次のように設定される。
sampleWeightC[ x ][ y ] = sampleWeightL[ (x<< (SubWidthC - 1) ) ][ (y<< (SubHeightC - 1) ) ]
注- サンプルsampleWeightL[ x ][ y ]の値もsampleWeightL[ x -shiftX][ y-shiftY ]から導出され得る。angleIdxが4よりも大きく12よりも小さいか、またはangleIdxが20よりも大きく24よりも小さい場合、shiftXは分割角度の正接であり、shiftYは1であり、そうでない場合、shiftXは分割角度の1であり、shiftYは分割角度の余接である。正接値が無限大である場合、shiftXが1であるかまたはshiftYが0であり、余接値が無限大である場合、shiftXが0であるかまたはshiftYが1である。
pbSamples[ x ][ y ] = partIdx ? Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesLA[ x ][ y ] * ( 8 - sampleWeightX[ x ][ y ]) + predSamplesLB[ x ][ y ] * sampleWeightX [ x ][ y ] + offset1 ) >> shift1 ) : Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesLA[ x ][ y ] * sampleWeightX[ x ][ y ] + predSamplesLB[ x ][ y ] * ( 8 - sampleWeightX[ x ][ y ]) + offset1 ) >> shift1 )
PHは、PHに関連するコーディングされたピクチャのすべてのスライスにとって共通である情報を含む。
注1- gdr_enabled_flagが1に等しく、かつ現在のピクチャのPicOrderCntValが、関連するGDRピクチャのRpPicOrderCntVal以上であるとき、出力順序における現在および後続の復号されたピクチャは、存在するとき、関連するGDRピクチャに復号順序で先行する、以前のイントラランダムアクセスポイント(IRAP)ピクチャから復号プロセスを開始することによって生み出された対応するピクチャとの完全な一致である。
MaxNumMergeCand = 6 - picsix_minus_max_num_merge_cand
存在するとき、スライスヘッダシンタックス要素slice_pic_order_cnt_lsbの値は、コーディングされたピクチャのすべてのスライスヘッダの中で同じであるものとする。
RpPicOrderCntVal = PicOrderCntVal + recovery_poc_cnt
- sps_subpic_id_signalling_present_flagが1に等しい場合、slice_subpic_idの長さはsps_subpic_id_len_minus1 + 1に等しい。
- そうではなく、ph_subpic_id_signalling_present_flagが1に等しい場合、slice_subpic_idの長さはph_subpic_id_len_minus1 + 1に等しい。
- そうではなく、pps_subpic_id_signalling_present_flagが1に等しい場合、slice_subpic_idの長さはpps_subpic_id_len_minus1 + 1に等しい。
- そうでない場合、slice_subpic_idの長さはCeil( Log2 ( sps_num_subpics_minus1 + 1 ) )に等しい。
- スライスアドレスはラスタ走査タイルインデックスである。
- slice_addressの長さはCeil( Log2 ( NumTilesInPic ) )ビットである。
- slice_addressの値は、両端値を含む0~NumTilesInPic - 1という範囲中にあるものとする。
- スライスアドレスは、第SubPicIdxのサブピクチャ内のスライスのスライスインデックスである。
- slice_addressの長さはCeil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) )ビットである。
- slice_addressの値は、両端値を含む0~NumSlicesInSubpic[ SubPicIdx ] - 1という範囲中にあるものとする。
- rect_slice_flagが0に等しいか、またはsubpics_present_flagが0に等しい場合、slice_addressの値は、同じコーディングされたピクチャのいかなる他のコーディングされたスライスネットワークアブストラクションレイヤ(NAL)ユニットのslice_addressの値にも等しくてはならない。
- そうでない場合、slice_subpic_id値とslice_address値とのペアは、同じコーディングされたピクチャのいかなる他のコーディングされたスライスNALユニットのslice_subpic_id値とslice_address値とのペアにも等しくてはならない。
- rect_slice_flagが0に等しいとき、ピクチャのスライスは、それらのslice_address値の昇順をなすものとする。
- ピクチャのスライスの形状は、各コーディングツリーユニット(CTU)が、復号されたとき、ピクチャ境界からなるか、または以前に復号されたCTUの境界からなる、その左の境界全体および上の境界全体を有しなければならないようなものとする。
if( rect_slice_flag ) {
picLevelSliceIdx = SliceSubpicToPicIdx[ SubPicIdx ][ slice_address ]
NumCtuInCurrSlice = NumCtuInSlice[ picLevelSliceIdx ]
for( i = 0; i < NumCtuInCurrSlice; i++ )
CtbAddrInCurrSlice[ i ] = CtbAddrInSlice[ picLevelSliceIdx ][ i ]
} else {
NumCtuInCurrSlice = 0
for( tileIdx = slice_address; tileIdx <= slice_address + num_tiles_in_slice_minus1[ i ]; tileIdx++ ) {
tileX = tileIdx % NumTileColumns
tileY = tileIdx / NumTileColumns
for( ctbY = tileRowBd[ tileY ]; ctbY < tileRowBd[ tileY + 1 ]; ctbY++ ) {
for( ctbX = tileColBd[ tileX ]; ctbX < tileColBd[ tileX + 1 ]; ctbX++ ) {
CtbAddrInCurrSlice[ NumCtuInCurrSlice ] = ctbY * PicWidthInCtb + ctbX
NumCtuInCurrSlice++
}
}
}
}
if( subpic_treated_as_pic_flag[ SubPicIdx ] ) {
SubPicLeftBoundaryPos = subpic_ctu_top_left_x[ SubPicIdx ] * CtbSizeY
SubPicRightBoundaryPos = Min( pic_width_max_in_luma_samples - 1, ( subpic_ctu_top_left_x[ SubPicIdx ] + subpic_width_minus1[ SubPicIdx ] + 1 ) * CtbSizeY - 1)
SubPicTopBoundaryPos = subpic_ctu_top_left_y[ SubPicIdx ] *CtbSizeY
SubPicBotBoundaryPos = Min( pic_height_max_in_luma_samples - 1, ( subpic_ctu_top_left_y[ SubPicIdx ] + subpic_height_minus1[ SubPicIdx ] + 1 ) * CtbSizeY - 1)
}
- pic_rpl_present_flagが1に等しい場合、slice_rpl_sps_flag[ i ]の値はpic_rpl_sps_flag[ i ]に等しいものと推測される。
- そうではなく、num_ref_pic_lists_in_sps[ i ]が0に等しい場合、ref_pic_list_sps_flag[ i ]の値は0に等しいものと推測される。
- そうではなく、num_ref_pic_lists_in_sps[ i ]が0よりも大きい場合、かつrpl1_idx_present_flagが0に等しい場合、slice_rpl_sps_flag[ 1 ]の値はslice_rpl_sps_flag[ 0 ]に等しいものと推測される。
if( pic_rpl_present_flag )
RplsIdx[ i ] = PicRplsIdx[ i ]
else
RplsIdx[ i ] = slice_rpl_sps_flag[ i ] ? slice_rpl_idx[ i ] : num_ref_pic_lists_in_sps[ i ]
if( pic_rpl_present_flag )
PocLsbLt[ i ][ j ] = PicPocLsbLt[ i ][ j ] (142)
else
PocLsbLt[ i ][ j ] = ltrp_in_slice_header_flag[ i ][ RplsIdx[ i ] ] ? slice_poc_lsb_lt[ i ][ j ] : rpls_poc_lsb_lt[ listIdx ][ RplsIdx[ i ] ][ j ] (143)
- prevTid0PicのPicOrderCntVal、
- prevTid0PicのRefPicList[ 0 ]またはRefPicList[ 1 ]の中のエントリによって参照され現在のピクチャと同じnuh_layer_idを有する各ピクチャのPicOrderCntVal、
- prevTid0Picに復号順序で後続し、現在のピクチャと同じnuh_layer_idを有し、かつ現在のピクチャに復号順序で先行する、各ピクチャのPicOrderCntVal。
if( pic_rpl_present_flag )
FullPocLt[ i ][ j ] = PicFullPocLt[ i ][ j ]
else {
if( j = = 0 )
DeltaPocMsbCycleLt[ i ][ j ] = delta_poc_msb_cycle_lt[ i ][ j ]
else
DeltaPocMsbCycleLt[ i ][ j ] = delta_poc_msb_cycle_lt[ i ][ j ] + DeltaPocMsbCycleLt[ i ][ j - 1 ]
FullPocLt[ i ][ j ] = PicOrderCntVal - DeltaPocMsbCycleLt[ i ][ j ] * MaxPicOrderCntLsb - ( PicOrderCntVal & ( MaxPicOrderCntLsb - 1 ) ) + PocLsbLt[ i ][ j ]
}
for( i = 0; i < 2; i++ ) {
if( slice_type = = B || ( slice_type = = P && i = = 0 ) ) {
if( num_ref_idx_active_override_flag )
NumRefIdxActive[ i ] = num_ref_idx_active_minus1[ i ] + 1 (145)
else {
if( num_ref_entries[ i ][ RplsIdx[ i ] ] >= num_ref_idx_preset_active_minus1[ i ] + 1 )
NumRefIdxActive[ i ] = num_ref_idx_preset_active_minus1[ i ] + 1
else
NumRefIdxActive[ i ] = num_ref_entries[ i ][ RplsIdx[ i ] ]
}
} else /* slice_type = = I || ( slice_type = = P && i = = 1 ) */
NumRefIdxActive[ i ] = 0
}
luma_log2_weight_denomは、すべてのルーマ重み付け係数にとっての分母の、2を底とする対数である。luma_log2_weight_denomの値は、両端値を含む0~7という範囲中にあるものとする。
ChromaOffsetL0[ i ][ j ] = Clip3( -128, 127, (128 + delta_chroma_offset_l0[ i ][ j ] - ( (128 * ChromaWeightL0[ i ][ j ] ) >> ChromaLog2WeightDenom ) ) )
ref_pic_list_struct( listIdx, rplsIdx )シンタックス構造は、SPSの中またはスライスヘッダの中に存在し得る。シンタックス構造がスライスヘッダの中に含まれるのかそれともSPSの中に含まれるのかに応じて、以下が適用される。
- スライスヘッダの中に存在する場合、ref_pic_list_struct( listIdx, rplsIdx )シンタックス構造は、現在のピクチャ(スライスを含むピクチャ)の参照ピクチャリストlistIdxを指定する。
- そうでない(SPSの中に存在する)場合、ref_pic_list_struct( listIdx, rplsIdx )シンタックス構造は、参照ピクチャリストlistIdxのための候補を指定し、この節の残部の中で指定されるセマンティックにおける「現在のピクチャ」という用語は、1)SPSの中に含まれるref_pic_list_struct( listIdx, rplsIdx )シンタックス構造のリストの中へのインデックスに等しいref_pic_list_idx[ listIdx ]を含む1つまたは複数のスライスを有し、かつ2)SPSを参照するコーディングされたビデオシーケンス(CVS)である、各ピクチャを指す。
for( i = 0, NumLtrpEntries[ listIdx ][ rplsIdx ] = 0; i < num_ref_entries[ listIdx ][ rplsIdx ]; i++ )
if( !inter_layer_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] && !st_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] ) (151)
NumLtrpEntries[ listIdx ][ rplsIdx ]++
if( sps_weighted_pred_flag || sps_weighted_bipred_flag )
AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] = abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ]
else
AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] = abs_delta_poc_st[ listIdx ][ rplsIdx ][ i ] + 1
for( i = 0; i < num_ref_entries[ listIdx ][ rplsIdx ]; i++ )
if( !inter_layer_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] && st_ref_pic_flag[ listIdx ][ rplsIdx ][ i ] )
DeltaPocValSt[ listIdx ][ rplsIdx ][ i ] = ( strp_entry_sign_flag[ listIdx ][ rplsIdx ][ i ] ) ? AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ] : 0 - AbsDeltaPocSt[ listIdx ][ rplsIdx ][ i ]
- 表14に記載されたWPパラメータをSHからPHに移動させること、
- GEO/TPMパラメータをPHからSHに逆戻りして移動させること、
- すなわち、WPを伴う参照ピクチャが使用され得るとき(たとえば、フラグlumaWeightedFlagまたはのうちの少なくとも1つが真に等しい場合)、そのようなスライスに対してMaxNumTriangleMergeCandを0または1に等しく設定することによって、MaxNumTriangleMergeCandのセマンティックを変更することから、
参照ブロックP0およびP1が取り上げられる。
- 現在のピクチャの左上ルーマサンプルに対する現在のルーマコーディングブロックの左上サンプルのルーマロケーション( xCb, yCb )、
- ルーマサンプルにおける現在のコーディングブロックの幅を指定する変数cbWidth、
- ルーマサンプルにおける現在のコーディングブロックの高さを指定する変数cbHeight。
- 隣接コーディングユニットの利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、およびavailableFlagB2、
- 隣接コーディングユニットの参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、およびrefIdxLXB2、
- 隣接コーディングユニットの予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、およびpredFlagLXB2、
- 隣接コーディングユニットの1/16分数サンプル確度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、およびmvLXB2、
- ハーフサンプル補間フィルタインデックスhpelIfIdxA0、hpelIfIdxA1、hpelIfIdxB0、hpelIfIdxB1、およびhpelIfIdxB2、
- 双予測重みインデックスbcwIdxA0、bcwIdxA1、bcwIdxB0、bcwIdxB1、およびbcwIdxB2。
- 隣接ルーマコーディングブロックの内側のルーマロケーション( xNbB1, yNbB1 )は、( xCb + cbWidth - 1, yCb - 1 )に等しく設定される。
- 節6.4.4の中で指定されるような隣接ブロック利用可能性を求める導出プロセスが、( xCb, yCb )に等しく設定された現在のルーマロケーション( xCurr, yCurr )、隣接ルーマロケーション( xNbB1, yNbB1 )、TRUEに等しく設定されたcheckPredModeY、および0に等しく設定されたcIdxを入力として用いて呼び出され、出力はブロック利用可能性フラグavailableB1に割り当てられる。
- 変数availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1、hpelIfIdxB1、およびbcwIdxB1は、次のように導出される。
- availableB1がFALSEに等しい場合、availableFlagB1は0に等しく設定され、Xが0または1であって、mvLXB1の両方の成分は0に等しく設定され、refIdxLXB1は-1に等しく設定され、predFlagLXB1は0に等しく設定され、hpelIfIdxB1は0に等しく設定され、bcwIdxB1は0に等しく設定される。
- そうでない場合、availableFlagB1は1に等しく設定され、以下の割当てが行われる。
mvLXB1 = MvLX[ xNbB1 ][ yNbB1 ] (501)
refIdxLXB1 = RefIdxLX[ xNbB1 ][ yNbB1 ] (502)
predFlagLXB1 = PredFlagLX[ xNbB1 ][ yNbB1 ] (503)
hpelIfIdxB1 = HpelIfIdx[ xNbB1 ][ yNbB1 ] (504)
bcwIdxB1 = BcwIdx[ xNbB1 ][ yNbB1 ] (505)
- 隣接ルーマコーディングブロックの内側のルーマロケーション( xNbA1, yNbA1 )は、( xCb - 1, yCb + cbHeight - 1 )に等しく設定される。
- 節6.4.4の中で指定されるような隣接ブロック利用可能性を求める導出プロセスが、( xCb, yCb )に等しく設定された現在のルーマロケーション( xCurr, yCurr )、隣接ルーマロケーション( xNbA1, yNbA1 )、TRUEに等しく設定されたcheckPredModeY、および0に等しく設定されたcIdxを入力として用いて呼び出され、出力はブロック利用可能性フラグavailableA1に割り当てられる。
- 変数availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1、hpelIfIdxA1、およびbcwIdxA1は、次のように導出される。
- 以下の条件のうちの1つまたは複数が真である場合、availableFlagA1は0に等しく設定され、Xが0または1であって、mvLXA1の両方の成分は0に等しく設定され、refIdxLXA1は-1に等しく設定され、predFlagLXA1は0に等しく設定され、hpelIfIdxA1は0に等しく設定され、bcwIdxA1は0に等しく設定される。
- availableA1がFALSEに等しい。
- availableB1がTRUEに等しく、かつルーマロケーション( xNbA1, yNbA1 )および( xNbB1, yNbB1 )が、同じ動きベクトルおよび同じ参照インデックスを有する。
- WPDisabledX[ RefIdxLX[ xNbA1 ][ yNbA1 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
- WPDisabledX[ RefIdxLX[ xNbB1 ][ yNbB1 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
- そうでない場合、availableFlagA1は1に等しく設定され、以下の割当てが行われる。
mvLXA1 = MvLX[ xNbA1 ][ yNbA1 ] (506)
refIdxLXA1 = RefIdxLX[ xNbA1 ][ yNbA1 ] (507)
predFlagLXA1 = PredFlagLX[ xNbA1 ][ yNbA1 ] (508)
hpelIfIdxA1 = HpelIfIdx[ xNbA1 ][ yNbA1 ] (509)
bcwIdxA1 = BcwIdx[ xNbA1 ][ yNbA1 ] (510)
- 隣接ルーマコーディングブロックの内側のルーマロケーション( xNbB0, yNbB0 )は、( xCb + cbWidth, yCb - 1 )に等しく設定される。
- 節6.4.4の中で指定されるような隣接ブロック利用可能性を求める導出プロセスが、( xCb, yCb )に等しく設定された現在のルーマロケーション( xCurr, yCurr )、隣接ルーマロケーション( xNbB0, yNbB0 )、TRUEに等しく設定されたcheckPredModeY、および0に等しく設定されたcIdxを入力として用いて呼び出され、出力はブロック利用可能性フラグavailableB0に割り当てられる。
- 変数availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0、hpelIfIdxB0、およびbcwIdxB0は、次のように導出される。
- 以下の条件のうちの1つまたは複数が真である場合、availableFlagB0は0に等しく設定され、Xが0または1であって、mvLXB0の両方の成分は0に等しく設定され、refIdxLXB0は-1に等しく設定され、predFlagLXB0は0に等しく設定され、hpelIfIdxB0は0に等しく設定され、bcwIdxB0は0に等しく設定される。
- availableB0がFALSEに等しい。
- availableB1がTRUEに等しく、かつルーマロケーション( xNbB1, yNbB1 )および( xNbB0, yNbB0 )が、同じ動きベクトルおよび同じ参照インデックスを有する。
- WPDisabledX[ RefIdxLX[ xNbB0 ][ yNbB0 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
- WPDisabledX[ RefIdxLX[ xNbB1 ][ yNbB1 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
-
- そうでない場合、availableFlagB0は1に等しく設定され、以下の割当てが行われる。
mvLXB0 = MvLX[ xNbB0 ][ yNbB0 ] (511)
refIdxLXB0 = RefIdxLX[ xNbB0 ][ yNbB0 ] (512)
predFlagLXB0 = PredFlagLX[ xNbB0 ][ yNbB0 ] (513)
hpelIfIdxB0 = HpelIfIdx[ xNbB0 ][ yNbB0 ] (514)
bcwIdxB0 = BcwIdx[ xNbB0 ][ yNbB0 ] (515)
- 隣接ルーマコーディングブロックの内側のルーマロケーション( xNbA0, yNbA0 )は、( xCb - 1, yCb + cbWidth )に等しく設定される。
- 節6.4.4の中で指定されるような隣接ブロック利用可能性を求める導出プロセスが、( xCb, yCb )に等しく設定された現在のルーマロケーション( xCurr, yCurr )、隣接ルーマロケーション( xNbA0, yNbA0 )、TRUEに等しく設定されたcheckPredModeY、および0に等しく設定されたcIdxを入力として用いて呼び出され、出力はブロック利用可能性フラグavailableA0に割り当てられる。
- 変数availableFlagA0、refIdxLXA0、predFlagLXA0、mvLXA0、hpelIfIdxA0、およびbcwIdxA0は、次のように導出される。
- 以下の条件のうちの1つまたは複数が真である場合、availableFlagA0は0に等しく設定され、Xが0または1であって、mvLXA0の両方の成分は0に等しく設定され、refIdxLXA0は-1に等しく設定され、predFlagLXA0は0に等しく設定され、hpelIfIdxA0は0に等しく設定され、bcwIdxA0は0に等しく設定される。
- availableA0がFALSEに等しい。
- availableA1がTRUEに等しく、かつルーマロケーション( xNbA1, yNbA1 )および( xNbA0, yNbA0 )が、同じ動きベクトルおよび同じ参照インデックスを有する。
- WPDisabledX[ RefIdxLX[ xNbA0 ][ yNbA0 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
- WPDisabledX[ RefIdxLX[ xNbA1 ][ yNbA1 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
- そうでない場合、availableFlagA0は1に等しく設定され、以下の割当てが行われる。
mvLXA0 = MvLX[ xNbA0 ][ yNbA0 ] (516)
refIdxLXA0 = RefIdxLX[ xNbA0 ][ yNbA0 ] (517)
predFlagLXA0 = PredFlagLX[ xNbA0 ][ yNbA0 ] (518)
hpelIfIdxA0 = HpelIfIdx[ xNbA0 ][ yNbA0 ] (519)
bcwIdxA0 = BcwIdx[ xNbA0 ][ yNbA0 ] (520)
- 隣接ルーマコーディングブロックの内側のルーマロケーション( xNbB2, yNbB2 )は、( xCb - 1, yCb - 1 )に等しく設定される。
- 節6.4.4の中で指定されるような隣接ブロック利用可能性を求める導出プロセスが、( xCb, yCb )に等しく設定された現在のルーマロケーション( xCurr, yCurr )、隣接ルーマロケーション( xNbB2, yNbB2 )、TRUEに等しく設定されたcheckPredModeY、および0に等しく設定されたcIdxを入力として用いて呼び出され、出力はブロック利用可能性フラグavailableB2に割り当てられる。
- 変数availableFlagB2、refIdxLXB2、predFlagLXB2、mvLXB2、hpelIfIdxB2、およびbcwIdxB2は、次のように導出される。
- 以下の条件のうちの1つまたは複数が真である場合、availableFlagB2は0に等しく設定され、Xが0または1であって、mvLXB2の両方の成分は0に等しく設定され、refIdxLXB2は-1に等しく設定され、predFlagLXB2は0に等しく設定され、hpelIfIdxB2は0に等しく設定され、bcwIdxB2は0に等しく設定される。
- availableB2がFALSEに等しい。
- availableA1がTRUEに等しく、かつルーマロケーション( xNbA1, yNbA1 )および( xNbB2, yNbB2 )が、同じ動きベクトルおよび同じ参照インデックスを有する。
- availableB1がTRUEに等しく、かつルーマロケーション( xNbB1, yNbB1 )および( xNbB2, yNbB2 )が、同じ動きベクトルおよび同じ参照インデックスを有する。
- availableFlagA0 + availableFlagA1 + availableFlagB0 + availableFlagB1が、4に等しい。
- WPDisabledX[ RefIdxLX[ xNbB1 ][ yNbB1 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
- WPDisabledX[ RefIdxLX[ xNbB2 ][ yNbB2 ] ]が0に設定され、かつマージモードが非矩形である(たとえば、現在のルーマロケーション( xCurr, yCurr )の中のブロックに対して三角形フラグが1に等しく設定される)。
-
- そうでない場合、availableFlagB2は1に等しく設定され、以下の割当てが行われる。
mvLXB2 = MvLX[ xNbB2 ][ yNbB2 ] (521)
refIdxLXB2 = RefIdxLX[ xNbB2 ][ yNbB2 ] (522)
predFlagLXB2 = PredFlagLX[ xNbB2 ][ yNbB2 ] (523)
hpelIfIdxB2 = HpelIfIdx[ xNbB2 ][ yNbB2 ] (524)
bcwIdxB2 = BcwIdx[ xNbB2 ][ yNbB2 ] (525)
- SliceMaxNumTriangleMergeCand = (lumaWeightedFlag || chromaWeightedFlag) ? 0 : MaxNumTriangleMergeCand
- SliceMaxNumTriangleMergeCand = (lumaWeightedFlag || chromaWeightedFlag) ? 1 : MaxNumTriangleMergeCand
- SliceMaxNumTriangleMergeCand = slice_weighted_pred_flag ? 0 : MaxNumTriangleMergeCand
または
- SliceMaxNumTriangleMergeCand = slice_weighted_pred_flag ? 1 : MaxNumTriangleMergeCand
- 表14に記載されたWPパラメータをSHからPHに移動させること、
- GEOパラメータをPHからSHに逆戻りして移動させること、
- すなわち、WPを伴う参照ピクチャが使用され得るとき(たとえば、フラグlumaWeightedFlagまたはのうちの少なくとも1つが真に等しい場合)、そのようなスライスに対してMaxNumGeoMergeCandを0または1に等しく設定することによって、MaxNumGeoMergeCandのセマンティックを変更することから、
参照ブロックP0およびP1が取り上げられる。
- SliceMaxNumGeoMergeCand = (lumaWeightedFlag || chromaWeightedFlag) ? 0 : MaxNumGeoMergeCand
- SliceMaxNumGeoMergeCand = (lumaWeightedFlag || chromaWeightedFlag) ? 1 : MaxNumGeoMergeCand
- SliceMaxNumGeoMergeCand = slice_weighted_pred_flag ? 0 : MaxNumGeoMergeCand
または
- SliceMaxNumGeoMergeCand = slice_weighted_pred_flag ? 1 : MaxNumGeoMergeCand
MaxNumGeoMergeCand = MaxNumMergeCand - pic_max_num_merge_cand_minus_max_num_geo_cand (87)
- 特定の実装形態がシーケンスパラメータセット(SPS)レベルにおいて非矩形モードマージ候補の個数(MaxNumGeoMergeCand)を導出することを可能にする、マージモード()のための候補の個数に関係するシンタックス要素が、SPSの中でシグナリングされる。
- ピクチャがちょうど1つのスライスを備えるとき、PHはSHの中でシグナリングされ得る。
- 次のように以下のものを伴うPH/SHパラメータオーバーライドメカニズムを規定する。
・関連するコーディングツールのシンタックス要素がPHまたはSHのいずれか(ただし、両方でない)の中に存在するかどうかを指定するPPSフラグ。
・詳細には、参照ピクチャリストおよび重み付き予測テーブルがこのメカニズムを使用し得る。
- (ALF、デブロッキング、RPL、およびSAOのように)PHまたはSHのいずれかの中でシグナリングされ得る予測重みテーブル、すなわち、第5のタイプのデータ。
- ピクチャに対して重み付き予測が有効化されているとき、ピクチャのすべてのスライスは、同じ参照ピクチャリストを有することを必要とされることになる。
- PHに関連するピクチャの中でいくつかのスライスタイプだけが使用される場合、インターおよびイントラ関連のシンタックス要素が条件付きでシグナリングされる。
・詳細には、2つのフラグpic_inter_slice_present_flagおよびpic_intra_slice_present_flagが導入される。
MaxNumMergeCand = 6 - pic_six_minus_max_num_merge_cand (85)
MaxNumGeoMergeCand = MaxNumMergeCand - pic_max_num_merge_cand_minus_max_num_geo_cand (87)
MaxNumMergeCand = 6 - sps_six_minus_max_num_merge_cand (85)
MaxNumGeoMergeCand = MaxNumMergeCand - sps_max_num_merge_cand_minus_max_num_geo_cand (87)
- i = 0..NumRefIdxActive[ 0 ]という値およびj = 0..NumRefIdxActive[ 1 ]という値に対して、luma_weight_l0_flag[ i ]、chroma_weight_l0_flag[ i ]、luma_weight_l1_flag[ j ]、およびchroma_weight_l1_flag[ j ]のすべての値が、0に設定されるかまたは存在しないかのいずれかであるとき。
- SPSまたはPPSの中のフラグが双方向重み付き予測の存在を示すとき(pps_weighted_bipred_flag)。
- 双方向重み付き予測の存在がピクチャヘッダ(PH)またはスライスヘッダ(SH)のいずれかの中で示されるとき。
1に等しいpic_inter_slice_present_flagは、0(B)または1(P)に等しいslice_typeを伴う1つまたは複数のスライスが、PHに関連するピクチャの中に存在し得ることを指定する。0に等しいpic_inter_slice_present_flagは、0(B)または1(P)に等しいslice_typeを伴うスライスが、PHに関連するピクチャの中に存在し得ないことを指定する。
slice_typeは、表7-5に従ってスライスのコーディングタイプを指定する。
Bスライスを復号するとき、現在のコーディングユニットの予測サンプルを生成するためにgeo形状ベースの動き補償が使用されるかどうかを指定する、変数MergeGeoFlag[ x0 ][ y0 ]が、次のように導出される。
- すべての次の条件が真である場合、MergeGeoFlag[ x0 ][ y0 ]は1に等しく設定される。
- sps_geo_enabled_flagが1に等しい。
- slice_typeがBに等しい。
- general_merge_flag[ x0 ][ y0 ]が1に等しい。
- MaxNumGeoMergeCandが2以上である。
- cbWidthが8以上である。
- cbHeightが8以上である。
- cbWidthが8*cbHeightよりも小さい。
- cbHeightが8*cbWidthよりも小さい。
- regular_merge_flag[ x0 ][ y0 ]が0に等しい。
- merge_subblock_flag[ x0 ][ y0 ]が0に等しい。
- ciip_flag[ x0 ][ y0 ]が0に等しい。
- そうでない場合、MergeGeoFlag[ x0 ][ y0 ]は0に等しく設定される。
8.5.7.1 概要
このプロセスは、1に等しいMergeGeoFlag[ xCb ][ yCb ]を用いてコーディングユニットを復号するときに呼び出される。
- 現在のピクチャの左上ルーマサンプルに対して現在のコーディングブロックの左上サンプルを指定するルーマロケーション( xCb, yCb )、
- ルーマサンプルにおける現在のコーディングブロックの幅を指定する変数cbWidth、
- ルーマサンプルにおける現在のコーディングブロックの高さを指定する変数cbHeight、
- 1/16分数サンプル確度でのルーマ動きベクトルmvAおよびmvB、
- クロマ動きベクトルmvCAおよびmvCB、
- 参照インデックスrefIdxAおよびrefIdxB、
- 予測リストフラグpredListFlagAおよびpredListFlagB。
1. AおよびBの各々であるNに対して、以下が適用される。
2. マージgeoモードの区分角度および距離、すなわち、変数angleIdxおよびdistanceIdxは、表36の中で指定されるようなmerge_geo_partition_idx[ xCb ][ yCb ]の値に従って設定される。
3. 変数explictWeightedFlagは次のように導出される。
lumaWeightedFlagA = predListFlagA ? luma_weight_l1_flag[ refIdxA ] : luma_weight_l0_flag[ refIdxA ]
lumaWeightedFlagB = predListFlagB ? luma_weight_l1_flag[ refIdxB ] : luma_weight_l0_flag[ refIdxB ]
chromaWeightedFlagA = predListFlagA ? chroma_weight_l1_flag[ refIdxA ] : chroma_weight_l0_flag[ refIdxA ]
chromaWeightedFlagB = predListFlagB ? chroma_weight_l1_flag[ refIdxB ] : chroma_weight_l0_flag[ refIdxB ]
weightedFlag = lumaWeightedFlagA || lumaWeightedFlagB || chromaWeightedFlagA || chromaWeightedFlagB
4. xL = 0..cbWidth - 1およびyL = 0..cbHeight - 1を伴う、現在のルーマコーディングブロックの内側の予測サンプルpredSamplesL[ xL ][ yL ]は、cbWidthに等しく設定されたコーディングブロック幅nCbW、cbHeightに等しく設定されたコーディングブロック高さnCbH、サンプルアレイpredSamplesLALおよびpredSamplesLBL、ならびに変数angleIdxおよびdistanceIdx、ならびに0に等しいcIdxを入力として用いて、weightedFlagが0に等しい場合には、節8.5.7.2の中で指定されるgeoマージモードのための重み付きサンプル予測プロセスを、またweightedFlagが1に等しい場合には、節8.5.6.6.3の中の明示的な重み付きサンプル予測プロセスを呼び出すことによって導出される。
5. xC = 0..cbWidth / SubWidthC - 1およびyC = 0..cbHeight / SubHeightC - 1を伴う、現在のクロマ成分Cbコーディングブロックの内側の予測サンプルpredSamplesCb[ xC ][ yC ]は、cbWidth / SubWidthCに等しく設定されたコーディングブロック幅nCbW、cbHeight / SubHeightCに等しく設定されたコーディングブロック高さnCbH、サンプルアレイpredSamplesLACbおよびpredSamplesLBCb、ならびに変数angleIdxおよびdistanceIdx、ならびに1に等しいcIdxを入力として用いて、weightedFlagが0に等しい場合には、節8.5.7.2の中で指定されるgeoマージモードのための重み付きサンプル予測プロセスを、またweightedFlagが1に等しい場合には、節8.5.6.6.3の中の明示的な重み付きサンプル予測プロセスを呼び出すことによって導出される。
6. xC = 0..cbWidth / SubWidthC - 1およびyC = 0..cbHeight / SubHeightC - 1を伴う、現在のクロマ成分Crコーディングブロックの内側の予測サンプルpredSamplesCr[ xC ][ yC ]は、cbWidth / SubWidthCに等しく設定されたコーディングブロック幅nCbW、cbHeight / SubHeightCに等しく設定されたコーディングブロック高さnCbH、サンプルアレイpredSamplesLACrおよびpredSamplesLBCr、ならびに変数angleIdxおよびdistanceIdx、ならびに2に等しいcIdxを入力として用いて、weightedFlagが0に等しい場合には、節8.5.7.2の中で指定されるgeoマージモードのための重み付きサンプル予測プロセスを、またweightedFlagが1に等しい場合には、節8.5.6.6.3の中の明示的な重み付きサンプル予測プロセスを呼び出すことによって導出される。
7. 節8.5.7.3の中で指定されるマージgeoモードのための動きベクトル記憶プロセスは、ルーマコーディングブロックロケーション( xCb, yCb )、ルーマコーディングブロック幅cbWidth、ルーマコーディングブロック高さcbHeight、区分方向angleIdxおよびdistanceIdx、ルーマ動きベクトルmvAおよびmvB、参照インデックスrefIdxAおよびrefIdxB、ならびに予測リストフラグpredListFlagAおよびpredListFlagBを入力として用いて呼び出される。
このプロセスへの入力は次の通りである。
- 現在のコーディングブロックの幅および高さを指定する2つの変数nCbWおよびnCbH、
- 2つの(nCbW)×(nCbH)アレイpredSamplesL0およびpredSamplesL1、
- 予測リスト利用フラグpredFlagL0およびpredFlagL1、
- 参照インデックスrefIdxL0およびrefIdxL1、
- 色成分インデックスを指定する変数cIdx、
- サンプルビット深度bitDepth。
- ルーマサンプルに対してcIdxが0に等しい場合、以下が適用される。
log2Wd = luma_log2_weight_denom + shift1 (1010)
w0 = LumaWeightL0[ refIdxL0 ] (1011)
w1 = LumaWeightL1[ refIdxL1 ] (1012)
o0 = luma_offset_l0[ refIdxL0 ] << ( bitDepth - 8 ) (1013)
o1 = luma_offset_l1[ refIdxL1 ] << ( bitDepth - 8 ) (1014)
- そうでない(クロマサンプルに対してcIdxが0に等しくない)場合、以下が適用される。
log2Wd = ChromaLog2WeightDenom + shift1 (1015)
w0 = ChromaWeightL0[ refIdxL0 ][ cIdx - 1 ] (1016)
w1 = ChromaWeightL1[ refIdxL1 ][ cIdx - 1 ] (1017)
o0 = ChromaOffsetL0[ refIdxL0 ][ cIdx - 1 ] << ( bitDepth - 8 ) (1018)
o1 = ChromaOffsetL1[ refIdxL1 ][ cIdx - 1 ] << ( bitDepth - 8 ) (1019)
- predFlagL0が1に等しく、かつpredFlagL1が0に等しい場合、予測サンプル値は次のように導出される。
if( log2Wd >= 1 )
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( ( predSamplesL0[ x ][ y ] * w0 + 2log2Wd - 1 ) >> log2Wd ) + o0 ) (1020)
else
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, predSamplesL0[ x ][ y ] * w0 + o0 )
- そうではなく、predFlagL0が0に等しく、かつpredFlagL1が1に等しい場合、予測サンプル値は次のように導出される。
if( log2Wd >= 1 )
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( ( predSamplesL1[ x ][ y ] * w1 + 2log2Wd - 1 ) >> log2Wd ) + o1 ) (1021)
else
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, predSamplesL1[ x ][ y ] * w1 + o1 )
- そうでない(predFlagL0が1に等しく、かつpredFlagL1が1に等しい)場合、予測サンプル値は次のように導出される。
pbSamples[ x ][ y ] = Clip3( 0, ( 1 << bitDepth ) - 1, ( predSamplesL0[ x ][ y ] * w0 + predSamplesL1[ x ][ y ] * w1 + ( ( o0 + o1 + 1 ) << log2Wd ) ) >> ( log2Wd + 1 ) ) (1022)
a)ビットストリームに従って現在のピクチャに対する第1のインジケータの値を取得することであって、第1のインジケータがスライスタイプを示す、第1のインジケータの値を取得することと、
b)ビットストリームに従って現在のピクチャに対する第2のインジケータの値を取得することであって、第2のインジケータが、重み付き予測パラメータがビットストリームのピクチャヘッダの中に存在するのかそれともビットストリームのスライスヘッダの中に存在するのかを示す、第2のインジケータの値を取得することと
を行うように構成される。
a)ビットストリームに従って現在のピクチャに対する第1のインジケータの値を取得することであって、第1のインジケータがスライスタイプを示す、第1のインジケータの値を取得することと、
b)ビットストリームに従って現在のピクチャに対する第2のインジケータの値を取得することであって、第2のインジケータが、重み付き予測パラメータがビットストリームのピクチャヘッダの中に存在するのかそれともビットストリームのスライスヘッダの中に存在するのかを示す、第2のインジケータの値を取得することと、
c)ビットストリームに従って現在のピクチャに対する第3のインジケータの値を取得することであって、第3のインジケータが、インタースライスに重み付き予測が適用可能であるかどうかを示し、インタースライスのスライスタイプがBスライスまたはPスライスである、第3のインジケータの値を取得することと
を行うように構成される。
本出願において使用される数学演算子は、Cプログラミング言語において使用されるものと類似である。しかしながら、整数除算および算術シフト演算の結果がより精密に定義され、累乗および実数値除算などの追加の演算が定義される。番号付け規約および計数規約は、概して、0から始まり、たとえば、「第1」が0番目と等価であり「第2」が1番目と等価などである。
以下の算術演算子は以下のように定義される。
+ 加算。
- 減算(引数が2つの演算子として)または符号反転(単項前置演算子として)。
* 乗算、行列乗算を含む。
xy 累乗。xのy乗を指定する。他のコンテキストでは、そのような表記法は、累乗としての解釈を対象とはしない上付き文字にするために使用される。
/ 結果の0への切り捨てを伴う整数除算。たとえば、7/4および-7/-4は1に切り捨てられ、-7/4および7/-4は-1に切り捨てられる。
÷ 切り捨てまたは丸めを対象としない、数式における除算を示すために使用される。
x % y 法。x>=0かつy>0となる整数xおよびyのみに対して定義される、xをyで除算した剰余。
以下の論理演算子は以下のように定義される。
x && y xとyとの、ブール論理の「論理積」。
x || y xとyとの、ブール論理の「論理和」。
! ブール論理の「否定」。
x ? y : z xがTRUE、すなわち0に等しくない場合、yの値を求め、そうでない場合、zの値を求める。
以下の関係演算子は以下のように定義される。
> よりも大きい。
>= 以上。
< よりも小さい。
<= 以下。
== 等しい。
!= 等しくない。
以下のビット単位演算子は以下のように定義される。
& ビット単位の「論理積」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。別の引数よりも少ないビットを含む2進数の引数に対して演算するとき、短い方の引数は、0に等しいさらなる有効ビットを追加することによって拡張される。
| ビット単位の「論理和」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。別の引数よりも少ないビットを含む2進数の引数に対して演算するとき、短い方の引数は、0に等しいさらなる有効ビットを追加することによって拡張される。
^ ビット単位の「排他的論理和」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。別の引数よりも少ないビットを含む2進数の引数に対して演算するとき、短い方の引数は、0に等しいさらなる有効ビットを追加することによって拡張される。
x >> y xの2の補数整数表現の、2進数のy桁だけの算術右シフト。この関数は、yの非負の整数値のみに対して定義される。右シフトの結果として最上位ビット(MSB)の中にシフトされるビットは、そのシフト演算の前のxのMSBに等しい値を有する。
x << y xの2の補数整数表現の、2進数のy桁だけの算術左シフト。この関数は、yの非負の整数値のみに対して定義される。左シフトの結果として最下位ビット(LSB)の中にシフトされるビットは、0に等しい値を有する。
以下の算術演算子は以下のように定義される。
= 割当て演算子。
++ インクリメント、すなわち、x++はx = x + 1と等価であり、アレイインデックスにおいて使用されるとき、インクリメント演算の前の変数の値を評価する。
-- デクリメント、すなわち、x--はx = x - 1と等価であり、アレイインデックスにおいて使用されるとき、デクリメント演算の前の変数の値を評価する。
+= 指定された量だけのインクリメント、すなわち、x += 3はx = x + 3と等価でありx += (-3)はx = x + (-3)と等価である。
-= 指定された量だけのデクリメント、すなわち、x -= 3はx = x - 3と等価であり、x -= (-3)はx = x - (-3)と等価である。
値の範囲を指定するために以下の表記法が使用される。
x=y..z xは、yから始まりzまでの(両端値を含む)整数値をとり、x、y、およびzは整数であり、zはyよりも大きい。
Atan(x) 引数xに対して演算し、ラジアンの単位での-π÷2~π÷2(両端値を含む)という範囲の中の出力値を有する、三角法の逆正接関数。
Floor(x) x以下の最大の整数。
Log2(x) 2を底とするxの対数。
Log10(x) 10を底とするxの対数。
Tan(x) ラジアンの単位での引数xに対して演算する、三角法の正接関数。
式における順位の順序が丸括弧の使用によって明示的には示されないとき、以下の規則が適用される。
- より高い順位の演算は、より低い順位の任意の演算の前に評価される。
- 同じ順位の演算は、左から右へ連続的に評価される。
テキストの中で、以下の形式で数学的に記述されることになるような論理演算のステートメント、すなわち、
if(条件0)
ステートメント0
else if(条件1)
ステートメント1
...
else /* 残りの条件における報知的な言及 */
ステートメントn
は、以下のようにして説明され得る。
...以下のように/...以下が適用される
- 条件0の場合、ステートメント0
- そうではなく、条件1の場合、ステートメント1
- ...
- 他の場合(残りの条件における報知的な言及)、ステートメントn。
if(条件0a && 条件0b)
ステートメント0
else if(条件1a || 条件1b)
ステートメント1
...
else
ステートメントn
は、以下のようにして説明され得る。
...以下のように/...以下が適用される
- 次の条件のすべてが真である場合、ステートメント0:
- 条件0a
- 条件0b
- そうではなく、以下の条件のうちの1つまたは複数が真である場合、ステートメント1:
- 条件1a
- 条件1b
- ...
- 他の場合、ステートメントn
if(条件0)
ステートメント0
if(条件1)
ステートメント1
は、以下のようにして説明され得る。
条件0のとき、ステートメント0
条件1のとき、ステートメント1。
決定結果に応じて、重み付き予測パラメータがピクチャヘッダの中またはスライスヘッダの中に存在し得ることを、ピクチャパラメータセットの中のフラグによってシグナリングすることとを含む。
1に等しいことは、重み付き予測パラメータが、ピクチャパラメータセットを参照するスライスヘッダの中に存在しないが、PPSを参照するピクチャヘッダの中に存在し得ることを指定し、ピクチャパラメータセットの中のフラグが0に等しいことは、重み付き予測パラメータが、ピクチャパラメータセットを参照するピクチャヘッダの中に存在しないが、ピクチャパラメータセットを参照するスライスヘッダの中に存在し得ることを指定する。
1に等しいことは、重み付き予測パラメータが、ピクチャパラメータセットを参照するスライスヘッダの中に存在しないが、PPSを参照するピクチャヘッダの中に存在し得ることを指定し、ピクチャパラメータセットの中のフラグが0に等しいことは、重み付き予測パラメータが、ピクチャパラメータセットを参照するピクチャヘッダの中に存在しないが、ピクチャパラメータセットを参照するスライスヘッダの中に存在し得ることを指定する。
ブロックのグループのための1つまたは複数のインター予測モードパラメータおよび重み付き予測パラメータを取得することと、
1つまたは複数のインター予測モードパラメータおよび重み付き予測パラメータに基づいて現在のブロックに対する予測値を取得することとをさらに備え、インター予測モードパラメータのうちの1つは、現在のブロックのための参照ピクチャ情報を示す。
予測ブロックのルーマ成分および/またはクロマ成分に重み付き予測が適用されるかどうかを示すフラグ、ならびに
予測ブロックの値の線形変換を指定する線形モデルパラメータを備える。
インター予測のための装置。
12 ソースデバイス
13 通信チャネル
14 宛先デバイス
16 ピクチャソース
17 ピクチャ、ピクチャデータ、未加工ピクチャ、未加工ピクチャデータ
18 プリプロセッサ、前処理ユニット
19 前処理済みのピクチャ、前処理済みのピクチャデータ
20 ビデオエンコーダ
21 符号化されたピクチャデータ
22 通信インターフェース、通信ユニット
28 通信インターフェース、通信ユニット
30 ビデオデコーダ、ショートデコーダ、デコーダ
31 復号されたピクチャ、復号されたピクチャデータ
32 ポストプロセッサ、後処理ユニット
33 後処理されたピクチャ、後処理されたピクチャデータ
34 ディスプレイデバイス
46 処理回路構成
201 入力部、入力インターフェース
203 ピクチャブロック
204 残差計算ユニット
205 残差ブロック、残差
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化された係数、量子化変換係数、量子化残差係数
210 逆量子化ユニット
211 量子化解除された係数、逆量子化残差係数
212 逆変換処理ユニット
213 再構成された残差ブロック、対応する量子化解除された係数、変換ブロック
214 再構成ユニット
215 再構成されたブロック
216 バッファ
220 ループフィルタユニット
221 フィルタ処理済みのブロック、フィルタ処理済みの再構成されたブロック
230 復号されたピクチャバッファ
231 復号されたピクチャ
244 インター予測ユニット
254 イントラ予測ユニット
260 モード選択ユニット
262 区分ユニット
265 予測ブロック、予測子
266 シンタックス要素
270 エントロピー符号化ユニット
272 出力部、出力インターフェース
304 エントロピー復号ユニット
309 量子化された係数
310 逆量子化ユニット
311 変換係数、量子化解除された係数
312 逆変換処理ユニット
313 再構成された残差ブロック、変換ブロック
314 再構成ユニット、加算器
315 再構成されたブロック
320 ループフィルタユニット
321 フィルタ処理済みのブロック、ピクチャの復号されたビデオブロック
330 復号されたピクチャバッファ(DPB)
331 復号されたピクチャ
344 インター予測ユニット
354 イントラ予測ユニット
360 モード適用ユニット
365 予測ブロック
400 ビデオコーディングデバイス
410 入口ポート、入力ポート
420 受信機ユニット
430 プロセッサ、論理ユニット、中央処理ユニット
440 送信機ユニット
450 出口ポート、出力ポート
460 メモリ
470 コーディングモジュール
500 装置
502 プロセッサ
504 メモリ
506 コードおよびデータ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
514 2次ストレージ
518 ディスプレイ
610 ビデオ分析
611 統計値
631 状態値
660 符号化エンジン
710、720 インター予測子
730、740 WPパラメータ
750 ブロック
810、820 ブロック
830、840 重みおよびオフセット
850 インター予測ブロック
851、852 予測子
901 インター予測子、ブロック
911、912 予測ブロック、予測子、ブロック
921 重複したエリア
931、932、933、934、935、936 ブロック
1300 装置
1301 非一時的メモリ
1302 プロセッサ
1400 インター予測装置
1401 決定モジュール
1402 取得モジュール
1403 予測モジュール
1700 復号デバイス
1710 ビットストリーム取得ユニット
1720 インジケータ値取得ユニット
1730 構文解析ユニット
1740 予測ユニット
3100 コンテンツ供給システム
3102 キャプチャデバイス
3104 通信リンク
3106 端末デバイス
3108 スマートフォン/パッド
3110 コンピュータ/ラップトップ
3112 ネットワークビデオレコーダ/デジタルビデオレコーダ
3114 TV
3116 セットトップボックス
3118 ビデオ会議システム
3120 ビデオ監視システム
3122 携帯情報端末
3124 車両搭載型デバイス
3126 ディスプレイ
3202 プロトコル進行ユニット
3204 多重化解除ユニット
3206 ビデオデコーダ
3208 オーディオデコーダ
3210 サブタイトルデコーダ
3212 同期ユニット
3214 ビデオ/オーディオディスプレイ
3216 ビデオ/オーディオ/サブタイトルディスプレイ
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、たとえば、逆離散コサイン変換(DCT)もしくは逆離散サイン変換(DST)、または他の逆変換を適用して、サンプル領域における再構成された残差ブロック213(または、対応する量子化解除された係数211)を取得するように構成される。再構成された残差ブロック213は、変換ブロック213と呼ばれることもある。
インター予測モードのセット(または、可能なインター予測モード)は、利用可能な参照ピクチャ(すなわち、たとえば、DPB230の中に記憶されている、少なくとも部分的に復号された、以前のピクチャ)、ならびに他のインター予測パラメータ、たとえば、最良に整合する参照ブロックを求めて探索するために参照ピクチャ全体が使用されるのか、それとも一部のみ、たとえば、参照ピクチャの現在のブロックのエリアの周囲の探索ウィンドウエリアが使用されるのか、ならびに/または、たとえば、ピクセル補間、たとえば、ハーフペル補間/セミペル補間および/もしくはクォーターペル補間が適用されるか否かに依存する。
逆変換処理ユニット312は、変換係数311とも呼ばれる量子化解除された係数311を受信し、サンプル領域における再構成された残差ブロック313を取得するために量子化解除された係数311に変換を適用するように構成され得る。再構成された残差ブロック313は、変換ブロック313と呼ばれることもある。変換は、逆変換、たとえば、逆DCT変換、逆DST変換、逆整数変換、または概念的に類似の逆変換プロセスであってよい。逆変換処理ユニット312は、量子化解除された係数311に適用されるべき変換を決定するために、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化されたピクチャデータ21から変換パラメータまたは対応する情報を受信するようにさらに構成され得る。
インター予測ユニット344は、インター予測ユニット244と(詳細には、動き補償ユニットと)同一であってよく、イントラ予測ユニット354は、機能がイントラ予測ユニット254と同一であってよく、区分および/もしくは予測パラメータ、または符号化されたピクチャデータ21から(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)受信されたそれぞれの情報に基づいて、分割または区分決定および予測を実行する。モード適用ユニット360は、(フィルタ処理されているかまたはフィルタ処理されていない)再構成されたピクチャ、ブロック、またはそれぞれのサンプルに基づいて、ブロックごとに予測(イントラ予測またはインター予測)を実行して、予測ブロック365を取得するように構成され得る。
WPU2 = 8 - WPU1
- 次の条件のすべてが真である場合、weightedPredFlagは0に設定される。
0からNumRefIdxActive[ 0 ]までのiに対してluma_weight_l0_flag[i]が0に等しい。
0からNumRefIdxActive[ 1 ]までのiに対してluma_weight_l1_flag[i]が0に等しい。
0からNumRefIdxActive[ 0 ]までのiに対してchroma_weight_l0_flag[i]が0に等しい。
0からNumRefIdxActive[ 1 ]までのiに対してchroma_weight_l1_flag[i]が0に等しい。
- そうでない場合、weightedPredFlagは1に設定される。
以下の割当て演算子は以下のように定義される。
= 割当て演算子。
++ インクリメント、すなわち、x++はx = x + 1と等価であり、アレイインデックスにおいて使用されるとき、インクリメント演算の前の変数の値を評価する。
-- デクリメント、すなわち、x--はx = x - 1と等価であり、アレイインデックスにおいて使用されるとき、デクリメント演算の前の変数の値を評価する。
+= 指定された量だけのインクリメント、すなわち、x += 3はx = x + 3と等価でありx += (-3)はx = x + (-3)と等価である。
-= 指定された量だけのデクリメント、すなわち、x -= 3はx = x - 3と等価であり、x -= (-3)はx = x - (-3)と等価である。
Claims (24)
- 復号デバイスによって実施されるコーディングの方法であって、
現在のピクチャのためのビットストリームを取得するステップと、
前記ビットストリームに従って前記現在のピクチャに対する第1のインジケータの値を取得するステップであって、前記第1のインジケータがスライスタイプを示す、ステップと、
前記ビットストリームに従って前記現在のピクチャに対する第2のインジケータの値を取得するステップであって、前記第2のインジケータが、重み付き予測パラメータがピクチャヘッダの中に存在するのかそれともスライスヘッダの中に存在するのかを示す、ステップと、
前記第1のインジケータの前記値が第1のプリセット値に等しく、かつ前記第2のインジケータの前記値が第2のプリセット値に等しいとき、前記ビットストリームから現在のブロックに対する前記重み付き予測パラメータの値を構文解析するステップであって、前記現在のブロックが前記現在のピクチャの現在のスライスの中に備えられ、前記第1のプリセット値が整数値であり、前記第2のプリセット値が整数値である、ステップと、
前記重み付き予測パラメータの前記値に従って前記現在のブロックを予測するステップと
を備える、方法。 - 前記第1のインジケータの前記値が、前記ビットストリームの中に備えられたピクチャヘッダに従って取得されるか、または前記第2のインジケータの前記値が、前記ビットストリームの中に備えられたピクチャパラメータセットに従って取得されるか、または前記重み付き予測パラメータの前記値が、前記ビットストリームの中に備えられたピクチャヘッダから構文解析される、請求項1に記載の方法。
- 前記第1のプリセット値が1であり、前記第2のプリセット値が1である、請求項1または2に記載の方法。
- 前記第1のインジケータの前記値が前記第1のプリセット値に等しいことが、前記現在のピクチャの中に備えられた少なくとも1つのスライスのスライスタイプがインタースライスであることを表す、請求項1から3のいずれか一項に記載の方法。
- 前記インタースライスがBスライスまたはPスライスを備える、請求項4に記載の方法。
- 復号デバイスによって実施されるコーディングの方法であって、
現在のピクチャのためのビットストリームを取得するステップと、
前記ビットストリームに従って前記現在のピクチャに対する第1のインジケータの値を取得するステップであって、前記第1のインジケータがスライスタイプを示す、ステップと、
前記ビットストリームに従って前記現在のピクチャに対する第2のインジケータの値を取得するステップであって、前記第2のインジケータが、重み付き予測パラメータがピクチャヘッダの中に存在するのかそれともスライスヘッダの中に存在するのかを示す、ステップと、
前記ビットストリームに従って前記現在のピクチャに対する第3のインジケータの値を取得するステップであって、前記第3のインジケータが、インタースライスに重み付き予測が適用可能であるかどうかを示し、前記インタースライスの前記スライスタイプがBスライスまたはPスライスである、ステップと、
前記第1のインジケータの前記値が第1のプリセット値に等しく、前記第2のインジケータの前記値が第2のプリセット値に等しく、かつ前記第3のインジケータの前記値が、前記インタースライスに重み付き予測が適用可能であることを示すとき、前記ビットストリームから現在のブロックに対する前記重み付き予測パラメータの値を構文解析するステップであって、前記現在のブロックが前記現在のピクチャの現在のスライスの中に備えられ、前記第1のプリセット値が整数値であり、前記第2のプリセット値が整数値である、ステップと、
前記重み付き予測パラメータの前記値に従って前記現在のブロックを予測するステップと
を備える、方法。 - 前記第1のインジケータの前記値が、前記ビットストリームの中に備えられたピクチャヘッダに従って取得されるか、または前記第2のインジケータの前記値が、前記ビットストリームの中に備えられたピクチャパラメータセットに従って取得されるか、または前記重み付き予測パラメータの前記値が、前記ビットストリームの中に備えられたピクチャヘッダに従って取得されるか、または前記第3のインジケータの前記値が、前記ビットストリームの中に備えられたピクチャパラメータセットに従って取得される、請求項6に記載の方法。
- 前記第1のプリセット値が1であり、前記第2のプリセット値が1である、請求項6または7に記載の方法。
- 前記第1のプリセット値に等しい前記第1のインジケータの前記値が、前記現在のピクチャの中に備えられた少なくとも1つのスライスのスライスタイプがインタースライスであることを表す、請求項6から8のいずれか一項に記載の方法。
- 前記第3のインジケータの前記値が1であることが、前記インタースライスに重み付き予測が適用可能であることを示す、請求項6から9のいずれか一項に記載の方法。
- 請求項1から10のいずれか一項に記載の方法を実行するための処理回路構成を備えるデコーダ(30)。
- コンピュータ上またはプロセッサ上で実行されたとき、請求項1から10のいずれか一項に記載の方法を実行するためのプログラムコードを備えるコンピュータプログラム製品。
- デコーダ(30)であって、
1つまたは複数のプロセッサと、
前記プロセッサに結合され前記プロセッサが実行するためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、前記プログラミングが、前記プロセッサによって実行されたとき、請求項1から10のいずれか一項に記載の方法を実行するように前記デコーダを構成する、
デコーダ(30)。 - コンピュータデバイスによって実行されたとき、請求項1から10のいずれか一項に記載の方法を前記コンピュータデバイスに実行させるプログラムコードを搬送する非一時的コンピュータ可読媒体。
- 復号デバイス(1700)であって、
現在のピクチャのためのビットストリームを取得するように構成された、ビットストリーム取得ユニット(1710)と、
前記ビットストリームに従って前記現在のピクチャに対する第1のインジケータの値を取得することであって、前記第1のインジケータがスライスタイプを示す、第1のインジケータの値を取得すること、および
前記ビットストリームに従って前記現在のピクチャに対する第2のインジケータの値を取得することであって、前記第2のインジケータが、重み付き予測パラメータが前記ビットストリームのピクチャヘッダの中に存在するのかそれとも前記ビットストリームのスライスヘッダの中に存在するのかを示す、第2のインジケータの値を取得することを行うように構成された、
インジケータ値取得ユニット(1720)と、
前記第1のインジケータの前記値が第1のプリセット値に等しく、かつ前記第2のインジケータの前記値が第2のプリセット値に等しいとき、前記ビットストリームから現在のブロックに対する前記重み付き予測パラメータの値を構文解析するように構成された、構文解析ユニット(1730)であって、前記現在のブロックが前記現在のピクチャの現在のスライスの中に備えられ、前記第1のプリセット値が整数値であり、前記第2のプリセット値が整数値である、構文解析ユニット(1730)と、
前記重み付き予測パラメータの前記値に従って前記現在のブロックを予測するように構成された、予測ユニット(1740)と
を備える、復号デバイス(1700)。 - 前記インジケータ値取得ユニット(1720)が、前記ビットストリームの中に備えられたピクチャヘッダに従って前記第1のインジケータの前記値を、もしくは前記ビットストリームの中に備えられたピクチャパラメータセットに従って前記第2のインジケータの前記値を取得するように構成されるか、または
前記構文解析ユニット(1730)が、前記ビットストリームの中に備えられたピクチャヘッダから前記重み付き予測パラメータの前記値を構文解析するように構成される、
請求項15に記載の復号デバイス(1700)。 - 前記第1のプリセット値が1であり、前記第2のプリセット値が1である、請求項15または16に記載の復号デバイス(1700)。
- 前記第1のインジケータの前記値が前記第1のプリセット値に等しいことが、前記現在のピクチャの中に備えられた少なくとも1つのスライスのスライスタイプがインタースライスであることを表す、請求項15から17のいずれか一項に記載の復号デバイス(1700)。
- 前記インタースライスがBスライスまたはPスライスを備える、請求項18に記載の復号デバイス(1700)。
- 復号デバイス(1700)であって、
現在のピクチャのためのビットストリームを取得するように構成された、ビットストリーム取得ユニット(1710)と、
前記ビットストリームに従って前記現在のピクチャに対する第1のインジケータの値を取得することであって、前記第1のインジケータがスライスタイプを示す、第1のインジケータの値を取得すること、
前記ビットストリームに従って前記現在のピクチャに対する第2のインジケータの値を取得することであって、前記第2のインジケータが、重み付き予測パラメータが前記ビットストリームのピクチャヘッダの中に存在するのかそれとも前記ビットストリームのスライスヘッダの中に存在するのかを示す、第2のインジケータの値を取得すること、および
前記ビットストリームに従って前記現在のピクチャに対する第3のインジケータの値を取得することであって、前記第3のインジケータが、インタースライスに重み付き予測が適用可能であるかどうかを示し、前記インタースライスの前記スライスタイプがBスライスまたはPスライスである、第3のインジケータの値を取得することを行うように構成された、
インジケータ値取得ユニット(1720)と、
前記第1のインジケータの前記値が第1のプリセット値に等しく、前記第2のインジケータの前記値が第2のプリセット値に等しく、かつ前記第3のインジケータの前記値が、前記インタースライスに重み付き予測が適用可能であることを示すとき、前記ビットストリームから現在のブロックに対する前記重み付き予測パラメータの値を構文解析するように構成された、構文解析ユニット(1730)であって、前記現在のブロックが前記現在のピクチャの現在のスライスの中に備えられ、前記第1のプリセット値が整数値であり、前記第2のプリセット値が整数値である、構文解析ユニット(1730)と、
前記重み付き予測パラメータの前記値に従って前記現在のブロックを予測するように構成された、予測ユニット(1740)と
を備える、復号デバイス(1700)。 - 前記インジケータ値取得ユニット(1720)が、前記ビットストリームの中に備えられたピクチャヘッダに従って前記第1のインジケータの前記値を、もしくは前記ビットストリームの中に備えられたピクチャパラメータセットに従って前記第2のインジケータの前記値を、もしくは前記ビットストリームの中に備えられたピクチャパラメータセットに従って前記第3のインジケータの前記値を取得するように構成されるか、または
前記構文解析ユニット(1730)が、前記ビットストリームの中に備えられたピクチャヘッダから前記重み付き予測パラメータを構文解析するように構成される、
請求項20に記載の復号デバイス(1700)。 - 前記第1のプリセット値が1であり、前記第2のプリセット値が1である、請求項20または21に記載の復号デバイス(1700)。
- 前記第1のプリセット値に等しい前記第1のインジケータの前記値が、前記現在のピクチャの中に備えられた少なくとも1つのスライスのスライスタイプがインタースライスであることを表す、請求項20から22のいずれか一項に記載の復号デバイス(1700)。
- 前記第3のインジケータの前記値が1であることが、前記インタースライスに重み付き予測が適用可能であることを示す、請求項20から23のいずれか一項に記載の復号デバイス(1700)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062960134P | 2020-01-12 | 2020-01-12 | |
US62/960,134 | 2020-01-12 | ||
PCT/RU2021/050003 WO2021045658A2 (en) | 2020-01-12 | 2021-01-12 | Method and apparatus of harmonizing weighted prediction with non-rectangular merge modes |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023510858A true JP2023510858A (ja) | 2023-03-15 |
Family
ID=74853461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022542748A Pending JP2023510858A (ja) | 2020-01-12 | 2021-01-12 | 重み付き予測を非矩形マージモードと調和させる方法および装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US12075045B2 (ja) |
EP (1) | EP4078965A4 (ja) |
JP (1) | JP2023510858A (ja) |
KR (1) | KR20220123717A (ja) |
CN (2) | CN115988219B (ja) |
AU (1) | AU2021201607A1 (ja) |
BR (1) | BR112022013803A2 (ja) |
CA (1) | CA3167535A1 (ja) |
MX (1) | MX2022008593A (ja) |
WO (1) | WO2021045658A2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112022012154A2 (pt) * | 2019-12-20 | 2022-08-30 | Lg Electronics Inc | Método e dispositivo de codificação de imagem/vídeo baseados em predição ponderada |
CA3167876A1 (en) * | 2020-01-13 | 2021-07-22 | Lg Electronics Inc. | Method and device for weighted prediction for image/video coding |
EP4093029A4 (en) * | 2020-01-13 | 2023-12-27 | Lg Electronics Inc. | METHOD AND APPARATUS FOR CODING IMAGES/VIDEOS BASED ON A PREDICTION WEIGHTED TABLE |
WO2021145687A1 (ko) * | 2020-01-14 | 2021-07-22 | 엘지전자 주식회사 | 서브 픽처 및 픽처 헤더에 관한 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
CN118524226A (zh) * | 2020-01-14 | 2024-08-20 | 华为技术有限公司 | 指示融合模式候选数量的方法和装置 |
MX2022009920A (es) * | 2020-02-19 | 2022-09-09 | Bytedance Inc | Se?alizacion de pesos de una lista de imagenes de referencia. |
AR121127A1 (es) * | 2020-02-29 | 2022-04-20 | Beijing Bytedance Network Tech Co Ltd | Señalización de información de imagen de referencia en un flujo de bits de video |
US11563963B2 (en) | 2020-05-19 | 2023-01-24 | Qualcomm Incorporated | Determining whether to code picture header data of pictures of video data in slice headers |
WO2022198144A1 (en) * | 2021-03-30 | 2022-09-22 | Innopeak Technology, Inc. | Weighted prediction for video coding |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021125700A1 (ko) * | 2019-12-20 | 2021-06-24 | 엘지전자 주식회사 | 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009500941A (ja) * | 2005-07-08 | 2009-01-08 | エルジー エレクトロニクス インコーポレイティド | 情報を圧縮/圧縮解除するためにビデオ信号のコーディング情報をモデリングする方法 |
KR100934674B1 (ko) * | 2006-03-30 | 2009-12-31 | 엘지전자 주식회사 | 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치 |
US8767824B2 (en) * | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
US9451284B2 (en) * | 2011-10-10 | 2016-09-20 | Qualcomm Incorporated | Efficient signaling of reference picture sets |
EP3675497B1 (en) * | 2011-10-17 | 2021-12-29 | Kabushiki Kaisha Toshiba | Encoding method and decoding method |
US9516308B2 (en) * | 2012-04-27 | 2016-12-06 | Qualcomm Incorporated | Parameter set updates in video coding |
US9473769B2 (en) * | 2012-06-08 | 2016-10-18 | Texas Instruments Incorporated | Method and system for reducing slice header parsing overhead in video coding |
US9648318B2 (en) * | 2012-09-30 | 2017-05-09 | Qualcomm Incorporated | Performing residual prediction in video coding |
US9497473B2 (en) * | 2013-10-03 | 2016-11-15 | Qualcomm Incorporated | High precision explicit weighted prediction for video coding |
WO2015085575A1 (en) | 2013-12-13 | 2015-06-18 | Mediatek Singapore Pte. Ltd. | Methods for background residual prediction |
US20150312573A1 (en) | 2014-03-17 | 2015-10-29 | Nokia Technologies Oy | Method and technical equipment for video encoding and decoding |
US20150264404A1 (en) * | 2014-03-17 | 2015-09-17 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
GB2547052B (en) * | 2016-02-08 | 2020-09-16 | Canon Kk | Methods, devices and computer programs for encoding and/or decoding images in video bit-streams using weighted predictions |
WO2018198179A1 (ja) * | 2017-04-25 | 2018-11-01 | オリンパス株式会社 | 画像表示端末、画像送信端末、画像表示システム、画像表示方法、画像送信方法、およびプログラム |
WO2019152283A1 (en) * | 2018-02-02 | 2019-08-08 | Apple Inc. | Techniques of multi-hypothesis motion compensation |
US11206396B2 (en) * | 2019-01-16 | 2021-12-21 | Qualcomm Incorporated | Local illumination compensation in video coding |
-
2021
- 2021-01-12 KR KR1020227027712A patent/KR20220123717A/ko unknown
- 2021-01-12 AU AU2021201607A patent/AU2021201607A1/en active Pending
- 2021-01-12 CN CN202211586724.XA patent/CN115988219B/zh active Active
- 2021-01-12 JP JP2022542748A patent/JP2023510858A/ja active Pending
- 2021-01-12 CA CA3167535A patent/CA3167535A1/en active Pending
- 2021-01-12 CN CN202180008825.6A patent/CN114930836B/zh active Active
- 2021-01-12 MX MX2022008593A patent/MX2022008593A/es unknown
- 2021-01-12 EP EP21709867.2A patent/EP4078965A4/en active Pending
- 2021-01-12 WO PCT/RU2021/050003 patent/WO2021045658A2/en unknown
- 2021-01-12 BR BR112022013803A patent/BR112022013803A2/pt unknown
-
2022
- 2022-07-11 US US17/861,641 patent/US12075045B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021125700A1 (ko) * | 2019-12-20 | 2021-06-24 | 엘지전자 주식회사 | 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN115988219A (zh) | 2023-04-18 |
US20220400260A1 (en) | 2022-12-15 |
CN114930836B (zh) | 2023-12-15 |
EP4078965A4 (en) | 2023-04-05 |
MX2022008593A (es) | 2022-10-20 |
WO2021045658A2 (en) | 2021-03-11 |
WO2021045658A3 (en) | 2021-07-15 |
EP4078965A2 (en) | 2022-10-26 |
AU2021201607A1 (en) | 2022-08-11 |
CN114930836A (zh) | 2022-08-19 |
US12075045B2 (en) | 2024-08-27 |
CN115988219B (zh) | 2024-01-16 |
WO2021045658A9 (en) | 2021-06-10 |
BR112022013803A2 (pt) | 2022-09-13 |
CA3167535A1 (en) | 2021-03-11 |
KR20220123717A (ko) | 2022-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12075045B2 (en) | Method and apparatus of harmonizing weighted prediction with non-rectangular merge modes | |
US20220345748A1 (en) | Encoder, decoder and corresponding methods and apparatus | |
US20220248044A1 (en) | Method and apparatus of harmonizing triangular merge mode with weighted prediction | |
US20220368930A1 (en) | Method and apparatus of signaling the number of candidates for merge mode | |
US20220217332A1 (en) | Harmonizing triangular merge mode with weighted prediction | |
US11412215B2 (en) | Apparatuses and methods for encoding and decoding based on syntax element values | |
US20220201336A1 (en) | Method and apparatus of high-level signaling for weighted prediction | |
US20220247999A1 (en) | Method and Apparatus of Harmonizing Weighted Prediction with Non-Rectangular Merge Modes | |
RU2821011C1 (ru) | Способ и устройство согласования взвешенного предсказания с непрямоугольными режимами слияния | |
RU2823267C1 (ru) | Способ и аппаратный компонент сигнализации числа кандидатов для режима слияния | |
WO2021134393A1 (en) | Method and apparatus of deblocking filtering between boundaries of blocks predicted using weighted prediction and non-rectangular merge modes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220906 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220906 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240813 |