JP2024060057A - ビデオピクチャヘッダ内でのスライスタイプのシグナリング - Google Patents
ビデオピクチャヘッダ内でのスライスタイプのシグナリング Download PDFInfo
- Publication number
- JP2024060057A JP2024060057A JP2024038683A JP2024038683A JP2024060057A JP 2024060057 A JP2024060057 A JP 2024060057A JP 2024038683 A JP2024038683 A JP 2024038683A JP 2024038683 A JP2024038683 A JP 2024038683A JP 2024060057 A JP2024060057 A JP 2024060057A
- Authority
- JP
- Japan
- Prior art keywords
- picture
- video
- slice
- bitstream
- block
- 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
- 230000011664 signaling Effects 0.000 title abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 178
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000006243 chemical reaction Methods 0.000 claims abstract description 33
- 230000033001 locomotion Effects 0.000 claims description 173
- 239000013598 vector Substances 0.000 claims description 88
- 241000023320 Luma <angiosperm> Species 0.000 claims description 80
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 79
- 230000008569 process Effects 0.000 claims description 49
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 16
- 230000003287 optical effect Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 8
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 239000000523 sample Substances 0.000 description 105
- 239000013074 reference sample Substances 0.000 description 30
- 238000009795 derivation Methods 0.000 description 18
- 230000003044 adaptive effect Effects 0.000 description 14
- 230000006978 adaptation Effects 0.000 description 13
- 238000012952 Resampling Methods 0.000 description 11
- 238000001914 filtration Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 239000011449 brick Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 101000683586 Clostridium acetobutylicum (strain ATCC 824 / DSM 792 / JCM 1419 / LMG 5710 / VKM B-1787) Reverse rubrerythrin-1 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 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/46—Embedding additional information in the video signal during the compression process
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 デジタル映像コーディング、具体的には、ビデオピクチャヘッダ内でのスライスタイプのシグナリングに関連する装置、システム及び方法を提供する。【解決手段】 映像処理の方法の一例は、1つ以上のスライスを有する1つ以上の映像ピクチャを有する映像と該映像のビットストリームとの間での変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、該フォーマットルールは、上記1つ以上の映像ピクチャのうち、全てのスライスがIスライスとしてコーディングされる映像ピクチャについて、該映像ピクチャに関するピクチャヘッダからPスライス及びBスライス関連のシンタックス要素が省略されることを規定する。【選択図】 図12
Description
この出願は、2019年12月27日に出願された国際特許出願第PCT/CN2019/129069号の優先権及び利益を主張するものである2020年12月28日に出願された国際出願第PCT/CN2020/140044号の国内移行出願である特願2022-539115の分割出願である。法律の下での全ての目的のために、上記出願の開示全体を、この出願の開示の一部として援用する。
この特許文書は、映像コーティング技術、装置及びシステムに関する。
現在、より良い圧縮比を提供するため、又はより低い複雑さ若しくは並列化実装を可能にする映像符号化及び復号スキームを提供するために、現行のビデオコーデック技術の性能を向上させるための努力が進められている。産業界の専門家が最近、幾つかの新しい映像コーディングツールを提案しており、それらの有効性を判定するためのテストが現在進行中である。
デジタル映像コーティング、そして具体的には、ビデオピクチャヘッダ内でのスライスタイプのシグナリングに関係する装置、システム及び方法が記載される。記載される方法は、既存の映像符号化標準(例えば、ハイエフィシェンシビデオコーディング(High Efficiency Video Coding,HEVC)若しくはバーサタイルビデオコーディング(Versatile Video Coding))及び将来の映像符号化標準若しくはビデオコーデックに適用され得る。
代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この方法は、1つ以上のスライスを有する1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、該フォーマットルールは、上記1つ以上の映像ピクチャのうち、全てのスライスがIスライスとしてコーディングされる映像ピクチャについて、該映像ピクチャに関するピクチャヘッダからPスライス及びBスライス関連のシンタックス要素が省略されることを規定する。
代表的な他の一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この方法は、1つ以上のスライスを有する1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、該フォーマットルールは、各映像ピクチャのピクチャヘッダが、該映像ピクチャ内の全てのスライスが同一のコーディングタイプでコーディングされるかを指し示すシンタックス要素を有することを規定する。
代表的な更なる他の一態様において、開示される技術は、映像処理のための別の方法を提供するために使用され得る。この方法は、1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、該フォーマットルールは、1つ以上の映像ピクチャの各々に対するピクチャヘッダが、そのピクチャを指し示すシンタックス要素を有することを規定する。
代表的な更なる他の一態様において、開示される技術は、映像処理のための別の方法を提供するために使用され得る。この方法は、1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、該フォーマットルールは、ピクチャのピクチャタイプを指し示すシンタックス要素が、アクセスユニット(access unit;AU)デリミターローバイトシーケンスペイロード(raw byte sequence payload;RBSP)内でシグナリングされることを規定し、シンタックス要素は、ピクチャ内の全てのスライスがIスライスであるかを指し示す。
代表的な更なる他の一態様において、開示される技術は、映像処理のための別の方法を提供するために使用され得る。この方法は、1つ以上の映像スライスを有する映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームはフォーマットルールに準拠し、該フォーマットルールは、ピクチャ内の複数のスライスの各々がIスライスであるピクチャについて、スライスタイプのインジケーションが、符号化においてビットストリーム内の複数のスライスのスライスヘッダから除外されること、又は復号においてIスライスであると推定されること、を規定する。
代表的な更なる他の一態様において、開示される技術は、映像処理のための別の方法を提供するために使用され得る。この方法は、Wは、I、B、又はPであるとして、Wスライス又はWピクチャを有する映像と該映像のビットストリームとの間での変換のために、1つ以上の非W関連シンタックス要素がWスライスのスライスヘッダ又はWピクチャのピクチャヘッダ内でシグナリングされるかについての決定を行うことと、該決定に基づいて上記変換を実行することとを含む。
代表的な更なる他の一態様において、ビデオエンコーダ装置が開示される。当該ビデオエンコーダは、上述の方法を実装するように構成されたプロセッサを有する。
代表的な更なる他の一態様において、ビデオデコーダ装置が開示される。当該ビデオデコーダは、上述の方法を実装するように構成されたプロセッサを有する。
代表的な更なる他の一態様において、コードを格納したコンピュータ読み取り可能媒体が開示される。該コードは、プロセッサ実行可能コードの形態で、ここに記載される方法の1つを具現化する。
これらの及び他の特徴が、本文書の全体を通じて記述される。
1. HEVC/H.265における映像符号化
映像符号化標準は、主に、周知のITU-T及びISO/IEC標準の開発を通じて発展してきた。ITU-TがH.261及びH.263を作成し、ISO/IECがMPEG-1及びMPEG-4 Visualを作成出し、そして、これら2つの組織が共同で、H.262/MPEG-2 Video及びH.264/MPEG-4 AVC(Advanced Video Coding)及びH.265/HEVC標準を作成した。H.262以来、映像符号化標準は、時間予測に加えて変換符号化が利用されるハイブリッド映像符号化構造に基づいている。HEVCの先の将来の映像符号化技術を探求するため、2015年にVCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、数多くの新しい方法が、JVETによって採用され、共同探索モデルJEM(Joint Exploration Model)と名付けられたリファレンスソフトウェアに入れられてきた。2018年4月には、HEVCと比較して50%のビットレート低減を目指すVVC標準に取り組むべく、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間でJVET(Joint Video Expert Team)を発足させた。
映像符号化標準は、主に、周知のITU-T及びISO/IEC標準の開発を通じて発展してきた。ITU-TがH.261及びH.263を作成し、ISO/IECがMPEG-1及びMPEG-4 Visualを作成出し、そして、これら2つの組織が共同で、H.262/MPEG-2 Video及びH.264/MPEG-4 AVC(Advanced Video Coding)及びH.265/HEVC標準を作成した。H.262以来、映像符号化標準は、時間予測に加えて変換符号化が利用されるハイブリッド映像符号化構造に基づいている。HEVCの先の将来の映像符号化技術を探求するため、2015年にVCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、数多くの新しい方法が、JVETによって採用され、共同探索モデルJEM(Joint Exploration Model)と名付けられたリファレンスソフトウェアに入れられてきた。2018年4月には、HEVCと比較して50%のビットレート低減を目指すVVC標準に取り組むべく、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間でJVET(Joint Video Expert Team)を発足させた。
VVCドラフトの最新版、すなわち、バーサタイルビデオコーディング(ドラフト6)は:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
にて見つけることができる。VTMと呼ばれるVVCの最新リファレンスソフトウェアは:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-6.0
にて見つけることができる。
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
にて見つけることができる。VTMと呼ばれるVVCの最新リファレンスソフトウェアは:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-6.0
にて見つけることができる。
AVC及びHEVCは、IDR又はイントラランダムアクセスポイント(IRAP)ピクチャを導入する必要なしに解像度を変更する能力を持っておらず、そのような能力は、適応解像度変更(ARC)と称され得る。以下を含めて、ARC機能の恩恵を受けるユースケース又は適用シナリオが存在する。
- ビデオ電話及び会議におけるレート適応。変化するネットワーク状態に対して、コーディングされる映像を適応させるため、ネットワーク状態が悪化して利用可能な帯域幅が小さくなるときに、エンコーダは、より低解像度のピクチャを符号化することによって、それに適応し得る。現在、ピクチャ解像度を変えることは、IRAPピクチャの後にしか行うことができず、これは幾つかの問題を有する。妥当な品質のIRAPピクチャは、インター符号化ピクチャよりも遥かに大きく、それに対応して、復号するのがいっそう複雑になり、時間及びリソースのコストがかかる。このことは、ローディングの理由でデコーダによって解像度変更が要求される場合に問題となる。それはまた、低遅延のバッファ条件を破壊してオーディオ再同期を強制し得るとともに、ストリームのエンド・ツー・エンド遅延が少なくとも一時的に増加することになる。これは、乏しいユーザ体験を与え得る。
- マルチパーティビデオ会議におけるアクティブスピーカ変化。マルチパーティビデオ会議では、アクティブスピーカが、残りの会議参加者に対する映像よりも大きい映像サイズで示されることが一般的である。アクティブスピーカが変わるとき、各参加者に対するピクチャ解像度も調節される必要があり得る。ARC機能を持つことの必要性は、アクティブスピーカのそのような変化が頻繁に発生する場合にいっそう重要になる。
- ストリーミングにおける高速スタート。ストリーミングアプリケーションでは、表示を始める前に、アプリケーションが、ある一定長さの復号ピクチャに至るまでバッファリングするのが一般的である。より低い解像度でビットストリームを始めることは、アプリケーションが、より速く表示を開始するのに十分なピクチャをバッファ内に持つことを可能にする。
- ストリーミングにおける適応ストリームスイッチング。ダイナミックアダプティブストリーミング・オーバ・HTTP(DASH)仕様は、@mediaStreamStructureIdという名称の機能を含んでいる。これは、例えばHEVCにおける関連RASLピクチャを伴うCRAピクチャといった、復号不可能なリーディングピクチャを有するオープンGOPランダムアクセスポイントで、異なる表現間での切り換えを可能にする。同じ映像の2つの異なる表現が異なるビットレートを持つが、空間分解能は同じで、それらが同じ値の@mediaStreamStructureIdを持つとき、関連RASLピクチャを伴うCRAピクチャにて2つの表現間の切り換えを行うことができ、切り換え位置のCRAピクチャに伴うRASLピクチャを許容可能な品質で復号することができ、それ故にシームレスな切り換えを可能にする。ARCを用いることで、@mediaStreamStructureId機能はまた、異なる空間解像度を持つDASH表現間での切り換えにも使用できる。
ARCはダイナミック解像度変換としても知られている。
ARCはまた、例えばH.263付属書Pなどの参照ピクチャリサンプリング(Reference Picture Resampling;RPR)の特殊なケースと見なすこともできる。
2.1. H.263付属書Pにおける参照ピクチャリサンプリング
このモードは、予測のために使用する前に参照ピクチャをワープさせるアルゴリズムを記述する。これは、予測されているピクチャとは異なるソースフォーマットを持つ参照ピクチャをリサンプリングするのに有用であり得る。これはまた、参照ピクチャの形状、サイズ、及び位置をワープさせることによって、グローバル動き推定又は回転運動の推定に使用されることができる。使用されるワープパラメータ及びリサンプリングアルゴリズをシンタックスが含む。参照ピクチャリサンプリングモードの最も単純な動作レベルは、アップサンプリング及びダウンサンプリングプロセスにFIRフィルタを適用すればよいときの黙示的なファクタ4のリサンプリングである。この場合、その使用は、新たなピクチャのサイズ(ピクチャヘッダにて示される)が先行ピクチャのサイズと異なるときに理解されるので、追加のシグナリングオーバヘッドは必要とされない。
このモードは、予測のために使用する前に参照ピクチャをワープさせるアルゴリズムを記述する。これは、予測されているピクチャとは異なるソースフォーマットを持つ参照ピクチャをリサンプリングするのに有用であり得る。これはまた、参照ピクチャの形状、サイズ、及び位置をワープさせることによって、グローバル動き推定又は回転運動の推定に使用されることができる。使用されるワープパラメータ及びリサンプリングアルゴリズをシンタックスが含む。参照ピクチャリサンプリングモードの最も単純な動作レベルは、アップサンプリング及びダウンサンプリングプロセスにFIRフィルタを適用すればよいときの黙示的なファクタ4のリサンプリングである。この場合、その使用は、新たなピクチャのサイズ(ピクチャヘッダにて示される)が先行ピクチャのサイズと異なるときに理解されるので、追加のシグナリングオーバヘッドは必要とされない。
2.2. 以下に列挙する通り、ARCに対処する幾つかの寄稿が提案されている:
JVET-M0135、JVET-M0259、JVET-N0048、JVET-N0052、JVET-N0118、 JVET-N0279。
JVET-M0135、JVET-M0259、JVET-N0048、JVET-N0052、JVET-N0118、 JVET-N0279。
2.3. VVCにおける適合ウィンドウ(Conformance Window)
VVCにおける適合ウィンドウは矩形を定めている。適合ウィンドウの内側のサンプルは関心画像に属する。適合ウィンドウの外側のサンプルは出力時に破棄され得る。
VVCにおける適合ウィンドウは矩形を定めている。適合ウィンドウの内側のサンプルは関心画像に属する。適合ウィンドウの外側のサンプルは出力時に破棄され得る。
2.4. JVET-O2001-v14におけるRPR
JVET-O2001-v14では、RPR(参照ピクチャリサンプリング)としても知られるARCが組み入れられている。
JVET-O2001-v14では、RPR(参照ピクチャリサンプリング)としても知られるARCが組み入れられている。
JVET-O2001-v14におけるRPRでは、コロケートピクチャが現在ピクチャと異なる解像度を持つ場合に、TMVPが無効にされる。その他に、参照ピクチャが現在ピクチャと異なる解像度を持つ場合に、BDOF及びDMVRが無効にされる。
参照ピクチャが現在ピクチャとは異なる解像度を持つ場合に通常のMCを扱うために、補間セクションが以下のように定義される:
8.5.6.3 分数サンプル補間プロセス
8.5.6.3.1 全般
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対して現在コーディングサブブロックの左上サンプルを規定するルマ位置(xSb,ySb)、
- 現在コーディングサブブロックの幅を規定する変数sbWidth、
- 現在コーディングサブブロックの高さを規定する変数sbHeight、
- 動きベクトルオフセットmvOffset、
- 精緻化動きベクトルrefMvLX、
- 選択された参照ピクチャサンプル配列refPicLX、
- ハーフサンプル補間フィルタインデックスhpelIfIdx、
- 双方向オプティカルフローフラグbdofFlag、
- 現在ブロックのカラー成分インデックスを規定する変数cIdx。
このプロセスの出力は以下である:
- 予測サンプル値の(sbWidth+brdExtSize)×(sbHeight+brdExtSize)配列predSamplesLX。
予測ブロック境界拡張サイズbrdExtSizeは、次のように導出される:
brdExtSize=(bdofFlag||(inter_affine_flag[xSb][ySb]&&sps_affine_prof_enabled_flag))?2:0 (8-752)
変数fRefWidthは、ルマサンプル単位で参照ピクチャのPicOutputWidthLに等しく設定される。
変数fRefHeightは、ルマサンプル単位で参照ピクチャのPicOutputHeightLに等しく設定される。
動きベクトルmvLXは、(refMvLX-mvOffset)に等しく設定される。
- cIdxが0に等しい場合、以下が適用される:
- スケーリング係数及びそれらの固定小数点表現が、次のように定義される
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL (8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL (8-754)
- (xIntL,yIntL)をフルサンプル単位で与えられるルマ位置とし、(xFracL,yFracL)を1/16サンプル単位で与えられるオフセットとする。これらの変数は、参照サンプル配列refPicLXの内側の分数サンプル位置を規定するためにこの節でのみ使用される;
- 参照サンプルパディングのための境界ブロックの左上座標(xSbIntL,ySbIntL)が、(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))に等しく設定される;
- 予測ルマサンプル配列preSamplesLXの内側の各ルマサンプル位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize)について、対応する予測ルマサンプル値preSamplesLX[xL][yL]が、次のように導出される:
- (refxSbL,refySbL)及び(refxL,refyL)を、1/16サンプル単位で与えられる動きベクトル(refMvLX[0],refMvLX[1])によって指されるルマ位置とする。変数refxSbL、refxL、refySbL、及びrefyLは、次のように導出される:
refxSbL=((xSb<<4)+refMvLX[0])*hori_scale_fp (8-755)
refxL=((Sign(refxSb)*((Abs(refxSb)+128)>>8)
+xL*((hori_scale_fp+8)>>4))+32)>>6 (8-756)
refySbL=((ySb<<4)+refMvLX[1])*vert_scale_fp (8-757)
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*
((vert_scale_fp+8)>>4))+32)>>6 (8-758)
- 変数xIntL、yIntL、xFracL、及びyFracLは、次のように導出される:
xIntL=refxL>>4 (8-759)
yIntL=refyL>>4 (8-760)
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
- bdofFlagがTRUEに等しく又は(sps_affine_prof_enabled_flagがTRUEに等しく且つinter_affine_flag[xSb][ySb]がTRUEに等しく)、且つ以下の条件のうち1つ以上が真である場合、第8.5.6.3.3節に規定されるルマ整数サンプルフェッチングプロセスを、(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)及びrefPicLXを入力として呼び出すことによって、予測ルマサンプル値preSamplesLX[xL][yL]が導出される:
- xLが0に等しい
- xLがsbWidth+1に等しい
- yLが0に等しい
- yLがsbHeight+1に等しい;
- そうでない場合、第8.5.6.3.2節に規定されるルマサンプル8タップ補間フィルタリングプロセスを、(xIntL-(brdExtSize>0? 1:0),yIntL-(brdExtSize>0? 1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight、及び(xSb,ySb)を入力として呼び出すことによって、予測ルマサンプル値preSamplesLX[xL][yL]が導出される;
- それ以外の場合(cIdxが0に等しくない)、以下が適用される:
- (xIntC,yIntC)をフルサンプル単位で与えられるクロマ位置とし、(xFracC,yFracC)を1/32サンプル単位で与えられるオフセットとする。これらの変数は、参照サンプル配列refPicLXの内側の一般的な分数サンプル位置を規定するためにこの節でのみ使用される;
- 参照サンプルパディングのための境界ブロックの左上座標(xSbIntC,ySbIntC)が、((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))に等しく設定される;
- 予測クロマサンプル配列preSamplesLXの内側の各クロマサンプル位置(xC=0..sbWidth-1,yC=0..sbHeight-1)について、対応する予測クロマサンプル値preSamplesLX[xC][yC]が、次のように導出される:
- (refxSbC,refySbC)及び(refxC,refyC)を、1/32サンプル単位で与えられた動きベクトル(mvLX[0]、mvLX[1])によって指されるクロマ位置とする。変数refxSbC、refySbC、refxC、及びrefyCが、次のように導出される:
refxSbC=((xSb/SubWidthC<<5)+mvLX[0])*hori_scale_fp (8-763)
refxC=((Sign(refxSbC)*((Abs(refxSbC)+256)>>9)
+xC*((hori_scale_fp+8)>>4))+16)>>5 (8-764)
refySbC=((ySb/SubHeightC<<5)+mvLX[1])*vert_scale_fp (8-765)
refyC=((Sign(refySbC)*((Abs(refySbC)+256)>>9)
+yC*((vert_scale_fp+8)>>4))+16)>>5 (8-766)
- 変数xIntC、yIntC、xFracC、及びyFracCが、次のように導出される:
xIntC=refxC>>5 (8-767)
yIntC=refyC>>5 (8-768)
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
- 8.5.6.3.4節に規定されるプロセスを、(xIntC,yIntC)、(xFracC,yFracC)、(xSbIntC,ySbIntC)、sbWidth、sbHeight、及びrefPicLXを入力として呼び出すことによって、予測サンプル値preSamplesLX[xC][yC]が導出される。
8.5.6.3.2 ルマサンプル補間フィルタリングプロセス
このプロセスへの入力は以下である:
- フルサンプル単位のルマ位置(xIntL,yIntL)、
- 分数サンプル単位のルマ位置(xFracL,yFracL)、
- 参照ピクチャの左上のルマサンプルに対して、参照サンプルパディングのための境界ブロックの左上サンプルを規定する、フルサンプル単位のルマ位置(xSbIntL,ySbIntL)、
- ルマ参照サンプル配列refPicLXL、
- ハーフサンプル補間フィルタインデックスhpelIfIdx、
- 現在サブブロックの幅を規定する変数sbWidth、
- 現在サブブロックの高さを規定する変数sbHeight、
- 現在ピクチャの左上ルマサンプルに対して現在サブブロックの左上サンプルを規定するルマ位置(xSb,ySb);
このプロセスの出力は、予測ルマサンプル値preSampleLXLである;
変数shift1、shift2、及びshift3が、次のように導出される:
- 変数shift1はMin(4,BitDepthY-8)に等しく設定され、変数shift2は6に等しく設定され、変数shift3はMax(2,14-BitDepthY)に等しく設定される;
- 変数picWがpic_width_in_luma_samplesに等しく設定され、変数picHがpic_height_in_luma_samplesに等しく設定される;
xFracL又はyFracLに等しい各1/16分数サンプル位置pに対するルマ補間フィルタ係数fL[p]が、次のように導出される:
- MotionModelIdc[xSb][ySb]が0より大きく、且つsbWidth及びsbHeightが両方とも4に等しい場合、ルマ補間フィルタ係数fL[p]は表2で規定される;
- そうでない場合、ルマ補間フィルタ係数fL[p]はhpelIfIdxに応じて表1で規定される;
フルサンプル単位のルマ位置(xInti,yInti)が、i=0..7に対して次のように導出される:
- subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される:
xInti=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xIntL+i-3)
(8-771)
yInti=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yIntL+i-3)
(8-772)
- そうでない場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)場合、以下が適用される:
xInti=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag?
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xIntL+i-3:
xIntL+i-3) (8-773)
yInti=Clip3(0,picH-1,yIntL+i-3) (8-774)
フルサンプルユニットのルマの位置は更に、i=0..7に対して、次のように変更される:
xInti=Clip3(xSbIntL-3,xSbIntL+sbWidth+4,xInti) (8-775)
yInti=Clip3(ySbIntL-3,ySbIntL+sbHeight+4,yInti) (8-776)
予測ルマサンプル値presampleLXLが、次のように導出される:
- xFracL及びyFracLの両方が0に等しい場合、predSampleLXLの値は次のように導出される:
predSampleLXL=refPicLXL[xInt3][yInt3]<<shift3 (8-777)
- そうでなく、xFracLが0に等しくなく且つyFracLが0に等しい場合、predSampleLXLの値は次のように導出される:
- そうでなく、xFracLが0に等しく且つyFracLが0に等しくない場合、predSampleLXLの値は次のように導出される:
- そうでなく、xFracLが0に等しくなく且つyFracLが0に等しくない場合、predSampleLXLの値は次のように導出される:
- n=0..7のサンプル配列temp[n]が、次のように導出される:
- 予測ルマサンプル値predSampleLXLが、次のように導出される:
8.5.6.3.3 ルマ整数サンプルフェッチングプロセス
このプロセスへの入力は以下である:
- フルサンプル単位のルマ位置(xIntL,yIntL)、
- ルマ参照サンプル配列refPicLXL
このプロセスの出力は予測ルマサンプル値preSampleLXLである;
変数shiftがMax(2,14-BitDepthY)に等しく設定される;
変数picWがpic_width_in_luma_samplesに等しく設定され、変数picHがpic_height_in_luma_samplesに等しく設定される;
フルサンプル単位のルマ位置(xInt,yInt)が、次のように導出される:
xInt=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag? (8-782)
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xIntL):xIntL)
yInt=Clip3(0,picH-1,yIntL) (8-783)
予測ルマサンプル値predSampleLXLが、次のように導出される:
predSampleLXL=refPicLXL[xInt][yInt]<<shift3 (8-784)
8.5.6.3.4 クロマサンプル補間プロセス
このプロセスへの入力は以下である:
- フルサンプル単位のクロマ位置(xIntC,yIntC)、
- 1/32分数サンプル単位のクロマ位置(xFracC,yFracC)、
- 参照ピクチャの左上クロマサンプルに対して参照サンプルパディングのための境界ブロックの左上サンプルを規定するフルサンプル単位のクロマ位置(xSbIntC,ySbIntC)、
- 現在サブブロックの幅を規定する変数sbWidth、
- 現在サブブロックの高さを規定する変数sbHight、
- クロマ参照サンプル配列refPicLXC;
このプロセスの出力は予測クロマサンプル値predSampleLXCである;
変数shift1、shift2、及びshift3が、次のように導出される:
- 変数shift1はMin(4,BitDepthC-8)に等しく設定され、変数shift2は6に等しく設定され、変数shift3はMax(2,14-BitDepthC)に等しく設定される;
- 変数picWCがpic_width_in_luma_samples/SubWidthCに等しく設定され、変数picHCがpic_height_in_luma_samples/SubHeightCに等しく設定される;
xFracC又はyFracCに等しい各1/32分数サンプル位置pに対するクロマ補間フィルタ係数fC[p]は、表3で規定される;
変数xOffsetが、((sps_ref_wrapavarunce_offset_minus1+1)*MinCbSizeY)/SubWidthCに等しく設定される;
フルサンプル単位のクロマ位置(xInti,yInti)が、i=0..3に対して、次のように導出される:
- subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される:
xInti=Clip3(SubPicLeftBoundaryPos/SubWidthC,
SubPicRightBoundaryPos/SubWidthC,xIntL+i) (8-785)
yInti=Clip3(SubPicTopBoundaryPos/SubHeightC,
SubPicBotBoundaryPos/SubHeightC,yIntL+i) (8-786)
- そうでない場合(subpic_treated_as_pic_flag[subPicIdx]が0に等しい)、以下が適用される:
xInti=Clip3(0,picWC-1,sps_ref_wraparound_enabled_flag?
ClipH(xOffset,picWC,xIntC+i-1):xIntC+i-1) (8-787)
yInti=Clip3(0,picHC-1,yIntC+i-1) (8-788)
フルサンプル単位のクロマ位置(xInti,yInti)が更に、i=0..3に対して、次のように変更される:
xInti=Clip3(xSbIntC-1,xSbIntC+sbWidth+2,xInti) (8-789)
yInti=Clip3(ySbIntC-1,ySbIntC+sbHeight+2,yInti) (8-790)
予測クロマサンプル値presampleLXCが、次のように導出される:
- xFracC及びyFracCの両方が0に等しい場合、predSampleLXCの値は次のように導出される:
predSampleLXC=refPicLXC[xInt1][yInt1]<<shift3 (8-791)
- そうでなく、xFracCが0に等しくなく且つyFracCが0に等しい場合、predSampleLXCの値は次のように導出される:
- そうでなく、xFracCが0に等しく且つyFracCが0に等しくない場合、predSampleLXCの値は次のように導出される:
- そうでなく、xFracCが0に等しくなく且つyFracCが0に等しくない場合、predSampleLXCの値は次のように導出される:
- n=0..3のサンプル配列temp[n]が、次のように導出される:
- 予測クロマサンプル値predSampleLXCが、次のように導出される:
predSampleLXC=(fC[yFracC][0]*temp[0]+fC[yFracC][1]*temp[1]+
fC[yFracC][2]*temp[2]+fC[yFracC][3]*temp[3])>>shift2
(8-795)
8.5.6.3 分数サンプル補間プロセス
8.5.6.3.1 全般
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対して現在コーディングサブブロックの左上サンプルを規定するルマ位置(xSb,ySb)、
- 現在コーディングサブブロックの幅を規定する変数sbWidth、
- 現在コーディングサブブロックの高さを規定する変数sbHeight、
- 動きベクトルオフセットmvOffset、
- 精緻化動きベクトルrefMvLX、
- 選択された参照ピクチャサンプル配列refPicLX、
- ハーフサンプル補間フィルタインデックスhpelIfIdx、
- 双方向オプティカルフローフラグbdofFlag、
- 現在ブロックのカラー成分インデックスを規定する変数cIdx。
このプロセスの出力は以下である:
- 予測サンプル値の(sbWidth+brdExtSize)×(sbHeight+brdExtSize)配列predSamplesLX。
予測ブロック境界拡張サイズbrdExtSizeは、次のように導出される:
brdExtSize=(bdofFlag||(inter_affine_flag[xSb][ySb]&&sps_affine_prof_enabled_flag))?2:0 (8-752)
変数fRefWidthは、ルマサンプル単位で参照ピクチャのPicOutputWidthLに等しく設定される。
変数fRefHeightは、ルマサンプル単位で参照ピクチャのPicOutputHeightLに等しく設定される。
動きベクトルmvLXは、(refMvLX-mvOffset)に等しく設定される。
- cIdxが0に等しい場合、以下が適用される:
- スケーリング係数及びそれらの固定小数点表現が、次のように定義される
hori_scale_fp=((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL (8-753)
vert_scale_fp=((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL (8-754)
- (xIntL,yIntL)をフルサンプル単位で与えられるルマ位置とし、(xFracL,yFracL)を1/16サンプル単位で与えられるオフセットとする。これらの変数は、参照サンプル配列refPicLXの内側の分数サンプル位置を規定するためにこの節でのみ使用される;
- 参照サンプルパディングのための境界ブロックの左上座標(xSbIntL,ySbIntL)が、(xSb+(mvLX[0]>>4),ySb+(mvLX[1]>>4))に等しく設定される;
- 予測ルマサンプル配列preSamplesLXの内側の各ルマサンプル位置(xL=0..sbWidth-1+brdExtSize,yL=0..sbHeight-1+brdExtSize)について、対応する予測ルマサンプル値preSamplesLX[xL][yL]が、次のように導出される:
- (refxSbL,refySbL)及び(refxL,refyL)を、1/16サンプル単位で与えられる動きベクトル(refMvLX[0],refMvLX[1])によって指されるルマ位置とする。変数refxSbL、refxL、refySbL、及びrefyLは、次のように導出される:
refxSbL=((xSb<<4)+refMvLX[0])*hori_scale_fp (8-755)
refxL=((Sign(refxSb)*((Abs(refxSb)+128)>>8)
+xL*((hori_scale_fp+8)>>4))+32)>>6 (8-756)
refySbL=((ySb<<4)+refMvLX[1])*vert_scale_fp (8-757)
refyL=((Sign(refySb)*((Abs(refySb)+128)>>8)+yL*
((vert_scale_fp+8)>>4))+32)>>6 (8-758)
- 変数xIntL、yIntL、xFracL、及びyFracLは、次のように導出される:
xIntL=refxL>>4 (8-759)
yIntL=refyL>>4 (8-760)
xFracL=refxL&15 (8-761)
yFracL=refyL&15 (8-762)
- bdofFlagがTRUEに等しく又は(sps_affine_prof_enabled_flagがTRUEに等しく且つinter_affine_flag[xSb][ySb]がTRUEに等しく)、且つ以下の条件のうち1つ以上が真である場合、第8.5.6.3.3節に規定されるルマ整数サンプルフェッチングプロセスを、(xIntL+(xFracL>>3)-1),yIntL+(yFracL>>3)-1)及びrefPicLXを入力として呼び出すことによって、予測ルマサンプル値preSamplesLX[xL][yL]が導出される:
- xLが0に等しい
- xLがsbWidth+1に等しい
- yLが0に等しい
- yLがsbHeight+1に等しい;
- そうでない場合、第8.5.6.3.2節に規定されるルマサンプル8タップ補間フィルタリングプロセスを、(xIntL-(brdExtSize>0? 1:0),yIntL-(brdExtSize>0? 1:0))、(xFracL,yFracL)、(xSbIntL,ySbIntL)、refPicLX、hpelIfIdx、sbWidth、sbHeight、及び(xSb,ySb)を入力として呼び出すことによって、予測ルマサンプル値preSamplesLX[xL][yL]が導出される;
- それ以外の場合(cIdxが0に等しくない)、以下が適用される:
- (xIntC,yIntC)をフルサンプル単位で与えられるクロマ位置とし、(xFracC,yFracC)を1/32サンプル単位で与えられるオフセットとする。これらの変数は、参照サンプル配列refPicLXの内側の一般的な分数サンプル位置を規定するためにこの節でのみ使用される;
- 参照サンプルパディングのための境界ブロックの左上座標(xSbIntC,ySbIntC)が、((xSb/SubWidthC)+(mvLX[0]>>5),(ySb/SubHeightC)+(mvLX[1]>>5))に等しく設定される;
- 予測クロマサンプル配列preSamplesLXの内側の各クロマサンプル位置(xC=0..sbWidth-1,yC=0..sbHeight-1)について、対応する予測クロマサンプル値preSamplesLX[xC][yC]が、次のように導出される:
- (refxSbC,refySbC)及び(refxC,refyC)を、1/32サンプル単位で与えられた動きベクトル(mvLX[0]、mvLX[1])によって指されるクロマ位置とする。変数refxSbC、refySbC、refxC、及びrefyCが、次のように導出される:
refxSbC=((xSb/SubWidthC<<5)+mvLX[0])*hori_scale_fp (8-763)
refxC=((Sign(refxSbC)*((Abs(refxSbC)+256)>>9)
+xC*((hori_scale_fp+8)>>4))+16)>>5 (8-764)
refySbC=((ySb/SubHeightC<<5)+mvLX[1])*vert_scale_fp (8-765)
refyC=((Sign(refySbC)*((Abs(refySbC)+256)>>9)
+yC*((vert_scale_fp+8)>>4))+16)>>5 (8-766)
- 変数xIntC、yIntC、xFracC、及びyFracCが、次のように導出される:
xIntC=refxC>>5 (8-767)
yIntC=refyC>>5 (8-768)
xFracC=refyC&31 (8-769)
yFracC=refyC&31 (8-770)
- 8.5.6.3.4節に規定されるプロセスを、(xIntC,yIntC)、(xFracC,yFracC)、(xSbIntC,ySbIntC)、sbWidth、sbHeight、及びrefPicLXを入力として呼び出すことによって、予測サンプル値preSamplesLX[xC][yC]が導出される。
8.5.6.3.2 ルマサンプル補間フィルタリングプロセス
このプロセスへの入力は以下である:
- フルサンプル単位のルマ位置(xIntL,yIntL)、
- 分数サンプル単位のルマ位置(xFracL,yFracL)、
- 参照ピクチャの左上のルマサンプルに対して、参照サンプルパディングのための境界ブロックの左上サンプルを規定する、フルサンプル単位のルマ位置(xSbIntL,ySbIntL)、
- ルマ参照サンプル配列refPicLXL、
- ハーフサンプル補間フィルタインデックスhpelIfIdx、
- 現在サブブロックの幅を規定する変数sbWidth、
- 現在サブブロックの高さを規定する変数sbHeight、
- 現在ピクチャの左上ルマサンプルに対して現在サブブロックの左上サンプルを規定するルマ位置(xSb,ySb);
このプロセスの出力は、予測ルマサンプル値preSampleLXLである;
変数shift1、shift2、及びshift3が、次のように導出される:
- 変数shift1はMin(4,BitDepthY-8)に等しく設定され、変数shift2は6に等しく設定され、変数shift3はMax(2,14-BitDepthY)に等しく設定される;
- 変数picWがpic_width_in_luma_samplesに等しく設定され、変数picHがpic_height_in_luma_samplesに等しく設定される;
xFracL又はyFracLに等しい各1/16分数サンプル位置pに対するルマ補間フィルタ係数fL[p]が、次のように導出される:
- MotionModelIdc[xSb][ySb]が0より大きく、且つsbWidth及びsbHeightが両方とも4に等しい場合、ルマ補間フィルタ係数fL[p]は表2で規定される;
- そうでない場合、ルマ補間フィルタ係数fL[p]はhpelIfIdxに応じて表1で規定される;
フルサンプル単位のルマ位置(xInti,yInti)が、i=0..7に対して次のように導出される:
- subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される:
xInti=Clip3(SubPicLeftBoundaryPos,SubPicRightBoundaryPos,xIntL+i-3)
(8-771)
yInti=Clip3(SubPicTopBoundaryPos,SubPicBotBoundaryPos,yIntL+i-3)
(8-772)
- そうでない場合(subpic_treated_as_pic_flag[SubPicIdx]が0に等しい)場合、以下が適用される:
xInti=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag?
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xIntL+i-3:
xIntL+i-3) (8-773)
yInti=Clip3(0,picH-1,yIntL+i-3) (8-774)
フルサンプルユニットのルマの位置は更に、i=0..7に対して、次のように変更される:
xInti=Clip3(xSbIntL-3,xSbIntL+sbWidth+4,xInti) (8-775)
yInti=Clip3(ySbIntL-3,ySbIntL+sbHeight+4,yInti) (8-776)
予測ルマサンプル値presampleLXLが、次のように導出される:
- xFracL及びyFracLの両方が0に等しい場合、predSampleLXLの値は次のように導出される:
predSampleLXL=refPicLXL[xInt3][yInt3]<<shift3 (8-777)
- そうでなく、xFracLが0に等しくなく且つyFracLが0に等しい場合、predSampleLXLの値は次のように導出される:
- n=0..7のサンプル配列temp[n]が、次のように導出される:
このプロセスへの入力は以下である:
- フルサンプル単位のルマ位置(xIntL,yIntL)、
- ルマ参照サンプル配列refPicLXL
このプロセスの出力は予測ルマサンプル値preSampleLXLである;
変数shiftがMax(2,14-BitDepthY)に等しく設定される;
変数picWがpic_width_in_luma_samplesに等しく設定され、変数picHがpic_height_in_luma_samplesに等しく設定される;
フルサンプル単位のルマ位置(xInt,yInt)が、次のように導出される:
xInt=Clip3(0,picW-1,sps_ref_wraparound_enabled_flag? (8-782)
ClipH((sps_ref_wraparound_offset_minus1+1)*MinCbSizeY,picW,xIntL):xIntL)
yInt=Clip3(0,picH-1,yIntL) (8-783)
予測ルマサンプル値predSampleLXLが、次のように導出される:
predSampleLXL=refPicLXL[xInt][yInt]<<shift3 (8-784)
8.5.6.3.4 クロマサンプル補間プロセス
このプロセスへの入力は以下である:
- フルサンプル単位のクロマ位置(xIntC,yIntC)、
- 1/32分数サンプル単位のクロマ位置(xFracC,yFracC)、
- 参照ピクチャの左上クロマサンプルに対して参照サンプルパディングのための境界ブロックの左上サンプルを規定するフルサンプル単位のクロマ位置(xSbIntC,ySbIntC)、
- 現在サブブロックの幅を規定する変数sbWidth、
- 現在サブブロックの高さを規定する変数sbHight、
- クロマ参照サンプル配列refPicLXC;
このプロセスの出力は予測クロマサンプル値predSampleLXCである;
変数shift1、shift2、及びshift3が、次のように導出される:
- 変数shift1はMin(4,BitDepthC-8)に等しく設定され、変数shift2は6に等しく設定され、変数shift3はMax(2,14-BitDepthC)に等しく設定される;
- 変数picWCがpic_width_in_luma_samples/SubWidthCに等しく設定され、変数picHCがpic_height_in_luma_samples/SubHeightCに等しく設定される;
xFracC又はyFracCに等しい各1/32分数サンプル位置pに対するクロマ補間フィルタ係数fC[p]は、表3で規定される;
変数xOffsetが、((sps_ref_wrapavarunce_offset_minus1+1)*MinCbSizeY)/SubWidthCに等しく設定される;
フルサンプル単位のクロマ位置(xInti,yInti)が、i=0..3に対して、次のように導出される:
- subpic_treated_as_pic_flag[SubPicIdx]が1に等しい場合、以下が適用される:
xInti=Clip3(SubPicLeftBoundaryPos/SubWidthC,
SubPicRightBoundaryPos/SubWidthC,xIntL+i) (8-785)
yInti=Clip3(SubPicTopBoundaryPos/SubHeightC,
SubPicBotBoundaryPos/SubHeightC,yIntL+i) (8-786)
- そうでない場合(subpic_treated_as_pic_flag[subPicIdx]が0に等しい)、以下が適用される:
xInti=Clip3(0,picWC-1,sps_ref_wraparound_enabled_flag?
ClipH(xOffset,picWC,xIntC+i-1):xIntC+i-1) (8-787)
yInti=Clip3(0,picHC-1,yIntC+i-1) (8-788)
フルサンプル単位のクロマ位置(xInti,yInti)が更に、i=0..3に対して、次のように変更される:
xInti=Clip3(xSbIntC-1,xSbIntC+sbWidth+2,xInti) (8-789)
yInti=Clip3(ySbIntC-1,ySbIntC+sbHeight+2,yInti) (8-790)
予測クロマサンプル値presampleLXCが、次のように導出される:
- xFracC及びyFracCの両方が0に等しい場合、predSampleLXCの値は次のように導出される:
predSampleLXC=refPicLXC[xInt1][yInt1]<<shift3 (8-791)
- そうでなく、xFracCが0に等しくなく且つyFracCが0に等しい場合、predSampleLXCの値は次のように導出される:
- n=0..3のサンプル配列temp[n]が、次のように導出される:
predSampleLXC=(fC[yFracC][0]*temp[0]+fC[yFracC][1]*temp[1]+
fC[yFracC][2]*temp[2]+fC[yFracC][3]*temp[3])>>shift2
(8-795)
2.5. JVET-N0236
この寄稿は、オプティカルフローを用いてサブブロックベースアフィン動き補償予測を精緻化する方法を愛知案している。サブブロックベースアフィン動き補償が実行された後、予測サンプルが、オプティカルフロー方程式によって導出された差分を付えることによって精緻化され、これを、オプティカルフローでの予測精緻化(prediction refinement with optical flow;PROF)と呼ぶ、提案する方法は、メモリアクセス帯域幅を増加させることなく、ピクセルレベル粒度でインター予測を達成することができる。
この寄稿は、オプティカルフローを用いてサブブロックベースアフィン動き補償予測を精緻化する方法を愛知案している。サブブロックベースアフィン動き補償が実行された後、予測サンプルが、オプティカルフロー方程式によって導出された差分を付えることによって精緻化され、これを、オプティカルフローでの予測精緻化(prediction refinement with optical flow;PROF)と呼ぶ、提案する方法は、メモリアクセス帯域幅を増加させることなく、ピクセルレベル粒度でインター予測を達成することができる。
動き補償のより細かい粒度を達成するために、この寄稿は、オプティカルフローを用いてサブブロックベースアフィン動き補償予測を精緻化する方法を提案する。サブブロックベースアフィン動き補償が実行された後、オプティカルフロー方程式によって導出された差分を付えることによって、ルマ予測サンプルが精緻化される。提案するPROF(prediction refinement with optical flow)は、以下の4つのステップとして記述される。
ステップ1) サブブロックベースアフィン動き補償を実行して、サブブロック予測I(i,j)を生成する。
ステップ2) 各サンプル位置で3タップフィルタ[-1,0,1]を用いて、サブブロック予測の空間勾配gx(i,j)及びgy(i,j)を計算する:
gx(i,j)=I(i+1,j)-I(i-1,j)
gy(i,j)=I(i,j+1)-I(i,j-1)
ステップ1) サブブロックベースアフィン動き補償を実行して、サブブロック予測I(i,j)を生成する。
ステップ2) 各サンプル位置で3タップフィルタ[-1,0,1]を用いて、サブブロック予測の空間勾配gx(i,j)及びgy(i,j)を計算する:
gx(i,j)=I(i+1,j)-I(i-1,j)
gy(i,j)=I(i,j+1)-I(i,j-1)
この勾配計算のために、サブブロック予測が各サイドに1ピクセルだけ拡張される。メモリ帯域幅及び複雑さを抑制するために、拡張される境界上のピクセルは、参照ピクチャ内の最も近い整数ピクセル位置からコピーされる。従って、パディング領域のための追加の補間は回避される。
ステップ3) オプティカルフロー方程式によってルマ予測精緻化(ΔIと表記):
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
が計算され、ここで、デルタMV(Δv(i,j)と表記)は、図1に示すように、サンプル位置(i,j)について計算されたピクセルMV(v(i,j)と表記)と、ピクセル(i,j)が属するサブブロックのサブブロックMVとの間の差分である。
ステップ3) オプティカルフロー方程式によってルマ予測精緻化(ΔIと表記):
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
が計算され、ここで、デルタMV(Δv(i,j)と表記)は、図1に示すように、サンプル位置(i,j)について計算されたピクセルMV(v(i,j)と表記)と、ピクセル(i,j)が属するサブブロックのサブブロックMVとの間の差分である。
アフィンモデルパラメータ及びサブブロック中心に対するピクセル位置はサブブロックごとに変化されないので、最初のサブブロックについてΔv(i,j)を計算し、それを同一CU内の他のサブブロックに対して再利用することができる。ピクセル位置からサブブロックの中心までの水平方向及び垂直方向のオフセットをx及びyとすると、Δv(x,y)を、次式:
によって導出することができる。
4パラメータアフィンモデルでは、
であり、
6パラメータアフィンモデルでは、
であり、ここで、(v0x,v0y)、(v1x,v1y)、(v2x,v2y)は、左上、右上、及び左下の制御点(コントロールポイント)動きベクトルであり、w及びhはCUの幅及び高さである。
ステップ4) 最後に、このルマ予測精緻化がサブブロック予測I(i,j)に足し合わされる。最終的な予測I’が、次式:
I’(i,j)=I(i,j)+ΔI(i,j)
として生成される。
JVET-N0236における一部詳細
a) PROFのための勾配導出方法
JVET-N0263では、勾配は、各参照リストについてサブブロック(VTM-4.0における4×4サブブロック)ごとに計算される。各サブブロックについて、参照ブロックの最も近い整数サンプルをフェッチして、サンプルの4辺の外側のラインをパディングする。
現在サブブロックについてのMVを(MVx,MVy)とする。次いで、(FracX,FracY)=(MVx&15,MVy&15)として分数部分が計算される。整数部分は(IntX,IntY)=(MVx>>4, MVy>>4)として計算される。オフセット(OffsetX,OffsetY)が:
OffsetX=FracX>7? 1:0;
OffsetY=FracY>7? 1:0;
として導出される。
現在サブブロックの左上座標が(xCur,yCur)であり、現在サブブロックの寸法がW×Hであるとする。次いで、(xCor0,yCor0)、(xCor1,yCor1)、(xCor2,yCor2)、及び(xCor3,yCor3)が:
(xCor0,yCor0)=(xCur+IntX+OffsetX-1,
yCur+IntY+OffsetY-1);
(xCor1,yCor1)=(xCur+IntX+OffsetX-1,
yCur+IntY+OffsetY+H);
(xCor2,yCor2)=(xCur+IntX+OffsetX-1,
yCur+IntY+OffsetY);
(xCor3,yCor3)=(xCur+IntX+OffsetX+W,
yCur+IntY+OffsetY);
として計算される。
x=0..W-1、y=0..H-1でのPredSample[x][y]がサブブロックの予測サンプルを格納するとする。次いで、パディングサンプルが:
PredSample[x][-1]=
(Ref(xCor0+x,yCor0)<<Shift0)-
Rounding, for x=-1..W;
PredSample[x][H]=
(Ref(xCor1+x,yCor1)<<Shift0)-
Rounding, for x=-1..W;
PredSample[-1][y]=
(Ref(xCor2,yCor2+y)<<Shift0)-
Rounding, for y=0..H-1;
PredSample[W][y]=
(Ref(xCor3,yCor3+y)<<Shift0)-
Rounding, for y=0..H-1
として導出され、ここで、Recは参照ピクチャを表す。Roundingは整数であり、この例示的なPROF実装では213に等しい。Shift0=Max(2,(14-BitDepth))であり、PROFは、VTM-4.0におけるBIOとは異なり、勾配の精度を上げることを試みるものであり、ここでは、勾配は、入力ルマサンプルと同じ精度で出力される。
PROFでの勾配は、以下のように計算される:
Shift1=Shift0-4
gradientH[x][y]=(predSamples[x+1][y]-predSample[x-1][y])>>Shift1
gradientV[x][y]=(pred Sample[x][y+1]-predSample[x][y-1])>>Shift1
理解されるべきことには、predSamples[x][y]は、補間後の精度を保つ。
b) PROFのためのΔv導出方法
Δv(posX=0..W-1、posY=0..H-1でdMvH[posX][posY]及びdMvV[posX][posY]と表記)の導出は、以下のように記述されることができる。
現在ブロックの寸法がcbWidth×cbHeightであり、制御点動きベクトルの数がnumCpMvであり、そして、cpIdx=0..numCpMv-1で、制御点動きベクトルがcpMvLX[cpIdx]であり、Xは2つの参照リストを表す0又は1であるとする。
変数log2CbW及びlog2CbHが、次のように導出される:
log2CbW=Log2(cbWidth)
log2CbH=Log2(cbHeight)
変数mvScaleHor、mvScaleVer、dHorX、及びdVerXが、次のように導出される:
mvScaleHor=cpMvLX[0][0]<<7
mvScaleVer=cpMvLX[0][1]<<7
dHorX=(cpMvLX[1][0]-cpMvLX[0][0])<<(7-log2CbW)
dVerX=(cpMvLX[1][1]-cpMvLX[0][1])<<(7-log2CbW)
変数dHorY及びdVerYが、次のように導出される:
- numCpMvが3に等しい場合、以下が適用される:
dHorY=(cpMvLX[2][0]-cpMvLX[0][0])<<(7-log2CbH)
dVerY=(cpMvLX[2][1]-cpMvLX[0][1])<<(7-log2CbH)
- そうでない場合(numCpMvが2に等しい)、以下が適用される:
dHorY=-dVerX
dVerY=dHorX
変数qHorX、qVerX、qHorY、及びqVerYが:
qHorX=dHorX<<2;
qVerX=dVerX<<2;
qHorY=dHorY<<2;
qVerY=dVerY<<2;
として導出される。
dMvH[0][0]及びdMvV[0][0]が:
dMvH[0][0]=((dHorX+dHorY)<<1)-((qHorX+qHorY)<<1);
dMvV[0][0]=((dVerX+dVerY)<<1)-((qVerX+qVerY)<<1);
として計算される。
1からW-1までのxPosについて、dMvH[xPos][0]及びdMvV[xPos][0]が:
dMvH[xPos][0]=dMvH[xPos-1][0]+qHorX;
dMvV[xPos][0]=dMvV[xPos-1][0]+qVerX;
として導出される。
1からH-1までのyPosについて、以下が適用される:
xPos=0..W-1で、dMvH[xPos][yPos]=dMvH[xPos][yPos-1]+qHorY
xPos=0..W-1で、dMvV[xPos][yPos]=dMvV[xPos][yPos-1]+qVerY
最後に、posX=0..W-1、posY=0..H-1でのdMvH[xPos][yPos]及びdMvV[xPos][yPos]が:
dMvH[xPos][yPos]=SatShift(dMvH[xPos][yPos],7+2-1);
dMvV[xPos][yPos]=SatShift(dMvV[xPos][yPos],7+2-1);
として右シフトされ、ここで、SatShift(x,n)及びShift(x,n)は:
として定義される。
一例において、offset0及び/又はoffset1は、(1<<n)>>1に設定される。
c)PROFのためのΔI導出方法
サブブロックの内側の位置(posX,posY)について、その対応するΔv(i,j)を、(dMvH[posX][posY],dMvV[posX][posY])と表記する。その対応する勾配を(gradientH[posX][posY],gradientV[posX][posY])と表記する。
次いで、ΔI(posX,posY)が、次のように導出される:
(dMvH[posX][posY],dMvV[posX][posY])が、以下のようにクリッピングされる:
dMvH[posX][posY]=Clip3(-32768,32767,dMvH[posX][posY]);
dMvV[posX][posY]=Clip3(-32768,32767,dMvV[posX][posY]);
ΔI(posX,posY)=dMvH[posX][posY]×gradientH[posX][posY]+dMvV[posX][posY]×gradientV[posX][posY];
ΔI(posX,posY)=Shift(ΔI(posX,posY),1+1+4);
ΔI(posX,posY)=Clip3(-(213-1),213-1,ΔI(posX,posY))。
d)PROFのためのI’導出方法
現在ブロックが双予測又は重み付け予測としてコーディングされない場合、
I’(posX,posY)=Shift((I(posX,posY)+ΔI(posX,posY))),Shift0、
I’(posX,posY)=ClipSample(I’(posX,posY))
であり、ここで、ClipSampleは、サンプル値を妥当な出力サンプル値へとクリッピングする。そして、I’(posX,posY)がインター予測値として出力される;
そうでない場合(現在ブロックが双予測又は重み付け予測としてコーディングされる)、I’(posX,posY)は格納されて、他の予測値及び/又は重み付け値に従ってインター予測値を生成するのに使用されることになる。
2.6. JVET-O2001-vEにおけるスライスヘッダ
(外2)
2.7. JVET-O2001-vEにおけるシーケンスパラメータセット
(外3)
2.8. JVET-O2001-vEにおけるピクチャパラメータセット
(外4)
2.9. JVET-O2001-vEにおける適応パラメータセット
(外5)
(外6)
2.10. VVCで提案されるピクチャヘッダ
JVET-P0120及びJVET-P0239にてVVCに対してピクチャヘッダが提案されている。
JVET-P0120では、ピクチャヘッダは、以下の特性を有するように設計される。
1. ピクチャヘッダNALユニットの時間ID及びレイヤIDが、そのピクチャヘッダを含むレイヤアクセスユニットの時間ID及びレイヤIDと同じである。
2. ピクチャヘッダNALユニットが、その関連ピクチャの最初のスライスを含むNALユニットに先行する。これは、ピクチャヘッダと、そのピクチャヘッダに関連付けられたピクチャのスライスとの間の関連付けを、ピクチャヘッダIDがピクチャヘッダ内でシグナリングされてスライスヘッダから参照されることを必要とせずに確立する。
3. ピクチャヘッダNALユニットが、ピクチャレベルのパラメータセット、又は例えばDPS、VPS、SPS、PPSなどの、より高いレベルのものに続く。これは結果として、それらのパラメータセットがピクチャ内又はアクセスユニット内で繰り返されない/存在しないことを必要とする。
4. ピクチャヘッダが、その関連ピクチャのピクチャタイプについての情報を含む。ピクチャタイプは、以下(網羅的なリストではない)を定義するのに使用され得る:
a. ピクチャはIDRピクチャである;
b. ピクチャはCRAピクチャである;
c. ピクチャはGDRピクチャである;
d. ピクチャは非IRAP、非GDRピクチャであり、Iスライスのみを含む;
e. ピクチャは非IRAP、非GDRピクチャであり、Pスライス及びIスライスのみを含むことができる;
f. ピクチャは非IRAP、非GDRピクチャであり、Bスライス、Pスライス、及び/又はIスライスのいずれかを含む。
5. スライスヘッダ内でのピクチャレベルシンタックス要素のシグナリングをピクチャヘッダに移動させる。
6. 同一ピクチャの全てのスライスに対して典型的に同じであるスライスヘッダ内の非ピクチャレベルシンタックス要素を、ピクチャヘッダ内でシグナリングする。それらのシンタックス要素がピクチャヘッダ内に存在しないとき、それらはスライスヘッダ内でシグナリングされてもよい。
JVET-P0239では、必須ピクチャヘッダコンセプトが、ピクチャの最初のVCL NALユニットとしてピクチャ当たり一度伝送されるように提案されている。現行ではスライスヘッダ内にあるシンタックス要素をこのピクチャヘッダに移動させることも提案される。機能的にピクチャヘッダ当たり一度だけ伝送される必要があるシンタックス要素は、所与のピクチャに対して何度も送信される(例えば、スライスヘッダ内のシンタックス要素はスライス当たり一度伝送される)代わりに、ピクチャヘッダに移動され得る。その著者は、スライスヘッダ処理に必要な計算は全体のスループットに対する制限要因となり得るので、スライスヘッダからシンタックス要素を移動させることには利益があると主張している。
ピクチャ内で同じであるように制約されるスライスヘッダシンタックス要素を移動させること
このセクションでのシンタックス要素は既に、ピクチャの全てのスライスで同じであるように制約されている。主張しておくことには、それらのフィールドをピクチャヘッダに移動させて、それらがスライス当たり一回ではなくピクチャ当たり一回のみシグナリングされるようにすることは、それらのシンタックス要素の機能を何ら変えることなく、不要で冗長なビット伝送を回避することになる。
1. 現行ドラフトJVET-O2001-vEのセクション7.4.7.1においては、以下のセマンティック制約が存在する。
存在する場合に、スライスヘッダシンタックス要素slice_pic_parameter_set_id、non_reference_picture_flag、colour_plane_id、slice_pic_order_cnt_lsb、recovery_poc_cnt、no_output_of_prior_pics_flag、pic_output_flag、及びslice_temporal_mvp_enabled_flagの各々の値は、ある符号化ピクチャの全てのスライスヘッダで同じである。従って、これらのシンタックス要素の各々をピクチャヘッダに移動させて、不要な冗長ビットを回避し得る。
recovery_poc_cnt及びno_output_of_prior_pics_flagは、この寄稿ではピクチャヘッダに移動されない。スライスヘッダにおけるそれらの存在は、スライスヘッダnal_unit_typeの条件付きチェックに依存し、それ故に、これらのシンタックス要素をピクチャヘッダに移動させることを望む場合には、それらを調べることを提案する。
2. 現行ドラフトJVET-O2001-vEのセクション7.4.7.1においては、以下のセマンティック制約が存在する。
存在する場合に、slice_lmcs_aps_idの値は、ピクチャの全てのスライスに対して同じである。
存在する場合に、slice_scaling_list_aps_idの値は、ピクチャの全てのスライスに対して同じである。従って、これらのシンタックス要素の各々をピクチャヘッダに移動させて、不要な冗長ビットを回避し得る。
ピクチャ内で同じであるように制約されないスライスヘッダシンタックス要素を移動させること
このセクションにおけるシンタックス要素は、現行では、ピクチャの全てのスライスで同じであるようには制約されていない。全スライスヘッダにて多数のシンタックス要素を処理することには複雑さの影響があると主張されるとき、VVC全体設計を単純化するためにどのシンタックス要素をピクチャヘッダに移動させることができるかを決定すべく、これらのシンタックス要素の予想される用法を評価することを提案する。
1. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. six_minus_max_num_merge_cand
b. five_minus_max_num_subblock_merge_cand
c. slice_fpel_mmvd_enabled_flag
d. slice_disable_bdof_dmvr_flag
e. max_num_merge_cand_minus_max_num_triangle_cand
f. slice_six_minus_max_num_ibc_merge_cand
2. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. partition_constraints_override_flag
b. slice_log2_diff_min_qt_min_cb_luma
c. slice_max_mtt_hierarchy_depth_luma
d. slice_log2_diff_max_bt_min_qt_luma
e. slice_log2_diff_max_tt_min_qt_luma
f. slice_log2_diff_min_qt_min_cb_chroma
g. slice_max_mtt_hierarchy_depth_chroma
h. slice_log2_diff_max_bt_min_qt_chroma
i. slice_log2_diff_max_tt_min_qt_chroma
これらのシンタックス要素の一部に関連する条件付きチェック“slice_type==I”は、ピクチャヘッダへの移動に伴って削除されている。
3. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. mvd_l1_zero_flag
これらのシンタックス要素の一部に関連する条件付きチェック“slice_type==B”は、ピクチャヘッダへの移動に伴って削除されている。
4. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. dep_quant_enabled_flag
b. sign_data_hiding_enabled_flag
2.10.1 JVET-P1006に定義されたシンタックステーブル
7.3.2.8 ピクチャヘッダRBSPシンタックス
(外7)
2.11 VVCドラフト6におけるDMVR
デコーダ側動きベクトル精緻化(Decoder-side Motion Vector Refinement;DMVR)は、バイラテラルマッチング(BM)を利用して、2つの異なる参照ピクチャ内で、現在CUの動き軌跡に沿った2つのブロック間の最も近いマッチングを見つけることにより、現在CUの動き情報を導出する。BM法は、参照ピクチャリストL0及びリストL1内の2つの候補ブロック間の歪みを計算する。図1に示すように、当初MV周辺の各MV候補に基づく赤色ブロック間のSADが計算される。最も低いSADを持つMV候補が、精緻化されたMVとなり、双予測信号を生成するために使用される。マッチングプロセスで使用されるコスト関数は、行サブサンプリングSAD(絶対差の和)である。一例が図7にある。
VTM5.0では、コーディングユニット(CU)が通常マージ/スキップモード及び双予測でコーディングされるときに、該CUに対してデコーダで動きベクトル(MV)を精緻化するためにDMVRが採用されており、表示順で一方の参照ピクチャは現在ピクチャの前であり、他方の参照ピクチャは現在ピクチャの後であり、現在ピクチャと一方の参照ピクチャとの間の時間距離は、現在ピクチャと他方の参照ピクチャとの間の時間距離に等しく、CU重み(BCW)を用いる双予測は等しい重みを選択する。DMVRが適用されるとき、1つのルマコーディングブロック(CB)が、サイズmin(cbWidth,16)×min(cbHeight,16)の幾つかの独立処理されるサブブロックに分割される。DMVRは、双線形補間によって生成された、1/2サブサンプリングされた10ビットのL0予測サンプルとL1予測サンプルとの間のSADを最小化することによって、各サブブロックのMVを精緻化する。各サブブロックに対して、先ず、SADを用いて、当初MV(すなわち、選択された通常マージ/スキップ候補のMV)周りでの整数△MV探索が実行され、次いで、最終的なMVを得るために分数△MV導出が実行される。
BDOFは、CUが双予測でコーディングされるときに該CUについてのルマ予測サンプルを精緻化し、表示順で、一方の参照ピクチャは現在ピクチャの前であり、他方の参照ピクチャは現在ピクチャの後であり、BCWは等しい重みを選択する。入力MV(例えば、DMVRを有効にする場合のDMVRの最終的なMV)に従って当初のL0予測サンプル及びL1予測サンプルを生成するために、8タップ補間が使用される。次に、2レベル早期終了プロセスが実行される。第1の早期終了はサブブロックレベルであり、第2の早期終了は4×4ブロックレベルであって、第1の早期終了が発生しなかった場合にチェックされる。各レベルにおいて、先ず、各サブブロック/4×4ブロックにおけるフルサンプリングされた14ビットのL0予測サンプルとL1予測サンプルとの間のSADが計算される。SADが1つの閾値よりも小さい場合、そのサブブロック/4×4ブロックにBDOFは適用されない。そうでない場合、BDOFパラメータが導出され、各4×4ブロックに対する最終的なルマサンプル予測子を生成するために使用される。BDOFにおいて、サブブロックサイズはDMVRにおいてと同じであり、すなわち、min(cbWidth,16)×min(cbHeight,16)である。
CUが通常マージ/スキップモードでコーディングされるとき、表示順で、一方の参照ピクチャは現在ピクチャの前であり、他方の参照ピクチャは現在ピクチャの後であり、現在ピクチャと一方の参照ピクチャとの間の時間距離は、現在ピクチャと他方の参照ピクチャとの間のそれに等しく、BCWは等しい重みを選択し、DMVR及びBDOFの両方が適用される。カスケード式DMVR及びBDOFプロセスのフローを図6に示す。
図6は、VTM5.0におけるカスケード式DMVR及びBDOFプロセスのフローを示している。DMVR SAD演算及びBDOF SAD演算は相異なり、共有されない。
このクリティカルパスにおけるレイテンシ及び演算を減らすため、DMVR及びBDOFの両方が適用されるとき、最新のVVC作業ドラフトは、DMVRで計算されたサブブロックSADを、BDOFでのサブブロック早期終了に再利用するように改訂されている。
そのSAD計算は、次のように定義され:
ここで、2つの変数nSbW及びnSbHは、現在サブブロックの幅及び高さを規定し、2つの(nSbW+4)×(nSbH+4)配列pL0及びpL1は、それぞれ、L0及びL1に関する予測サンプル、並びに予測リストL0における整数サンプルオフセット(dX,dY)を含む。
DMVR精緻化の不確実性のペナルティを減らすため、DMVRプロセス中に元のMVを優先することが提案されている。当初のMV候補(又は元のMV候補と呼ぶ)によって参照される参照ブロック間のSADが、SAD値の1/4だけ減少する。すなわち、上の式中のdX及びdYの両方が0に等しいとき、sadの値は:
sad=sad-(sad>>2)
のように変更される。
SAD値が閾値(2*サブブロック幅*サブブロック高さ)よりも小さいとき、もはやBDOFを実行する必要はない。
4パラメータアフィンモデルでは、
6パラメータアフィンモデルでは、
ステップ4) 最後に、このルマ予測精緻化がサブブロック予測I(i,j)に足し合わされる。最終的な予測I’が、次式:
I’(i,j)=I(i,j)+ΔI(i,j)
として生成される。
JVET-N0236における一部詳細
a) PROFのための勾配導出方法
JVET-N0263では、勾配は、各参照リストについてサブブロック(VTM-4.0における4×4サブブロック)ごとに計算される。各サブブロックについて、参照ブロックの最も近い整数サンプルをフェッチして、サンプルの4辺の外側のラインをパディングする。
現在サブブロックについてのMVを(MVx,MVy)とする。次いで、(FracX,FracY)=(MVx&15,MVy&15)として分数部分が計算される。整数部分は(IntX,IntY)=(MVx>>4, MVy>>4)として計算される。オフセット(OffsetX,OffsetY)が:
OffsetX=FracX>7? 1:0;
OffsetY=FracY>7? 1:0;
として導出される。
現在サブブロックの左上座標が(xCur,yCur)であり、現在サブブロックの寸法がW×Hであるとする。次いで、(xCor0,yCor0)、(xCor1,yCor1)、(xCor2,yCor2)、及び(xCor3,yCor3)が:
(xCor0,yCor0)=(xCur+IntX+OffsetX-1,
yCur+IntY+OffsetY-1);
(xCor1,yCor1)=(xCur+IntX+OffsetX-1,
yCur+IntY+OffsetY+H);
(xCor2,yCor2)=(xCur+IntX+OffsetX-1,
yCur+IntY+OffsetY);
(xCor3,yCor3)=(xCur+IntX+OffsetX+W,
yCur+IntY+OffsetY);
として計算される。
x=0..W-1、y=0..H-1でのPredSample[x][y]がサブブロックの予測サンプルを格納するとする。次いで、パディングサンプルが:
PredSample[x][-1]=
(Ref(xCor0+x,yCor0)<<Shift0)-
Rounding, for x=-1..W;
PredSample[x][H]=
(Ref(xCor1+x,yCor1)<<Shift0)-
Rounding, for x=-1..W;
PredSample[-1][y]=
(Ref(xCor2,yCor2+y)<<Shift0)-
Rounding, for y=0..H-1;
PredSample[W][y]=
(Ref(xCor3,yCor3+y)<<Shift0)-
Rounding, for y=0..H-1
として導出され、ここで、Recは参照ピクチャを表す。Roundingは整数であり、この例示的なPROF実装では213に等しい。Shift0=Max(2,(14-BitDepth))であり、PROFは、VTM-4.0におけるBIOとは異なり、勾配の精度を上げることを試みるものであり、ここでは、勾配は、入力ルマサンプルと同じ精度で出力される。
PROFでの勾配は、以下のように計算される:
Shift1=Shift0-4
gradientH[x][y]=(predSamples[x+1][y]-predSample[x-1][y])>>Shift1
gradientV[x][y]=(pred Sample[x][y+1]-predSample[x][y-1])>>Shift1
理解されるべきことには、predSamples[x][y]は、補間後の精度を保つ。
b) PROFのためのΔv導出方法
Δv(posX=0..W-1、posY=0..H-1でdMvH[posX][posY]及びdMvV[posX][posY]と表記)の導出は、以下のように記述されることができる。
現在ブロックの寸法がcbWidth×cbHeightであり、制御点動きベクトルの数がnumCpMvであり、そして、cpIdx=0..numCpMv-1で、制御点動きベクトルがcpMvLX[cpIdx]であり、Xは2つの参照リストを表す0又は1であるとする。
変数log2CbW及びlog2CbHが、次のように導出される:
log2CbW=Log2(cbWidth)
log2CbH=Log2(cbHeight)
変数mvScaleHor、mvScaleVer、dHorX、及びdVerXが、次のように導出される:
mvScaleHor=cpMvLX[0][0]<<7
mvScaleVer=cpMvLX[0][1]<<7
dHorX=(cpMvLX[1][0]-cpMvLX[0][0])<<(7-log2CbW)
dVerX=(cpMvLX[1][1]-cpMvLX[0][1])<<(7-log2CbW)
変数dHorY及びdVerYが、次のように導出される:
- numCpMvが3に等しい場合、以下が適用される:
dHorY=(cpMvLX[2][0]-cpMvLX[0][0])<<(7-log2CbH)
dVerY=(cpMvLX[2][1]-cpMvLX[0][1])<<(7-log2CbH)
- そうでない場合(numCpMvが2に等しい)、以下が適用される:
dHorY=-dVerX
dVerY=dHorX
変数qHorX、qVerX、qHorY、及びqVerYが:
qHorX=dHorX<<2;
qVerX=dVerX<<2;
qHorY=dHorY<<2;
qVerY=dVerY<<2;
として導出される。
dMvH[0][0]及びdMvV[0][0]が:
dMvH[0][0]=((dHorX+dHorY)<<1)-((qHorX+qHorY)<<1);
dMvV[0][0]=((dVerX+dVerY)<<1)-((qVerX+qVerY)<<1);
として計算される。
1からW-1までのxPosについて、dMvH[xPos][0]及びdMvV[xPos][0]が:
dMvH[xPos][0]=dMvH[xPos-1][0]+qHorX;
dMvV[xPos][0]=dMvV[xPos-1][0]+qVerX;
として導出される。
1からH-1までのyPosについて、以下が適用される:
xPos=0..W-1で、dMvH[xPos][yPos]=dMvH[xPos][yPos-1]+qHorY
xPos=0..W-1で、dMvV[xPos][yPos]=dMvV[xPos][yPos-1]+qVerY
最後に、posX=0..W-1、posY=0..H-1でのdMvH[xPos][yPos]及びdMvV[xPos][yPos]が:
dMvH[xPos][yPos]=SatShift(dMvH[xPos][yPos],7+2-1);
dMvV[xPos][yPos]=SatShift(dMvV[xPos][yPos],7+2-1);
として右シフトされ、ここで、SatShift(x,n)及びShift(x,n)は:
一例において、offset0及び/又はoffset1は、(1<<n)>>1に設定される。
c)PROFのためのΔI導出方法
サブブロックの内側の位置(posX,posY)について、その対応するΔv(i,j)を、(dMvH[posX][posY],dMvV[posX][posY])と表記する。その対応する勾配を(gradientH[posX][posY],gradientV[posX][posY])と表記する。
次いで、ΔI(posX,posY)が、次のように導出される:
(dMvH[posX][posY],dMvV[posX][posY])が、以下のようにクリッピングされる:
dMvH[posX][posY]=Clip3(-32768,32767,dMvH[posX][posY]);
dMvV[posX][posY]=Clip3(-32768,32767,dMvV[posX][posY]);
ΔI(posX,posY)=dMvH[posX][posY]×gradientH[posX][posY]+dMvV[posX][posY]×gradientV[posX][posY];
ΔI(posX,posY)=Shift(ΔI(posX,posY),1+1+4);
ΔI(posX,posY)=Clip3(-(213-1),213-1,ΔI(posX,posY))。
d)PROFのためのI’導出方法
現在ブロックが双予測又は重み付け予測としてコーディングされない場合、
I’(posX,posY)=Shift((I(posX,posY)+ΔI(posX,posY))),Shift0、
I’(posX,posY)=ClipSample(I’(posX,posY))
であり、ここで、ClipSampleは、サンプル値を妥当な出力サンプル値へとクリッピングする。そして、I’(posX,posY)がインター予測値として出力される;
そうでない場合(現在ブロックが双予測又は重み付け予測としてコーディングされる)、I’(posX,posY)は格納されて、他の予測値及び/又は重み付け値に従ってインター予測値を生成するのに使用されることになる。
2.6. JVET-O2001-vEにおけるスライスヘッダ
(外2)
2.7. JVET-O2001-vEにおけるシーケンスパラメータセット
(外3)
2.8. JVET-O2001-vEにおけるピクチャパラメータセット
(外4)
2.9. JVET-O2001-vEにおける適応パラメータセット
(外5)
(外6)
2.10. VVCで提案されるピクチャヘッダ
JVET-P0120及びJVET-P0239にてVVCに対してピクチャヘッダが提案されている。
JVET-P0120では、ピクチャヘッダは、以下の特性を有するように設計される。
1. ピクチャヘッダNALユニットの時間ID及びレイヤIDが、そのピクチャヘッダを含むレイヤアクセスユニットの時間ID及びレイヤIDと同じである。
2. ピクチャヘッダNALユニットが、その関連ピクチャの最初のスライスを含むNALユニットに先行する。これは、ピクチャヘッダと、そのピクチャヘッダに関連付けられたピクチャのスライスとの間の関連付けを、ピクチャヘッダIDがピクチャヘッダ内でシグナリングされてスライスヘッダから参照されることを必要とせずに確立する。
3. ピクチャヘッダNALユニットが、ピクチャレベルのパラメータセット、又は例えばDPS、VPS、SPS、PPSなどの、より高いレベルのものに続く。これは結果として、それらのパラメータセットがピクチャ内又はアクセスユニット内で繰り返されない/存在しないことを必要とする。
4. ピクチャヘッダが、その関連ピクチャのピクチャタイプについての情報を含む。ピクチャタイプは、以下(網羅的なリストではない)を定義するのに使用され得る:
a. ピクチャはIDRピクチャである;
b. ピクチャはCRAピクチャである;
c. ピクチャはGDRピクチャである;
d. ピクチャは非IRAP、非GDRピクチャであり、Iスライスのみを含む;
e. ピクチャは非IRAP、非GDRピクチャであり、Pスライス及びIスライスのみを含むことができる;
f. ピクチャは非IRAP、非GDRピクチャであり、Bスライス、Pスライス、及び/又はIスライスのいずれかを含む。
5. スライスヘッダ内でのピクチャレベルシンタックス要素のシグナリングをピクチャヘッダに移動させる。
6. 同一ピクチャの全てのスライスに対して典型的に同じであるスライスヘッダ内の非ピクチャレベルシンタックス要素を、ピクチャヘッダ内でシグナリングする。それらのシンタックス要素がピクチャヘッダ内に存在しないとき、それらはスライスヘッダ内でシグナリングされてもよい。
JVET-P0239では、必須ピクチャヘッダコンセプトが、ピクチャの最初のVCL NALユニットとしてピクチャ当たり一度伝送されるように提案されている。現行ではスライスヘッダ内にあるシンタックス要素をこのピクチャヘッダに移動させることも提案される。機能的にピクチャヘッダ当たり一度だけ伝送される必要があるシンタックス要素は、所与のピクチャに対して何度も送信される(例えば、スライスヘッダ内のシンタックス要素はスライス当たり一度伝送される)代わりに、ピクチャヘッダに移動され得る。その著者は、スライスヘッダ処理に必要な計算は全体のスループットに対する制限要因となり得るので、スライスヘッダからシンタックス要素を移動させることには利益があると主張している。
ピクチャ内で同じであるように制約されるスライスヘッダシンタックス要素を移動させること
このセクションでのシンタックス要素は既に、ピクチャの全てのスライスで同じであるように制約されている。主張しておくことには、それらのフィールドをピクチャヘッダに移動させて、それらがスライス当たり一回ではなくピクチャ当たり一回のみシグナリングされるようにすることは、それらのシンタックス要素の機能を何ら変えることなく、不要で冗長なビット伝送を回避することになる。
1. 現行ドラフトJVET-O2001-vEのセクション7.4.7.1においては、以下のセマンティック制約が存在する。
存在する場合に、スライスヘッダシンタックス要素slice_pic_parameter_set_id、non_reference_picture_flag、colour_plane_id、slice_pic_order_cnt_lsb、recovery_poc_cnt、no_output_of_prior_pics_flag、pic_output_flag、及びslice_temporal_mvp_enabled_flagの各々の値は、ある符号化ピクチャの全てのスライスヘッダで同じである。従って、これらのシンタックス要素の各々をピクチャヘッダに移動させて、不要な冗長ビットを回避し得る。
recovery_poc_cnt及びno_output_of_prior_pics_flagは、この寄稿ではピクチャヘッダに移動されない。スライスヘッダにおけるそれらの存在は、スライスヘッダnal_unit_typeの条件付きチェックに依存し、それ故に、これらのシンタックス要素をピクチャヘッダに移動させることを望む場合には、それらを調べることを提案する。
2. 現行ドラフトJVET-O2001-vEのセクション7.4.7.1においては、以下のセマンティック制約が存在する。
存在する場合に、slice_lmcs_aps_idの値は、ピクチャの全てのスライスに対して同じである。
存在する場合に、slice_scaling_list_aps_idの値は、ピクチャの全てのスライスに対して同じである。従って、これらのシンタックス要素の各々をピクチャヘッダに移動させて、不要な冗長ビットを回避し得る。
ピクチャ内で同じであるように制約されないスライスヘッダシンタックス要素を移動させること
このセクションにおけるシンタックス要素は、現行では、ピクチャの全てのスライスで同じであるようには制約されていない。全スライスヘッダにて多数のシンタックス要素を処理することには複雑さの影響があると主張されるとき、VVC全体設計を単純化するためにどのシンタックス要素をピクチャヘッダに移動させることができるかを決定すべく、これらのシンタックス要素の予想される用法を評価することを提案する。
1. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. six_minus_max_num_merge_cand
b. five_minus_max_num_subblock_merge_cand
c. slice_fpel_mmvd_enabled_flag
d. slice_disable_bdof_dmvr_flag
e. max_num_merge_cand_minus_max_num_triangle_cand
f. slice_six_minus_max_num_ibc_merge_cand
2. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. partition_constraints_override_flag
b. slice_log2_diff_min_qt_min_cb_luma
c. slice_max_mtt_hierarchy_depth_luma
d. slice_log2_diff_max_bt_min_qt_luma
e. slice_log2_diff_max_tt_min_qt_luma
f. slice_log2_diff_min_qt_min_cb_chroma
g. slice_max_mtt_hierarchy_depth_chroma
h. slice_log2_diff_max_bt_min_qt_chroma
i. slice_log2_diff_max_tt_min_qt_chroma
これらのシンタックス要素の一部に関連する条件付きチェック“slice_type==I”は、ピクチャヘッダへの移動に伴って削除されている。
3. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. mvd_l1_zero_flag
これらのシンタックス要素の一部に関連する条件付きチェック“slice_type==B”は、ピクチャヘッダへの移動に伴って削除されている。
4. 以下のシンタックス要素をピクチャヘッダに移動させることを提案する。現行では、これらについて、異なるスライスに対して異なる値を持つという制約はないが、主張しておくことには、これらの予想される用法はピクチャレベルで変化し得るので、全スライスヘッダ内でこれらを伝送することには、利益がない/最小限であるとともに、符号化損失が存在する:
a. dep_quant_enabled_flag
b. sign_data_hiding_enabled_flag
2.10.1 JVET-P1006に定義されたシンタックステーブル
7.3.2.8 ピクチャヘッダRBSPシンタックス
(外7)
2.11 VVCドラフト6におけるDMVR
デコーダ側動きベクトル精緻化(Decoder-side Motion Vector Refinement;DMVR)は、バイラテラルマッチング(BM)を利用して、2つの異なる参照ピクチャ内で、現在CUの動き軌跡に沿った2つのブロック間の最も近いマッチングを見つけることにより、現在CUの動き情報を導出する。BM法は、参照ピクチャリストL0及びリストL1内の2つの候補ブロック間の歪みを計算する。図1に示すように、当初MV周辺の各MV候補に基づく赤色ブロック間のSADが計算される。最も低いSADを持つMV候補が、精緻化されたMVとなり、双予測信号を生成するために使用される。マッチングプロセスで使用されるコスト関数は、行サブサンプリングSAD(絶対差の和)である。一例が図7にある。
VTM5.0では、コーディングユニット(CU)が通常マージ/スキップモード及び双予測でコーディングされるときに、該CUに対してデコーダで動きベクトル(MV)を精緻化するためにDMVRが採用されており、表示順で一方の参照ピクチャは現在ピクチャの前であり、他方の参照ピクチャは現在ピクチャの後であり、現在ピクチャと一方の参照ピクチャとの間の時間距離は、現在ピクチャと他方の参照ピクチャとの間の時間距離に等しく、CU重み(BCW)を用いる双予測は等しい重みを選択する。DMVRが適用されるとき、1つのルマコーディングブロック(CB)が、サイズmin(cbWidth,16)×min(cbHeight,16)の幾つかの独立処理されるサブブロックに分割される。DMVRは、双線形補間によって生成された、1/2サブサンプリングされた10ビットのL0予測サンプルとL1予測サンプルとの間のSADを最小化することによって、各サブブロックのMVを精緻化する。各サブブロックに対して、先ず、SADを用いて、当初MV(すなわち、選択された通常マージ/スキップ候補のMV)周りでの整数△MV探索が実行され、次いで、最終的なMVを得るために分数△MV導出が実行される。
BDOFは、CUが双予測でコーディングされるときに該CUについてのルマ予測サンプルを精緻化し、表示順で、一方の参照ピクチャは現在ピクチャの前であり、他方の参照ピクチャは現在ピクチャの後であり、BCWは等しい重みを選択する。入力MV(例えば、DMVRを有効にする場合のDMVRの最終的なMV)に従って当初のL0予測サンプル及びL1予測サンプルを生成するために、8タップ補間が使用される。次に、2レベル早期終了プロセスが実行される。第1の早期終了はサブブロックレベルであり、第2の早期終了は4×4ブロックレベルであって、第1の早期終了が発生しなかった場合にチェックされる。各レベルにおいて、先ず、各サブブロック/4×4ブロックにおけるフルサンプリングされた14ビットのL0予測サンプルとL1予測サンプルとの間のSADが計算される。SADが1つの閾値よりも小さい場合、そのサブブロック/4×4ブロックにBDOFは適用されない。そうでない場合、BDOFパラメータが導出され、各4×4ブロックに対する最終的なルマサンプル予測子を生成するために使用される。BDOFにおいて、サブブロックサイズはDMVRにおいてと同じであり、すなわち、min(cbWidth,16)×min(cbHeight,16)である。
CUが通常マージ/スキップモードでコーディングされるとき、表示順で、一方の参照ピクチャは現在ピクチャの前であり、他方の参照ピクチャは現在ピクチャの後であり、現在ピクチャと一方の参照ピクチャとの間の時間距離は、現在ピクチャと他方の参照ピクチャとの間のそれに等しく、BCWは等しい重みを選択し、DMVR及びBDOFの両方が適用される。カスケード式DMVR及びBDOFプロセスのフローを図6に示す。
図6は、VTM5.0におけるカスケード式DMVR及びBDOFプロセスのフローを示している。DMVR SAD演算及びBDOF SAD演算は相異なり、共有されない。
このクリティカルパスにおけるレイテンシ及び演算を減らすため、DMVR及びBDOFの両方が適用されるとき、最新のVVC作業ドラフトは、DMVRで計算されたサブブロックSADを、BDOFでのサブブロック早期終了に再利用するように改訂されている。
そのSAD計算は、次のように定義され:
DMVR精緻化の不確実性のペナルティを減らすため、DMVRプロセス中に元のMVを優先することが提案されている。当初のMV候補(又は元のMV候補と呼ぶ)によって参照される参照ブロック間のSADが、SAD値の1/4だけ減少する。すなわち、上の式中のdX及びdYの両方が0に等しいとき、sadの値は:
sad=sad-(sad>>2)
のように変更される。
SAD値が閾値(2*サブブロック幅*サブブロック高さ)よりも小さいとき、もはやBDOFを実行する必要はない。
3.既存の実装の欠点
DMVR及びBIOは、動きベクトルを精緻化する際に元の信号が関与せず、このことが、不正確な動き情報を有すコーディングブロックを生じさせることがある。また、DMVR及びBIOは動き精緻化後の分数動きベクトルを使用するときがあるのに対し、スクリーン映像は整数動きベクトルを有するのが通常であり、これは、現行の動き情報をより不正確にし、コーディング性能を悪化させる。
DMVR及びBIOは、動きベクトルを精緻化する際に元の信号が関与せず、このことが、不正確な動き情報を有すコーディングブロックを生じさせることがある。また、DMVR及びBIOは動き精緻化後の分数動きベクトルを使用するときがあるのに対し、スクリーン映像は整数動きベクトルを有するのが通常であり、これは、現行の動き情報をより不正確にし、コーディング性能を悪化させる。
VVCでRPRが適用されるとき、RPR(ARC)は以下の問題を有し得る。
1. RPRでは、ブロック内の隣接し合うサンプルに対して補間フィルタが異なることがあり、これはSIMD(単一命令複数データ)実装に望ましくない。
2. 境界領域がRPRを考慮しない。
3. 「適合クロッピングウィンドウオフセットパラメータは出力でのみ適用される。内部復号プロセスは全て、クロッピングされてないピクチャサイズに適用される。」と注意書きされている。しかしながら、それらのパラメータは、RPRが適用されるときに復号プロセスで使用されることがある。
4. 参照サンプル位置を導出するときに、RPRは、2つの適合ウィンドウ間の比のみを考慮する。しかし、2つの適合ウィンドウ間の左上オフセット差も考慮されるべきである。
5. VVCでは参照ピクチャの幅/高さと現在ピクチャの幅/高さとの比が制約されている。しかしながら、参照ピクチャの適合ウィンドウの幅/高さと現在ピクチャの適合ウィンドウの幅/高さとの比は制約されていない。
6. 全てのシンタックス要素がピクチャヘッダ内で適切に扱われているわけではない。
7. 現行のVVCにおいては、TPM、GEO予測モードで、映像シーケンスのクロマサンプル位置タイプに関係なくクロマ混合重みが導出されている。例えば、TPM/GEOにおいて、クロマ重みがルマ重みから導出される場合、クロマ信号のサンプリングに一致するように、ルマ重みをダウンサンプリングする必要があり得る。クロマダウンサンプリングは、通常、ITU-R BT.601又はITU-R BT.709コンテナで広く使用されているものであるクロマサンプル位置タイプ0を仮定して適用される。しかしながら、これは、異なるクロマサンプル位置タイプが使用される場合に、クロマサンプルとダウンサンプリングされたルマサンプルとの間にミスアライメントを生じさせ、コーディング性能を低下させてしまい得る。
8. 留意されたいことに、SAD計算/SAD閾値はビット深度の影響を考慮していない。従って、より高いビット深度(例えば、14又は16ビットの入力シーケンス)では、早期終了のための閾値が過度に小さくなり得る。
9. 非RPRケースでは、1/2ペルMV精度のAMVR(すなわち、代替補間フィルタ/切換可能補間フィルタ)が6タップ動き補償フィルタとともに適用され、他のケース(例えば、1/16ペル)には8タップが適用される。しかしながら、RPRケースでは、mv/mvd精度を考慮することなく、同じ補間フィルタが全てのケースに適用される。従って、1/2ペルのケース(代替補間フィルタ/切換可能補間フィルタ)のシグナリングはビットを浪費している。
10. パーティションツリー分割が許されるか否かの決定が、出力ピクチャ解像度の代わりに符号化ピクチャ解像度に依存する。
11. RPRケースを考慮しないSMVD/MMVDが適用される。これらの方法は、対称MVDが2つの参照ピクチャに適用されるという仮定に基づいている。しかしながら、出力ピクチャ解像度が異なる場合、そのような仮定は成り立たない。
12. 同じ参照ピクチャリスト内の2つのマージ候補からの2つのMVを平均することによってペアワイズマージ候補が生成される。しかしながら、2つのマージ候補に関連する2つの参照ピクチャが異なる解像度を持つ場合、平均化は意味をなさない。
13. 現在ピクチャ内の全てのスライスがI(イントラ)スライスである場合、ピクチャヘッダ内の一部のインタースライス関連シンタックス要素はコーディングされる必要がないとし得る。それらを条件付きでシグナリングすることで、特に全てのイントラコーディングで低解像度シーケンスのシンタックスオーバーヘッドを節減することができる。
14. 現行VVCでは、タイル/スライスの寸法に制限がない。適切な制限を加えることは、リアルタイムソフトウェア/ハードウェアデコーダの並列処理、特に各フレームが4K/8Kよりも大きくなり得る超高解像度シーケンスに有用である。
1. RPRでは、ブロック内の隣接し合うサンプルに対して補間フィルタが異なることがあり、これはSIMD(単一命令複数データ)実装に望ましくない。
2. 境界領域がRPRを考慮しない。
3. 「適合クロッピングウィンドウオフセットパラメータは出力でのみ適用される。内部復号プロセスは全て、クロッピングされてないピクチャサイズに適用される。」と注意書きされている。しかしながら、それらのパラメータは、RPRが適用されるときに復号プロセスで使用されることがある。
4. 参照サンプル位置を導出するときに、RPRは、2つの適合ウィンドウ間の比のみを考慮する。しかし、2つの適合ウィンドウ間の左上オフセット差も考慮されるべきである。
5. VVCでは参照ピクチャの幅/高さと現在ピクチャの幅/高さとの比が制約されている。しかしながら、参照ピクチャの適合ウィンドウの幅/高さと現在ピクチャの適合ウィンドウの幅/高さとの比は制約されていない。
6. 全てのシンタックス要素がピクチャヘッダ内で適切に扱われているわけではない。
7. 現行のVVCにおいては、TPM、GEO予測モードで、映像シーケンスのクロマサンプル位置タイプに関係なくクロマ混合重みが導出されている。例えば、TPM/GEOにおいて、クロマ重みがルマ重みから導出される場合、クロマ信号のサンプリングに一致するように、ルマ重みをダウンサンプリングする必要があり得る。クロマダウンサンプリングは、通常、ITU-R BT.601又はITU-R BT.709コンテナで広く使用されているものであるクロマサンプル位置タイプ0を仮定して適用される。しかしながら、これは、異なるクロマサンプル位置タイプが使用される場合に、クロマサンプルとダウンサンプリングされたルマサンプルとの間にミスアライメントを生じさせ、コーディング性能を低下させてしまい得る。
8. 留意されたいことに、SAD計算/SAD閾値はビット深度の影響を考慮していない。従って、より高いビット深度(例えば、14又は16ビットの入力シーケンス)では、早期終了のための閾値が過度に小さくなり得る。
9. 非RPRケースでは、1/2ペルMV精度のAMVR(すなわち、代替補間フィルタ/切換可能補間フィルタ)が6タップ動き補償フィルタとともに適用され、他のケース(例えば、1/16ペル)には8タップが適用される。しかしながら、RPRケースでは、mv/mvd精度を考慮することなく、同じ補間フィルタが全てのケースに適用される。従って、1/2ペルのケース(代替補間フィルタ/切換可能補間フィルタ)のシグナリングはビットを浪費している。
10. パーティションツリー分割が許されるか否かの決定が、出力ピクチャ解像度の代わりに符号化ピクチャ解像度に依存する。
11. RPRケースを考慮しないSMVD/MMVDが適用される。これらの方法は、対称MVDが2つの参照ピクチャに適用されるという仮定に基づいている。しかしながら、出力ピクチャ解像度が異なる場合、そのような仮定は成り立たない。
12. 同じ参照ピクチャリスト内の2つのマージ候補からの2つのMVを平均することによってペアワイズマージ候補が生成される。しかしながら、2つのマージ候補に関連する2つの参照ピクチャが異なる解像度を持つ場合、平均化は意味をなさない。
13. 現在ピクチャ内の全てのスライスがI(イントラ)スライスである場合、ピクチャヘッダ内の一部のインタースライス関連シンタックス要素はコーディングされる必要がないとし得る。それらを条件付きでシグナリングすることで、特に全てのイントラコーディングで低解像度シーケンスのシンタックスオーバーヘッドを節減することができる。
14. 現行VVCでは、タイル/スライスの寸法に制限がない。適切な制限を加えることは、リアルタイムソフトウェア/ハードウェアデコーダの並列処理、特に各フレームが4K/8Kよりも大きくなり得る超高解像度シーケンスに有用である。
4. 技術及び実施形態の例
以下に記載される詳細な実施形態は、一般的概念を説明するための例とみなされるべきである。これらの実施形態は狭義に解釈されるべきではない。さらに、これらの実施形態は、何らかのやり方で組み合わされることができる。
以下に記載される詳細な実施形態は、一般的概念を説明するための例とみなされるべきである。これらの実施形態は狭義に解釈されるべきではない。さらに、これらの実施形態は、何らかのやり方で組み合わされることができる。
以下に記載される方法はまた、以下に記載されるDMVR及びBIOに加えて、他のデコーダ動き情報導出技術にも適用可能であり得る。
動きベクトルを(mv_x,mv_y)と表記し、mv_xは水平成分、mv_yは垂直成分である。
この開示において、ピクチャの解像度(又は寸法、幅/高さ、又はサイズ)は、符号化/復号ピクチャの解像度(又は寸法、幅/高さ、又はサイズ)を指すことができ、あるいは符号化/復号ピクチャの適合ウィンドウの解像度(又は寸法、幅/高さ、又はサイズ)を指してもよい。一例において、ピクチャの解像度(又は寸法、幅/高さ、又はサイズ)は、例えばスケーリングウィンドウ/位相オフセットウィンドウなどの、RPR(参照ピクチャリサンプリング)プロセスに関係するパラメータを指してもよい。一例において、ピクチャの解像度(又は寸法、幅/高さ、又はサイズ)は、出力ピクチャに関連するものに関係する。
RPRにおける動き補償
1. 参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、現在ブロックの一群のサンプル(サンプルのグループ)(少なくとも2つのサンプル)についての予測値は、同じ水平及び/又は垂直補間フィルタを用いて生成され得る:
a. 一例において、該グループは、ブロックの領域内の全てのサンプルを有し得る:
i. 例えば、ブロックは、互いに重なり合わないS個のM×N矩形に分割され得る。各M×N矩形がグループである。図2に示す例において、16×16ブロックを、各々がグループである16個の4×4矩形に分割することができる;
ii. 例えば、N個のサンプルを有する行がグループである。Nは、ブロック幅以下の整数である。一例において、Nは、4又は8又はブロック幅である;
iii. 例えば、N個のサンプルを有する列がグループである。Nは、ブロック高さ以下の整数である。一例において、Nは、4又は8又はブロック高さである;
iv. M及び/又はNは、予め定められてもよいし、あるいは例えばブロック寸法/符号化情報などに基づいてオンザフライで導出されてもよいし、あるいはシグナリングされてもよい;
b. 一例において、グループ内のサンプルは、同じMV(共有MVと表記する)を持ち得る;
c. 一例において、グループ内のサンプルは、同じ水平成分(共有水平成分と表記する)を有するMVを持ち得る;
d. 一例において、グループ内のサンプルは、同じ垂直成分(共有垂直成分と表記する)を有するMVを持ち得る;
e. 一例において、グループ内のサンプルは、水平成分の同じ分数部分(共有分数水平成分と表記する)を有するMVを持ち得る:
i. 例えば、第1のサンプルに対するMVが(MV1x,MV1y)であり、第2のサンプルに対するMVが(MV2x,MV2y)であるとすると、MV1x&(2M-1)がMV2x&(2M-1)に等しいことを満足すべきであり、ここで、MはMV精度を表す。例えば、M=4である;
f. 一例において、グループ内のサンプルは、垂直成分の同じ分数部分(共有分数垂直成分と表記する)を有するMVを持ち得る:
i. 例えば、第1のサンプルに対するMVが(MV1x,MV1y)であり、第2のサンプルに対するMVが(MV2x,MV2y)であるとすると、MV1y&(2M-1)がMV2y&(2M-1)に等しいことを満足すべきであり、ここで、MはMV精度を表す。例えば、M=4である;
g. 一例において、予測されるグループ内のサンプルについて、先ず、現在ピクチャ及び参照ピクチャ(例えば、JVET-O2001-v14の8.5.6.3.1で導出される参照ピクチャ(例えば、(refxL,refyL))に従って、MVbと表記する動きベクトルが導出される。次いで、MVbを更に、例えば上の箇条書きなどの要件を満たすようにMV’に変更する(例えば、丸める/切り捨てる/クリッピングする)ことができ、MV’が、サンプルの予測サンプルを導出するのに使用されることになる:
i. 一例において、MV’は、MVbと同じ整数部分を持ち、MV’の小数部分は、共有分数水平成分及び/又は共有分数垂直成分であるように設定される;
ii. 一例において、MV’は、共有分数水平成分及び/又は共有分数垂直成分のうちMVbに近い方に設定される;
h. 共有動きベクトル(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、グループ内の特定のサンプルの共有動きベクトル(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)に設定され得る:
i. 例えば、特定のサンプルは、例えば図3Aに示す“A”、“B”、“C”及び“D”など、矩形のグループのコーナーにあるとし得る;
ii. 例えば、特定のサンプルは、例えば図3Aに示す“E”、“F”、“G”及び“H”など、矩形のグループの中心にあるとし得る;
iii. 例えば、特定のサンプルは、例えば図3B及び3Cに示す“A”及び“D”など、行形状又は列形状のグループの一端にあるとし得る;
iv. 例えば、特定のサンプルは、例えば図3B及び3Cに示す“B”及び“C”など、行形状又は列形状のグループの中央にあるとし得る;
v. 一例において、特定のサンプルの動きベクトルは、箇条書きgで述べたMVbとし得る;
i. 共有動きベクトル(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、そのグループ内の全てのサンプルと異なる位置にある仮想サンプルの動きベクトル(及び/又は水平成分及び/又は垂直成分、及び/又は分数水平成分及び/又は分数垂直成分)であるように設定され得る:
i. 一例において、仮想サンプルはグループ内にはないが、グループ内の全てのサンプルをカバーする領域内に位置する:
1) あるいは、仮想サンプルは、グループ内の全てのサンプルをカバーする領域の外側、例えば、該領域の右下の位置の隣、に位置する;
ii. 一例において、仮想サンプルのMVは、実際のサンプルと同じようにして導出されるが、複数の異なる位置で導出される;
iii. 図3A-3C内の“V”は、仮想サンプルの3つの例を示している;
j. 共有MV(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、複数のサンプル及び/又は仮想サンプルのMV(及び/又は水平成分及び/又は垂直成分、及び/又は分数水平成分及び/又は分数垂直成分)の関数であるように設定され得る:
i. 例えば、共有MV(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、グループ内のサンプルの全て若しくは一部の、又は図3Aのサンプル“E”、“F”、“G”、“H”の、又は図3Aのサンプル“E”、“H”の、又は図3Aのサンプル“A”、“B”、“C”、“D”の、又は図3Aのサンプル“A”、“D”の、又は図3Bのサンプル“B”、“C”の、又は図3Bのサンプル“A”、“D”の、又は図3Cのサンプル“B”、“C”の、又は図3Cのサンプル“A”、“D”のMV(及び/又は水平成分及び/又は垂直成分、及び/又は分数水平成分及び/又は分数垂直成分)の平均であるように設定され得る。
2. 参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、整数MVのみが、現在ブロックの予測ブロックを導出する動き補償プロセスを実行するのを許されることを提案する:
a. 一例において、予測されるサンプルに対する複合動きベクトルは、使用される前に整数MVに丸められる;
b. 一例において、予測されるサンプルに対する複合動きベクトルは、復号動きベクトルに最も近い整数MVに丸められる;
c. 一例において、予測されるサンプルに対する複合動きベクトルは、水平方向に復号動きベクトルに最も近い整数MVに丸められる;
d. 一例において、予測されるサンプルに対する複合動きベクトルは、垂直方向に復号動きベクトルに最も近い整数MVに丸められる。
3. 現在ブロック内のサンプルに対する動き補償プロセスで使用される動きベクトル(例えば、上の箇条書きで述べた共有MV/共有水平又は垂直又は分数成分/MV’)は、復号ピクチャバッファに格納されて、現在ピクチャ/異なるピクチャ内の後続ブロックの動きベクトル予測に利用され得る:
a. あるいは、現在ブロック内のサンプルに対する動き補償プロセスで使用される動きベクトル(例えば、上の箇条書きで述べた共有MV/共有水平又は垂直又は分数成分/MV’)は、現在ピクチャ/異なるピクチャ内の後続ブロックの動きベクトル予測に利用されることを禁止されてもよい:
i. 一例において、復号動きベクトル(例えば、上の箇条書きにおけるMVb)が、現在ピクチャ/異なるピクチャ内の後続ブロックの動きベクトル予測に利用され得る;
b. 一例において、現在ブロック内のサンプルに対する動き補償プロセスで使用される動きベクトルは、フィルタリングプロセス(例えば、デブロッキングフィルタ/SAO/ALF)で利用され得る:
i. あるいは、復号動きベクトル(例えば、上の箇条書きにおけるMVb)が、フィルタリングプロセスに利用されてもよい;
c. 一例において、このようなMVは、サブブロックレベルで導出されて、各サブブロックに対して記憶され得る。
4. 現在ブロックの予測ブロックを導出する動き補償プロセスで使用される補間フィルタが、参照ピクチャの解像度が現在ピクチャとは異なるか、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいかに応じて選択され得ることを提案する:
a. 一例において、条件Aが満たされるときに、より少ないタップを有する補間フィルタを適用することができ、条件Aは、現在ピクチャ及び/又は参照ピクチャの寸法に依存する:
i. 一例において、条件Aは、参照ピクチャの解像度が現在ピクチャとは異なることである;
ii. 一例において、条件Aは、参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいことである;
iii. 一例において、条件Aは、W1>a*W2及び/又はH1>b*H2であり、ここで、(W1,H1)は参照ピクチャの幅及び高さを表し、(W2,H2)は現在ピクチャの幅及び高さを表し、a及びbは2つの係数であり、例えば、a=b=1.5である;
iv. 一例において、条件Aは、双予測が使用されるかにも依存し得る;
v. 一例において、1タップフィルタが適用される。換言すれば、フィルタリングなしの整数ピクセルが補間結果として出力される;
vi. 一例において、参照ピクチャの解像度が現在ピクチャとは異なるとき、双線形フィルタが適用される;
vii. 一例において、参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、4タップフィルタ又は6タップフィルタが適用される:
1) 6タップフィルタは、アフィン動き補償にも使用され得る;
2) 4タップフィルタは、クロマサンプルに対する補間にも使用され得る;
b. 一例において、参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、補間を実行するためにパディングサンプルが使用される;
c. 箇条書き4に開示される方法を適用するかどうか、及び/又はどのように適用するかは、カラー成分に依存し得る:
i. 例えば、当該方法はルマコンポーネントのみに適用される;
d. 箇条書き4に開示される方法を適用するかどうか、及び/又はどのように適用するかは、補間フィルタリング方向に依存し得る:
i. 例えば、当該方法は水平フィルタリングのみに適用される;
ii. 例えば、当該方法は垂直フィルタリングのみに適用される。
5. 参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、予測ブロック生成のための二段階プロセスが適用されることを提案する:
a. 第1段階にて、現在ピクチャ及び参照ピクチャの幅及び/又は高さに応じて参照ピクチャ内の領域のアップサンプリング又はダウンサンプリングによって、仮想参照ブロックが生成される;
b. 第2段階にて、現在ピクチャ及び参照ピクチャの幅及び/又は高さとは無関係に補間フィルタリングを適用することによって、仮想参照ブロックから予測サンプルが生成される。
6. JVET-O2001-v14の8.5.6.3.1に定義されるような参照サンプルパディングのための境界ブロックの左上座標(xSbIntL,ySbIntL)の計算が、現在ピクチャ及び参照ピクチャの幅及び/又は高さに応じて導出され得ることを提案する:
a. 一例において、フルサンプル単位のルマ位置が:
xInti=Clip3(xSbIntL-Dx,xSbIntL+sbWidth+Ux,xInti)、
yInti=Clip3(ySbIntL-Dy,ySbIntL+sbHeight+Uy,yInti)
のように変更され、ここで、Dx及び/又はDy、及び/又はUx及び/又はUyは、現在ピクチャ及び参照ピクチャの幅及び/又は高さに依存し得る;
b. 一例において、フルサンプル単位のクロマ位置が:
xInti=Clip3(xSbIntC-Dx,xSbIntC+sbWidth+Ux,xInti)、
yInti=Clip3(ySbIntC-Dy,ySbIntC+sbHeight+Uy,yInti)
のように変更され、ここで、Dx及び/又はDy、及び/又はUx及び/又はUyは、現在ピクチャ及び参照ピクチャの幅及び/又は高さに依存し得る。
7. 現在ピクチャと同じ参照ピクチャ解像度に基づく動きベクトルをブロック用に記憶/使用することに代えて、解像度差を考慮に入れた実際の動きベクトルを使用することを提案する:
a. あるいは、さらに、動きベクトルを用いて予測ブロックを生成するときに、JVET-O2001-v14の8.5.6.3.1で導出される現在ピクチャ及び参照ピクチャ(例えば、(refxL,refyL))の解像度に従って動きベクトルを更に変更する必要はない。
RPRと他のコーディングツールとの間の相互作用
8. フィルタリングプロセス(例えば、デブロッキングフィルタ)を適用すべきか/どのように適用するかは、参照ピクチャの解像度及び/又は現在ピクチャの解像度に依存し得る:
a. 一例において、デブロッキングフィルタにおける境界強度(BS)設定が、動きベクトル差に加えて解像度差を考慮に入れ得る:
i. 一例において、現在ピクチャ及び参照ピクチャの解像度に応じてスケーリングされた動きベクトル差を用いて境界強度を決定し得る;
b. 一例において、ブロックAの少なくとも1つの参照ピクチャの解像度がブロックBの少なくとも1つの参照ピクチャの解像度と異なる(又はそれよりも小さい若しくは大きい)場合に、ブロックAとブロックBとの間の境界に対するデブロッキングフィルタの強さが、それら2つのブロックに対して同じ解像度が使用される場合と比較して異なるように(例えば、増加されて/減少されて)設定され得る;
c. 一例において、ブロックAの少なくとも1つの参照ピクチャの解像度がブロックBの少なくとも1つの参照ピクチャの解像度と異なる(又はそれよりも小さい若しくは大きい)場合に、ブロックAとブロックBの間の境界が、フィルタリングされるべきとしてマークされる(例えば、BSが2に設定される);
d. 一例において、ブロックA及び/又はブロックBの少なくとも1つの参照ピクチャの解像度が現在ピクチャの解像度と異なる(又はそれよりも小さい若しくは大きい)場合に、ブロックAとブロックBとの間の境界に対するデブロッキングフィルタの強さが、参照ピクチャ及び現在ピクチャに同じ解像度が使用される場合と比較して異なるように(例えば、増加されて/減少されて)設定され得る;
e. 一例において、2つのブロックの間の境界が、それら2つのうちの少なくとも一方のブロックの少なくとも1つの参照ピクチャが現在のピクチャの解像度と異なる解像度を持つ場合に、フィルタリングされるべきとしてマークされる(例えば、BSが2に設定される)。
9. サブピクチャが存在するとき、適合ビットストリームは、参照ピクチャが現在ピクチャと同じ解像度を持たなければならないことを満たすべきであるとし得る:
a. あるいは、参照ピクチャが現在ピクチャとは異なる解像度を持つとき、現在ピクチャにサブピクチャは存在しない;
b. あるいは、現在ピクチャ内のサブピクチャに対して、現在ピクチャとは異なる解像度を有する参照ピクチャを使用することが禁止される:
i. あるいは、さらに、異なる解像度を有する参照ピクチャを除外するために参照ピクチャ管理が呼び出され得る。
10. 一例において、異なる解像度を有するピクチャに対して別々にサブピクチャ(例えば、1つのピクチャをどのように複数のサブピクチャにスプリットするか)が定義され得る:
一例において、参照ピクチャが現在ピクチャとは異なる解像度を持つ場合、現在ピクチャのサブピクチャをスケーリング及び/又はオフセットすることによって、参照ピクチャ内の対応するサブピクチャを導出することができる。
11. 参照ピクチャが現在ピクチャの解像度とは異なる解像度を持つとき、PROF(オプティカルフローでの予測精緻化)を有効にすることができる:
a. 一例において、一群のサンプルに対して、一組のMV(MVgと表記する)が生成され、箇条書き1に記載したように動き補償に使用され得る。一方、各サンプルに対してMV(MVpと表記する)を導出することができ、MVpとMVgとの間の差(例えば、PROFで使用されるΔvに対応する)が、勾配(例えば、動き補償ブロックの空間勾配)と共に、予測精緻化を導出するために使用され得る;
b. 一例において、MVpは、MVgとは異なる精度を有し得る。例えば、MVpは、1/Nペル(N>0)精度でのものであることができ、N=32、64などである;
c. 一例において、MVgは、内部MV精度(例えば、1/16ペル)とは異なる精度でのものであることができる;
d. 一例において、予測精緻化が予測ブロックに足し合わされて、精緻化予測ブロックを生成する;
e. 一例において、このような方法は各予測方向で適用され得る;
f. 一例において、このような方法は片予測の場合にのみ適用され得る;
g. 一例において、このような方法は片予測又は/及び双予測で適用され得る;
h. 一例において、このような方法は、参照ピクチャが現在ピクチャとは異なる解像度を持つ場合にのみ適用され得る。
12. 参照ピクチャの解像度が現在ピクチャのそれとは異なるとき、現在ブロックの予測ブロックを導出する動き補償プロセスを実行するのに、ブロック/サブブロックに対して1つのMVのみが利用され得ることを提案する:
a. 一例において、ブロック/サブブロックに対する唯一のMVは、ブロック/サブブロック内の各サンプルに関連する全てのMVの関数(例えば、平均)として定められ得る;
b. 一例において、ブロック/サブブロックに対する唯一のMVは、ブロック/サブブロック内の選択されたサンプル(例えば、中心サンプル)に関連する選択されたMVとして定められ得る;
c. 一例において、4×4ブロック又はサブブロック(例えば、4×1)に対して唯一のMVが使用され得る;
d. 一例において、ブロックベースの動きベクトルに起因する精度損失を補償するために、更にBIOが適用され得る。
13. 参照ピクチャの幅及び/又は高さが現在ピクチャのそれとは異なるとき、ブロックベースの動きベクトルをシグナリングしない怠惰(レイジー)モードが適用され得る:
a. 一例において、動きベクトルもシグナリングされず、動き補償プロセスは静止画像の純粋な解像度変化の場合を近似する;
b. 一例において、解像度が変化するときに、ピクチャ/タイル/ブリック/CTUレベルで動きベクトルのみがシグナリングされ、関係するブロックがその動きベクトルを使用し得る。
14. アフィン予測モード及び/又は非アフィン予測モードでコーディングされるブロックについて、参照ピクチャの幅及び/又は高さが現在ピクチャのそれとは異なるとき、動き補償を近似するためにPROFが適用され得る:
a. 一例において、PROFは、参照ピクチャの幅及び/又は高さと現在ピクチャのそれとが異なるときに有効にされ得る;
b. 一例において、一組のアフィン運動が、指し示された動きと、スケーリングされてPROFによって使用される解像度とを組み合わせることによって生成され得る。
15. 参照ピクチャの幅及び/又は高さが現在ピクチャのそれとは異なるとき、動き補償を近似するために、インターウィーブ予測(例えば、JVET-K0102で提案されているような)が適用され得る:
a. 一例において、解像度変化(ズーミング)がアフィン運動として表現され、インターウィーブ動き予測が適用され得る。
16. 現在ピクチャの幅及び/又は高さが、同じIRAP期間内のIRAPピクチャのそれとは異なるとき、LMCS及び/又はクロマ残差スケーリングが無効にされ得る:
a. 一例において、LMCSが無効にされるとき、例えばslice_lmcs_enabled_flag、slice_lmcs_aps_id、及びslice_chroma_residual_scale_flagなどのスライスレベルフラグは、シグナリングされずに0であると推定され得る;
b. 一例において、クロマ残差スケーリングが無効にされるとき、例えばslice_chroma_residual_scale_flagなどのスライスレベルフラグは、シグナリングされずに0であると推定され得る。
RPRについての制約
17. RPRは、ブロック寸法制約を有するコーディングブロックに適用され得る:
a. 一例において、Mをブロック幅、Nをブロック高さとして、M×Nコーディングブロックについて、M*N<T又はM*N<=Tであるとき(例えばT=256など)、RPRは使用されないとし得る;
b. 一例において、M<K(又はM<=K)(例えばK=16など)及び/又はN<L(又はN<=L)(例えばL=16など)であるとき、RPRは使用されないとし得る。
18. アクティブ参照ピクチャ(又はその適合ウィンドウ)の幅及び/又は高さと現在ピクチャ(又はその適合ウィンドウ)のそれとの間の比を制約するために、ビットストリーム適合が付加され得る。refPicW及びrefPicHが参照ピクチャの幅及び高さを表し、curPicW及びcurPicHが現在ピクチャの幅及び高さを表すとする:
a. 一例において、(refPicW÷curPicW)が整数に等しいとき、その参照ピクチャはアクティブ参照ピクチャとしてマークされ得る:
i. あるいは、(refPicW÷curPicW)が分数に等しいとき、その参照ピクチャは利用可能でないとしてマークされ得る;
b. 一例において、例えばX=1/2など、Xは分数を表し、例えばn=1,2,3,4,…など、nは整数を表すとして、(refPicW÷curPicW)が(X*n)に等しいとき、その参照ピクチャはアクティブ参照ピクチャとしてマークされ得る:
i. 一例において、(refPicW÷curPicW)が(X*n)に等しくないとき、その参照ピクチャは利用可能でないとしてマークされ得る。
19. M×Nブロックに対してコーディングツール(例えば、双予測/全体的な三角予測モード(TPM)/TPMにおける混合プロセス)を有効にすべきか及び/又はどのように有効にするかが、参照ピクチャ(又はそれらの適合ウィンドウ)の解像度及び/又は現在ピクチャ(又はその適合ウィンドウ)の解像度に依存し得る:
a. 一例において、M*N<T又はM*N<=T(例えばT=64など)である;
b. 一例において、M<K(又はM<=K)(例えばK=16など)及び/又はN<L(又はN<=L)(例えばL=16など)である;
c. 一例において、少なくとも1つの参照ピクチャの幅/高さが現在ピクチャとは異なるとき、コーディングツールは許可されない:
i. 一例において、ブロックの少なくとも1つの参照ピクチャの幅/高さが現在ピクチャのそれよりも大きいとき、コーディングツールは許可されない;
d. 一例において、ブロックの各参照ピクチャの幅/高さが現在ピクチャのそれとは異なるとき、コーディングツールは許可されない:
i. 一例において、各参照ピクチャの幅/高さが現在ピクチャのそれよりも大きいとき、コーディングツールは許可されない;
e. あるいは、さらに、コーディングツールが許可されないとき、動き補償は、片予測として1つのMVで行われ得る。
適合ウィンドウ関連
20. Nは1より大きい正の整数であるとして、適合クロッピングウィンドウオフセットパラメータ(例えば、conf_win_left_offset)が、1ペルに代えてNペル精度でシグナリングされる:
a. 一例において、実際のオフセットは、シグナリングされたオフセットにNを乗じたものとして導出され得る;
b. 一例において、Nは4又は8に設定される。
21. 適合クロッピングウィンドウオフセットパラメータが出力で適用されるのみではないことを提案する。特定の内部復号プロセスが、クロッピングされたピクチャサイズ(すなわち、ピクチャ内の適合ウィンドウの解像度)に依存し得る。
22. 第1の映像ユニットにおいてと、第2の映像ユニットにおいてとで、(pic_width_in_luma_samples,pic_height_in_luma_samples)と表記されるピクチャの幅及び/又は高さが同じであるとき、第1の映像ユニット(例えば、PPS)においてと、第2の映像ユニットにおいてとで、適合クロッピングウィンドウオフセットパラメータが異なり得ることを提案する。
23. 第1の映像ユニットにおいてと、第2の映像ユニットにおいてとで、(pic_width_in_luma_samples,pic_height_in_luma_samples)と表記されるピクチャの幅及び/又は高さが異なるとき、適合ビットストリームでは、第1の映像ユニット(例えば、PPS)においてと、第2の映像ユニットにおいてとで、適合クロッピングウィンドウオフセットパラメータが同じであるべきことを提案する:
a. 第1の映像ユニットにおいてと、第2の映像ユニットにおいてとで、(pic_width_in_luma_samples,pic_height_in_luma_samples)と表記されるピクチャの幅及び/又は高さが同じであろうとなかとろうと、適合ビットストリームでは、第1の映像ユニット(例えば、PPS)においてと、第2の映像ユニットにおいてとで、適合クロッピングウィンドウオフセットパラメータが同じであるべきことを提案する。
24. 第1の映像ユニット(例えば、PPS)に規定される適合ウィンドウの幅及び高さをそれぞれW1及びH1と表記するとする。第2の映像ユニット(例えば、PPS)に規定される適合ウィンドウの幅及び高さをそれぞれW2及びH2と表記する。第1の映像ユニット(例えば、PPS)に規定される適合ウィンドウの左上の位置をX1及びY1と表記する。第2の映像ユニット(例えば、PPS)に規定される適合ウィンドウの左上の位置をX2及びY2と表記する。第1の映像ユニット(例えば、PPS)に規定される符号化/復号ピクチャの幅及び高さ(例えば、pic_width_in_luma_samples及びpic_height_in_luma_samples)をそれぞれPW1及びPH1と表記する。第2の映像ユニット(例えば、PPS)に規定される符号化/復号ピクチャの幅及び高さをそれぞれPW2及びPH2と表記する:
a. 一例において、適合ビットストリームではW1/W2がX1/X2に等しくあるべきである:
i. あるいは、適合ビットストリームではW1/X1がW2/X2に等しくあるべきである;
ii. あるいは、適合ビットストリームではW1*X2がW2*X1に等しくあるべきである;
b. 一例において、適合ビットストリームではH1/H2がY1/Y2に等しくあるべきである:
i. あるいは、適合ビットストリームではH1/Y1がH2/Y2に等しくあるべきである;
ii. あるいは、適合ビットストリームではH1*Y2がH2*Y1に等しくあるべきである;
c. 一例において、適合ビットストリームではPW1/PW2がX1/X2に等しくあるべきである:
i. あるいは、適合ビットストリームではPW1/X1がPW2/X2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPW1*X2がPW2*X1に等しくあるべきである;
d. 一例において、適合ビットストリームではPH1/PH2がY1/Y2に等しくあるべきである:
i. あるいは、適合ビットストリームではPH1/Y1がPH2/Y2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPH1*Y2がPH2*Y1に等しくあるべきである;
e. 一例において、適合ビットストリームではPW1/PW2がW1/W2に等しくあるべきである:
i. あるいは、適合ビットストリームではPW1/W1がPW2/W2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPW1*W2がPW2*W1に等しくあるべきである;
f. 一例において、適合ビットストリームではPH1/PH2がH1/H2に等しくあるべきである:
i. あるいは、適合ビットストリームではPH1/H1がPH2/H2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPH1*H2がPH2*H1に等しくあるべきである;
g. 適合ビットストリームでは、PW1がPW2よりも大きい場合、W1はW2よりも大きくなければならない;
h. 適合ビットストリームでは、PW1がPW2よりも小さい場合、W1はW2よりも小さくなければならない;
i. 適合ビットストリームでは、(PW1-PW2)*(W1-W2)は0以上でなければならない;
j. 適合ビットストリームでは、PH1がPH2よりも大きい場合、H1はH2よりも大きくなければならない;
k. 適合ビットストリームでは、PH1がPH2よりも小さい場合、H1はH2よりも小さくなければならない;
l. 適合ビットストリームでは、(PH1-PH2)*(H1-H2)は0以上でなければならない;
m. 適合ビットストリームでは、PW1>=PW2である場合、W1/W2はPW1/PW2以下(又は以上)でなければならない;
n. 適合ビットストリームでは、PH1>=PH2である場合、H1/H2はPH1/PHW2以下(又は以上)でなければならない。
25. 現在ピクチャの適合ウィンドウの幅及び高さをそれぞれW及びHと表記するとする。参照ピクチャの適合ウィンドウの幅及び高さをそれぞれW’及びH’と表記する。適合ビットストリームは、以下の制約の少なくとも1つに従うべきである:
a. W*pw>=W’; pwは例えば2などの整数である;
b. W*pw>W’; pwは例えば2などの整数である;
c. W’*pw’>=W; pw’は例えば8などの整数である;
d. W’*pw’>W; pw’は例えば8などの整数である;
e. H*ph>=H’; phは例えば2などの整数である;
f. H*ph>H’; phは例えば2などの整数である;
g. H’*ph’>=H; ph’は例えば8などの整数である;
h. H’*ph’>H; ph’は例えば8などの整数である;
i. 一例において、pwはpw’に等しい;
j. 一例において、phはph’に等しい;
k. 一例において、pwはphに等しい;
l. 一例において、pw’はph’に等しい;
m. 一例において、上の小箇条書きは、W及びHがそれぞれ現在ピクチャの幅及び高さを表すときに、適合ビットストリームによって満足される必要があるとし得る。W’及びH’は、参照ピクチャの幅及び高さを表す。
26. 適合ウィンドウパラメータが部分的にシグナリングされることを提案する:
a. 一例において、ピクチャの適合ウィンドウの左上サンプルは、そのピクチャにおけるそれと同じである;
b. 例えば、VVCで定義されるconf_win_left_offsetは、シグナリングされずに0であると推定される;
c. 例えば、VVCで定義されるconf_win_top_offsetは、シグナリングされずに0であると推定される。
27. 参照サンプルの位置(例えば、VVCで定義される(refxL,refyL))の導出が、現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの左上の位置(例えば、VVCで定義される(conf_win_left_offset,conf_win_top_offset))に依存し得ることを提案する。図4A及び4Bは、(a)VVCにおいてと同様に、及び(b)及び提案する方法において導出されるサンプル位置の例を示している。破線の矩形が適合ウィンドウを表している:
a. 一例において、依存性は、現在ピクチャの幅及び/又は高さと参照ピクチャのそれとが異なるときにのみ存在する;
b. 一例において、参照サンプルの水平位置(例えば、VVCで定義されるRefxL)の導出は、現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの左位置(例えば、VVCで定義されるconf_win_left_offset)に依存し得る:
i. 一例において、現在ピクチャ内の適合ウィンドウの左上の位置に対する現在サンプルの水平位置(xSb’と表記)が計算され、参照サンプルの位置を導出するために使用される:
1) 例えば、xSb’=xSb-(conf_win_left_offset<<Prec)が計算され、参照サンプルの位置を導出するために使用される。ここで、xSbは現在ピクチャ内の現在サンプルの水平位置を表す。conf_win_left_offsetは現在ピクチャの適合ウィンドウ内の左上サンプルの水平位置を表す。PrecはxSb及びxSb’の精度を表し、ここで、(xSb>>Prec)は、現在ピクチャに対する現在サンプルの実際の水平座標を示し得る。例えば、Prec=0又はPrec=4である;
ii. 一例において、参照ピクチャ内の適合ウィンドウの左上の位置に対する参照サンプルの水平位置(Rx’と表記)が計算される:
1) Rx’の計算は、xSb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存し得る;
iii. 一例において、参照ピクチャに対する参照サンプルの水平位置(Rxと表記)が、Rx’に依存して計算される:
1) 例えば、Rx=Rx’+(conf_win_left_offset_ref<<Prec)が計算され、conf_win_left_offset_refは、参照ピクチャの適合ウィンドウ内の左上サンプルの水平位置を表す。Precは、Rx及びRx’の精度を表す。例えば、Prec=0又はPrec=4である;
iv. 一例において、Rxは、xSb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存して直接計算され得る。換言すれば、Rx’及びRxについての導出の2つのステップが一ステップの計算へと結合される;
v. 現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの左位置(例えば、VVCで定義されるconf_win_left_offset)を使用すべきか、及び/又はどのように使用するかは、カラー成分及び/又はカラーフォーマットに依存し得る:
1) 例えば、conf_win_left_offsetを、conf_win_left_offset=conf_win_left_offset*SubWidthCとして改訂することができ、ここで、SubWidthCは、カラー成分の水平方向のサンプリングステップを定義する。例えば、SubWidthCはルマコンポーネントに対して1に等しい。SubWidthCは、カラーフォーマットが4:2:0又は4:2:2である場合、クロマコンポーネントに対しては2に等しい;
2) 例えば、conf_win_left_offsetを、conf_win_left_offset=conf_win_left_offset/SubWidthCとして改訂することができ、ここで、SubWidthCは、カラー成分の水平方向のサンプリングステップを定義する。例えば、SubWidthCはルマコンポーネントに対して1に等しい。SubWidthCは、カラーフォーマットが4:2:0又は4:2:2である場合、クロマコンポーネントに対しては2に等しい;
c. 一例において、参照サンプルの垂直位置(例えば、VVCで定義されるRefyL)の導出は、現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの上位置(例えば、VVCで定義されるconf_win_top_offset)に依存し得る:
i. 一例において、現在ピクチャ内の適合ウィンドウの左上の位置に対する現在サンプルの垂直位置(ySb’と表記)が計算され、参照サンプルの位置を導出するために使用される:
1) 例えば、ySb’=ySb-(conf_win_top_offset<<Prec)が計算され、参照サンプルの位置を導出するために使用される。ここで、ySbは現在ピクチャ内の現在サンプルの垂直位置を表す。conf_win_top_offsetは現在ピクチャの適合ウィンドウ内の左上サンプルの垂直位置を表す。PrecはySb及びySb’の精度を表す。例えば、Prec=0又はPrec=4である;
ii. 一例において、参照ピクチャ内の適合ウィンドウの左上の位置に対する参照サンプルの垂直位置(Ry’と表記)が計算される:
1) Ry’の計算は、ySb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存し得る;
iii. 一例において、参照ピクチャに対する参照サンプルの垂直位置(Ryと表記)が、Ry’に依存して計算される:
1) 例えば、Ry=Ry’+(conf_win_top_offset_ref<<Prec)が計算され、conf_win_top_offset_refは、参照ピクチャの適合ウィンドウ内の左上サンプルの垂直位置を表す。Precは、Ry及びRy’の精度を表す。例えば、Prec=0又はPrec=4である;
iv. 一例において、Ryは、ySb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存して直接計算され得る。換言すれば、Ry’及びRyについての導出の2つのステップが一ステップの計算へと結合される;
v. 現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの上位置(例えば、VVCで定義されるconf_win_top_offset)を使用すべきか、及び/又はどのように使用するかは、カラー成分及び/又はカラーフォーマットに依存し得る:
1) 例えば、conf_win_top_offsetを、conf_win_top_offset=conf_win_top_offset*SubHeightCとして改訂することができ、ここで、SubHeightCは、カラー成分の垂直方向のサンプリングステップを定義する。例えば、SubHeightCはルマコンポーネントに対して1に等しい。SubHeightCは、カラーフォーマットが4:2:0である場合、クロマコンポーネントに対しては2に等しい;
2) 例えば、conf_win_top_offsetを、conf_win_top_offset=conf_win_top_offset/SubHeightCとして改訂することができ、ここで、SubHeightCは、カラー成分の垂直方向のサンプリングステップを定義する。例えば、SubHeightCはルマコンポーネントに対して1に等しい。SubHeightCは、カラーフォーマットが4:2:0である場合、クロマコンポーネントに対しては2に等しい;
28. 参照サンプルの水平座標の整数部分が[minW,maxW]にクリッピングされ得ることを提案する。参照ピクチャの適合ウィンドウの幅及び高さをそれぞれW及びHと表記するとする。参照ピクチャの適合ウィンドウの幅及び高さをW’及びH’と表記する。参照ピクチャ内の適合ウィンドウの左上の位置を(X0,Y0)と表記する:
a. 一例において、minWは0に等しい;
b. 一例において、minWはX0に等しい;
c. 一例において、maxWはW-1に等しい;
d. 一例において、maxWはW’-1に等しい;
e. 一例において、maxWはX0+W’-1に等しい;
f. 一例において、minW及び/又はmaxWは、カラーフォーマット及び/又はカラー成分に基づいて変更されてもよい:
i. 例えば、minWはminW*SubCに変更される;
ii. 例えば、minWはminW/SubCに変更される;
iii. 例えば、maxWはmaxW*SubCに変更される;
iv. 例えば、maxWはmaxW*SubCに変更される;
v. 一例において、SubCはルマコンポーネントに対して1に等しい;
vi. 一例において、カラーフォーマットが4:2:0である場合、SubCはクロマコンポーネントに対して2に等しい;
vii. 一例において、カラーフォーマットが4:2:2である場合、SubCはクロマコンポーネントに対して2に等しい;
viii. 一例において、カラーフォーマットが4:4:4である場合、SubCはクロマコンポーネントに対して1に等しい;
g. 一例において、クリッピングを行うべきか、及び/又はどのように行うかは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法及び参照ピクチャ(又はその中の適合ウィンドウ)の寸法に依存し得る:
i. 一例において、クリッピングは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法と参照ピクチャ(又はその中の適合ウィンドウ)の寸法とが異なるときにのみ行われる。
29. 参照サンプルの垂直座標の整数部分が[minH,maxH]にクリッピングされ得ることを提案する。参照ピクチャの適合ウィンドウの幅及び高さをそれぞれW及びHと表記するとする。参照ピクチャの適合ウィンドウの幅及び高さをW’及びH’と表記する。参照ピクチャ内の適合ウィンドウの左上の位置を(X0,Y0)と表記する:
a. 一例において、minHは0に等しい;
b. 一例において、minHはY0に等しい;
c. 一例において、maxHはH-1に等しい;
d. 一例において、maxHはH’-1に等しい;
e. 一例において、maxHはY0+H’-1に等しい;
f. 一例において、minH及び/又はmaxHは、カラーフォーマット及び/又はカラー成分に基づいて変更されてもよい:
i. 例えば、minHはminH*SubCに変更される;
ii. 例えば、minHはminH/SubCに変更される;
iii. 例えば、maxHはmaxH*SubCに変更される;
iv. 例えば、maxHはmaxH*SubCに変更される;
v. 一例において、SubCはルマコンポーネントに対して1に等しい;
vi. 一例において、カラーフォーマットが4:2:0である場合、SubCはクロマコンポーネントに対して2に等しい;
vii. 一例において、カラーフォーマットが4:2:2である場合、SubCはクロマコンポーネントに対して1に等しい;
viii. 一例において、カラーフォーマットが4:4:4である場合、SubCはクロマコンポーネントに対して1に等しい;
g. 一例において、クリッピングを行うべきか、及び/又はどのように行うかは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法及び参照ピクチャ(又はその中の適合ウィンドウ)の寸法に依存し得る:
i. 一例において、クリッピングは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法と参照ピクチャ(又はその中の適合ウィンドウ)の寸法とが異なるときにのみ行われる。
以下の説明では、第1のシンタックス要素と第2のシンタックス要素との2つのシンタックス要素が等価な機能を持つが、異なる映像ユニット(例えば、VPS/SPS/PPS/スライスヘッダ/ピクチャヘッダなど)でシグナリングされ得る場合に、第1のシンタックス要素は第2のシンタックス要素に“対応する”と言う。
30. シンタックス要素が第1の映像ユニット(例えば、ピクチャヘッダ又はPPS)内でシグナリングされ、より高いレベル(例えばSPSなど)又はより低いレベル(例えばスライスヘッダなど)の第2の映像ユニットで、対応するシンタックス要素がシグナリングされないことを提案する:
a. あるいは、第1のシンタックス要素が第1の映像ユニット(例えば、ピクチャヘッダ又はPPS)内でシグナリングされ得るとともに、対応する第2のシンタックス要素が、より低いレベル(例えばスライスヘッダなど)の第2の映像ユニット内でシグナリングされ得る:
i. あるいは、第2のシンタックス要素がその後にシグナリングされるかを通知するインジケータが第2の映像ユニット内でシグナリングされ得る;
ii. 一例において、第2の映像ユニット(例えばスライスヘッダなど)に関連するスライスは、第2のものがシグナリングされる場合に第1のものの代わりに第2のシンタックス要素のインジケーションに続き得る;
iii. 第1の映像ユニットに関連するいずれかのスライス(又は他の映像ユニット)内で第2のシンタックス要素がシグナリングされるかを通知するために、第1のシンタックス要素に関連するインジケータが第1の映像ユニット内でシグナリングされてもよい;
b. あるいは、第1のシンタックス要素が、より高いレベル(例えばVPS/SPS/PPSなど)の第1の映像ユニット内でシグナリングされ得るとともに、対応する第2のシンタックス要素が、第2の映像ユニット(例えばピクチャヘッダなど)内でシグナリングされ得る:
i. あるいは、第2のシンタックス要素がその後にシグナリングされるかを通知するインジケータがシグナリングされ得る;
ii. 一例において、第2の映像ユニットに関連するピクチャ(これは複数のスライスに分割され得る)が、第2のものがシグナリングされる場合に第1のものの代わりに第2のシンタックス要素のインジケーションに続き得る;
c. ピクチャヘッダ内の第1のシンタックス要素は、セクション2.6で規定されるようなスライスヘッダ内の第2のシンタックス要素(しかし、例えばslice_temporal_mvp_enabled_flag、cabac_init_flag、six_minus_max_num_merge_cand、five_minus_max_num_subblock_merge_cand、slice_fpel_mmvd_enabled_flag、slice_disable_bdof_dmvr_flag、max_num_merge_cand_minus_max_num_triangle_cand、slice_fpel_mmvd_enabled_flag、slice_six_minus_max_num_ibc_merge_cand、slice_joint_cbcr_sign_flag、slice_qp_delta、…などに限られる)と等価な機能を持ち得るが、ピクチャの全てのスライスを制御し得る;
d. セクション2.6で規定されるようなSPS内の第1のシンタックス要素は、ピクチャヘッダ内の第2のシンタックス要素(しかし、例えばsps_bdof_dmvr_slice_present_flag、sps_mmvd_enabled_flag、sps_isp_enabled_flag、sps_mrl_enabled_flag、sps_mip_enabled_flag、sps_cclm_enabled_flag、sps_mts_enabled_flag…などに限られる)と等価な機能を持ち得るが、関連するピクチャ(これは複数のスライスに分割され得る)のみを制御し得る;
e. セクション2.7で規定されるようなPPS内の第1のシンタックス要素は、ピクチャヘッダ内の第2のシンタックス要素(しかし、例えばentropy_coding_sync_enabled_flag、entry_point_offsets_present_flag、cabac_init_present_flag、rpl1_idx_present_flag…などに限られる)と等価な機能を持ち得るが、関連するピクチャ(これは複数のスライスに分割され得る)のみを制御し得る。
31. ピクチャヘッダでシグナリングされるシンタックス要素が、SPS/VPS/DPSでシグナリングされる又は導出される他のシンタックス要素から切り離される。
32. DMVRとBDOFの有効化/無効化のインジケーションが、同じフラグ(例えば、pic_disable_bdof_dmvr_flag)によって制御されることに代えて、ピクチャヘッダ内で別途シグナリングされ得る。
33. PROF/クロスコンポーネントALF/幾何学的分割(geometric partitioning;GEO)でのインター予測の有効化/無効化のインジケーションが、ピクチャヘッダ内でシグナリングされ得る:
a. あるいは、ピクチャヘッダ内のPROFを有効化/無効化することのインジケーションが、SPS内のPROF有効化フラグに従って条件付きでシグナリングされ得る;
b. あるいは、ピクチャヘッダ内のクロスコンポーネントALF(CCALF)を有効化/無効化することのインジケーションが、SPS内のCCALF有効化フラグに従って条件付きでシグナリングされ得る;
c. あるいは、ピクチャヘッダ内のGEOを有効化/無効化することのインジケーションが、SPS内のGEO有効化フラグに従って条件付きでシグナリングされ得る;
d. あるいは、さらに、スライスヘッダ内のPROF/クロスコンポーネントALF/幾何学的分割(GEO)でのインター予測の有効化/無効化のインジケーションが、SPSの代わりにピクチャヘッダ内でシグナリングされるそれらのシンタックス要素に従って条件付きでシグナリングされ得る。
34. 同一ピクチャ内のスライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)の予測タイプのインジケーションが、ピクチャヘッダ内でシグナリングされ得る:
a. 一例において、全てのスライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)が全てイントラコーディングされる(例えば、全てIスライスである)かのインジケーションが、ピクチャヘッダ内にシグナリングされ得る:
i. あるいは、さらに、ピクチャ内の全てのスライスがIスライスであることをインジケーションが語る場合に、スライスヘッダ内でスライスタイプがシグナリングされないとし得る;
b. あるいは、スライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)のうちの少なくとも1つがイントラコーディングされない(例えば、少なくとも1つが非Iスライスである)かのインジケーションが、ピクチャヘッダ内にシグナリングされ得る:
c. あるいは、全てのスライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)が全て同じ予測タイプ(例えば、I/P/Bスライス)を持つかのインジケーションが、ピクチャヘッダ内でシグナリングされ得る:
i. あるいは、さらに、スライスヘッダ内でスライスタイプはシグナリングされないとし得る;
ii. あるいは、さらに、特定の予測タイプに対して許されるツール(例えば、DMVR/BDOF/TPM/GEOはBスライスに対してのみ許され、デュアルツリーはIスライスに対してのみ許される)のインジケーションが、予測タイプのインジケーションに従って条件付きでシグナリングされ得る;
d. あるいは、さらに、ツールを有効化/無効化することのインジケーションのシグナリングは、上の小箇条書きで言及した予測タイプのインジケーションに依存してもよい:
i. あるいは、さらに、ツールを有効化/無効化することのインジケーションは、上の小箇条書きで言及した予測タイプのインジケーションに従って導出されてもよい。
35. この開示(箇条書き1-箇条書き29)において、用語“適合ウィンドウ”は、例えば“スケーリングウィンドウ”などの他の用語で置き換えられてもよい。スケーリングウィンドウは、適合ウィンドウとは異なるようにシグナリングされてもよく、RPRのための参照サンプル位置を導出するのに使用されるスケーリング比及び/又は左上オフセットを導出するために使用される:
a. 一例において、スケーリングウィンドウは、適合ウィンドウによって制約され得る。例えば、適合ビットストリームでは、スケーリングウィンドウは適合ウィンドウに含まれなければならない。
36. 変換スキップコーディングされるブロックの許容最大ブロックサイズをシグナリングすべきか、及び/又はどのようにシグナリングするかは、変換コーディングされるブロックの最大ブロックサイズに依存し得る:
a. あるいは、変換スキップコーディングされるブロックの最大ブロックサイズは、適合ビットストリームにおいて変換コーディングされるブロックの最大ブロックサイズよりも大きくすることはできない。
37. ジョイントCb-Cr残差(Joint Cb-Cr Residue;JCCR)コーディングを有効にすることのインジケーション(例えばsps_joint_cbcr_enabled_flagなど)をシグナリングすべきか、及び/又はどのようにシグナリングするかは、カラーフォーマット(例えば4:0:0、4:2:0など)に依存し得る:
a. 例えば、カラーフォーマットが4:0:0である場合、ジョイントCb-Cr残差(JCCR)を有効にすることのインジケーションはシグナリングされないとし得る。例示的なシンタックス設計は以下の通りである:
(外8)
TPM/GEOにおけるクロマ混合マスク生成のためのダウンサンプリングフィルタタイプ
38. クロマサンプルについての混合重み導出に使用されるダウンサンプリングフィルタのタイプが、映像ユニットレベル(例えばSPS/VPS/PPS/ピクチャヘッダ/サブピクチャ/スライス/スライスヘッダ/タイル/ブリック/CTU/VPDUレベルなど)でシグナリングされ得る:
a. 一例において、コンテンツの異なるクロマフォーマットタイプを切り換えるために、ハイレベルフラグがシグナリングされ得る:
i. 一例において、クロマフォーマットタイプ0とクロマフォーマットタイプ2との間で切り換えるために、ハイレベルフラグがシグナリングされ得る;
ii. 一例において、TPM/GEO予測モードにおける左上のダウンサンプリングルマ重みが左上ルマ重みとコロケートである(例えば、クロマサンプル位置タイプ0)かを規定するために、フラグがシグナリングされ得る;
iii. 一例において、TPM/GEO予測モードにおける左上ダウンサンプリングルマサンプルが左上ルマサンプルと水平方向にはコロケートであるが、左上ルマサンプルに対して0.5単位のルマサンプルだけ垂直方向にシフトされている(例えば、クロマサンプル位置タイプ2)かを規定するために、フラグがシグナリングされ得る;
b. 一例において、ダウンサンプリングフィルタのタイプは、4:2:0クロマフォーマット及び/又は4:2:2クロマフォーマットに対してシグナリングされ得る;
c. 一例において、TPM/GEO予測に使用されるクロマダウンサンプリングフィルタのタイプを規定するために、フラグがシグナリングされ得る:
i. 一例において、このフラグは、TPM/GEO予測モードにおけるクロマ重み導出のためにダウンサンプリングフィルタAを使用するのかダウンサンプリングフィルタBを使用するのかについてシグナリングされ得る。
39. クロマサンプルについての混合重み導出に使用されるダウンサンプリングフィルタのタイプが、映像ユニットレベル(例えばSPS/VPS/PPS/ピクチャヘッダ/サブピクチャ/スライス/スライスヘッダ/タイル/ブリック/CTU/VPDUレベルなど)で導出され得る:
a. 一例において、クロマサブサンプリングフィルタタイプとコンテンツのクロマフォーマットタイプとの間の対応関係を規定するために、ルックアップテーブルが規定され得る。
40. 異なるクロマサンプル位置タイプの場合に、特定のダウンサンプリングフィルタがTPM/GEO予測モードに使用され得る:
a. 一例において、特定のクロマサンプル位置タイプ(例えば、クロマサンプル位置タイプ0)の場合に、TPM/GEOのクロマ重みは、コロケート左上ルマ重みからサブサンプリングされ得る;
b. 一例において、特定のクロマサンプル位置タイプ(例えば、クロマサンプル位置タイプ0又は2)の場合に、特定のXタップフィルタ(Xは、例えばX=6又は5などの定数)が、TPM/GEO予測モードにおけるクロマ重みサブサンプリングに使用され得る。
41. 映像ユニット(例えば、SPS、PPS、ピクチャヘッダ、スライスヘッダなど)内で、全てのブロック(スライス/ピクチャ)に対して複数変換選択(Multiple Transform Selection;MTS)が無効にされるかを指し示す第1のシンタックス要素(例えばフラグなど)がシグナリングされ得る:
a. イントラコーディングされるブロック(スライス/ピクチャ)にMTSをどのように適用するか(例えば、MTSを有効にする/MTSを無効にする/黙示的MTS/明示的MTSなど)を指し示す第2のシンタックス要素が、第1のシンタックス要素に基づいて条件付きでシグナリングされる。例えば、第2のシンタックス要素は、全てのブロック(スライス/ピクチャ)に対してMTSが無効にされることを第1のシンタックス要素が指し示す場合にのみシグナリングされる;
b. インターコーディングされるブロック(スライス/ピクチャ)にMTSをどのように適用するか(例えば、MTSを有効にする/MTSを無効にする/黙示的MTS/明示的MTSなど)を指し示す第3のシンタックス要素が、第1のシンタックス要素に基づいて条件付きでシグナリングされる。例えば、第3のシンタックス要素は、全てのブロック(スライス/ピクチャ)に対してMTSが無効にされるのではないことを第1のシンタックス要素が指し示す場合にのみシグナリングされる;
c. 例示的なシンタックス設計は以下の通りである:
(外9)
d. 第3のシンタックス要素は、サブブロック変換(Sub-Block Transform;SBT)が適用されるか否かに基づいて条件付きでシグナリングされ得る。
例示的なシンタックス設計は以下の通りである:
(外10)
e. 例示的なシンタックス設計は以下の通りである:
(外11)
コーディングツールXの使用の決定
42. コーディングツールXを有効にすべきか及び/又はどのように有効化するかの決定が、1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さに依存し得る:
a. 1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さは、決定を行うために変更され得る;
b. 検討中のピクチャは、JVET-P0590に定義されるような適合ウィンドウ又はスケーリングウィンドウによって画成され得る:
i. 検討中のピクチャはピクチャ全体であってもよい;
c. 一例において、コーディングツールXを有効にすべきか及び/又はどのように有効化するかは、ピクチャの幅から水平方向の1つ若しくは複数のオフセットを引いたもの、及び/又はピクチャの高さから垂直方向の1つ若しくは複数のオフセットを引いたものに依存し得る:
i. 一例において、水平オフセットは、scaling_win_top_offsetとして定義されることができ、scaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
ii. 一例において、垂直オフセットは、scaling_win_top_offsetとして定義されることができ、scaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
iii. 一例において、水平オフセットは(scaling_win_right_offset+scaling_win_left_offset)として定義されることができ、scaling_win_right_offset及びscaling_win_left_offsetは、JVET-P0590においてのように定義され得る;
iv. 一例において、垂直オフセットは(scaling_win_bottom_offset+scaling_win_top_offset)として定義されることができ、scaling_win_bottom_offset及びscaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
v. 一例において、水平オフセットは、SubWidthC*(scaling_win_right_offset+scaling_win_left_offset)として定義されることができ、SubWidthC、scaling_win_right_offset、及びscaling_win_left_offsetは、JVET-P0590においてのように定義され得る;
vi. 一例において、垂直オフセットは、SubHeightC*(scaling_win_bottom_offset+scaling_win_top_offset)として定義されることができ、SubHeightC、scaling_win_bottom_offset、及びscaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
d. 一例において、2つの検討中の参照ピクチャのうちの少なくとも一方が現在ピクチャと異なる解像度(幅又は高さのいずれか)を持つ場合、コーディングツールXは無効にされる:
i. あるいは、2つの出力参照ピクチャのうちの少なくとも一方が現在ピクチャの寸法よりも大きい寸法(幅又は高さのいずれか)を持つ場合、コーディングツールXは無効にされる;
e. 一例において、参照ピクチャリストLに関する1つの検討中の参照ピクチャが現在ピクチャと異なる解像度を持つ場合、その参照ピクチャリストLに対してコーディングツールXが無効にされる:
i. あるいは、参照ピクチャリストLに関する1つの検討中の参照ピクチャが現在ピクチャの寸法よりも大きい寸法(幅又は高さ)を持つ場合、その参照ピクチャリストLに対してコーディングツールXが無効にされる;
f. 一例において、2つの参照ピクチャリストの2つの検討中の参照ピクチャが相異なる解像度を持つものである場合、コーディングツールは無効にされ得る:
i. あるいは、コーディングツールのインジケーションが、解像度に従って条件付きでシグナリングされ得る;
ii. あるいは、コーディングツールのインジケーションのシグナリングがスキップされてもよい;
g. 一例において、少なくとも1つの参照ピクチャリストに関する第1のペアワイズマージ候補を導出するために利用される2つのマージ候補の2つの検討中の参照ピクチャが場合、コーディングツールは無効にされることができ、例えば、第1のペアワイズマージ候補は使用不可としてマークされる:
i. あるいは、両方の参照ピクチャリストに関する第1のペアワイズマージ候補を導出するために利用される2つのマージ候補の2つの検討中の参照ピクチャが場合、コーディングツールは無効にされることができ、例えば、第1のペアワイズマージ候補は使用不可としてマークされる;
h. 一例において、コーディングツールの復号プロセスは、ピクチャ寸法を考慮して変更され得る:
i. 一例において、SMVDにおける別の参照ピクチャリスト(例えば、リスト1)に関するMVDの導出は、2つのターゲットSMVD参照ピクチャのうちの少なくとも一方の解像度差(例えば、スケーリング係数)に基づき得る;
ii. 一例において、ペアワイズマージ候補の導出は、2つの参照ピクチャに関連する2つの参照ピクチャのうちの少なくとも一方の解像度差(例えば、スケーリング係数)に基づいてもよく、例えば、等しい重みの代わりに線形加重平均が適用されてもよい;
i. 一例において、Xは以下とし得る:
i. デコーダ側で動き/予測を精緻化するDMVR/BDOF/PROF/SMVD/MMVD/他のコーディングツール
ii. 時間的な動き情報を当てにするTMVP/他のコーディングツール
iii. MTS又は他の変換コーディングツール
iv. CC-ALF
v. TPM
vi. GEO
vii. 切換可能補間フィルタ(例えば、ハーフペル動き補償用の代替補間フィルタ)
viii. 1つのブロックを複数のパーティションにスプリットするTPM/GEO/他のコーディングツールにおける混合プロセス
ix. 現在ピクチャとは異なるピクチャ内の格納情報に答えるコーディングツール
x. ペアワイズマージ候補(解像度に関係する特定の条件が満たされないとき、ペアワイズマージ候補は生成されない)
xi. CUレベル重み(BCW)での双予測
xii. 重み付け予測
xiii. アフィン予測
xiv. 適応動きベクトル解像度(AMVR)
43. コーディングツールの使用をシグナリングすべきか及び/又はどのようにシグナリングするかは、1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さに依存し得る:
j. 1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さは、決定を行うために変更され得る;
k. 検討中のピクチャは、JVET-P0590に定義されるようなスケーリングウィンドウ及び/又は適合ウィンドウによって画成され得る:
i. 検討中のピクチャはピクチャ全体であってもよい;
l. 一例において、Xは適応動きベクトル解像度とし得る;
m. 一例において、Xは、マージ・ウィズ・MV差(MMVD)法とし得る:
i. 一例において、対称動きベクトル差参照インデックスの構築は、異なる参照ピクチャに対するRPRケースのピクチャ解像度/インジケーションに依存し得る;
n. 一例において、Xは対称MVD(SMVD)法とし得る;
o. 一例において、XはQT/BT/TT又は他のパーティションタイプとし得る;
p. 一例において、XはCUレベル重み(BCW)での双予測とし得る;
q. 一例において、Xは重み付け予測とし得る;
r. 一例において、Xはアフィン予測とし得る;
s. 一例において、ハーフペル動きベクトル精度/切換可能補間フィルタの使用のインジケーションをシグナリングするかは、解像度情報/RPRが現在ブロックに対して有効にされるかに依存し得る;
t. 一例において、amvr_precision_idxのシグナリングは、解像度情報/RPRが現在ブロックに対して有効にされるかに依存し得る;
u. 一例において、sym_mvd_flag/mmvd_merge_flagのシグナリングは、解像度情報/RPRが現在ブロックに対して有効にされるかに依存し得る;
v. 適合ビットストリームは、1つ又は複数の参照ピクチャのうちの検討中のピクチャの幅及び/高さが現在出力ピクチャのそれとは異なるときに1/2ペルMV及び/又はMVD精度(例えば、代替補間フィルタ/切換可能補間フィルタ)が無効にされることを満足する。
44. 1/2ペルMV及び/又はMVD精度(又は代替補間フィルタ/切換可能補間フィルタ)でのAMVRがRPR内のブロックに対して依然として有効にされ得ることを提案する:
w. あるいは、さらに、1/2ペル又は他の精度で異なる補間フィルタがブロックに適用されてもよい。
45. 上の箇条書きにおける同じ/異なる解像度の条件チェックは、参照ピクチャに関するフラグを追加し、参照ピクチャに関連付けられたフラグをチェックすることによって置き換えられてもよい:
x. 一例において、真又は偽であるように(すなわち、参照ピクチャがRPRケースであるか非RPRケースであるかを指し示すように)フラグを設定するプロセスは、参照ピクチャリスト構築プロセスの間に呼び出され得る:
i. 例えば、以下が適用され得る:
fRefWidthが、ルマサンプル単位の参照ピクチャRefPicList[i][j]のPicOutputWidthLに等しく設定され、ここで、PicOutputWidthLは参照ピクチャの検討中のピクチャの幅を表す;
fRefHeightが、ルマサンプル単位の参照ピクチャRefPicList[i][j]のPicOutputHeightLに等しく設定され、ここで、PicOutputHeightLは参照ピクチャの検討中のピクチャの高さを表す;
RefPicScale[i][j][0]=
((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL
ここで、PicOutputWidthLは現在ピクチャの検討中のピクチャの幅を表す;
RefPicScale[i][j][1]=
((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL
ここで、PicOutputHeightLは現在ピクチャの検討中のピクチャの高さ表す;
RefPicIsScaled[i][j]=(RefPicScale[i][j][0]!=(1<<14))||(RefPicScale[i][j][1]!=(1<<14))
ここで、RefPicList[i][j]は、参照ピクチャリストi内のj番目の参照ピクチャを表す;
y. 一例において、RefPicIsScaled[0][refIdxL0]が0に等しくない、又はRefPicIsScaled[1][refIdxL1]が0に等しくないとき、コーディングツールX(例えば、DMVR/BDOF/SMVD/MMVD/SMVD/PROF/上の箇条書きで述べたもの)が無効にされ得る;
z. 一例において、RefPicIsScaled[0][refIdxL0]及びRefPicIsScaled[1][refIdxL1]の両方が0に等しくないとき、コーディングツールX(例えば、DMVR/BDOF/SMVD/MMVD/SMVD/PROF/上の箇条書きで述べたもの)が無効にされ得る;
aa. 一例において、RefPicIsScaled[0][refIdxL0]が0に等しくないとき、参照ピクチャリスト0に対してコーディングツールX(例えば、PROF又は上の箇条書きで述べたもの)が無効にされ得る;
bb. 一例において、RefPicIsScaled[1][refIdxL1]が0に等しくないとき、参照ピクチャリスト1に対してコーディングツールX(例えば、PROF又は上の箇条書きで述べたもの)が無効にされ得る;
46. BDOF/DMVRによって使用されるSAD及び/又は閾値は、ビット深度に依存し得る:
a. 一例において、計算されたSAD値は、閾値と比較されるのに利用される前に、先ず、ビット深度の関数によってシフトされ得る;
b. 一例において、計算されたSAD値は、ビット深度の関数に依存し得る変更された閾値と直接比較され得る。
42. ピクチャの全てのスライスに関するslice_type値がI(Iスライス)に等しい場合、P/Bスライス関連シンタックス要素は、ピクチャヘッダ内でシグナリングされる必要がないとし得る:
a. 一例において、指定されたピクチャに含まれる全てのスライスのslice_typeがI(Iスライス)に等しいかを指し示すために(1つ以上の)シンタックス要素がピクチャヘッダに追加され得る:
i. 一例において、第1のシンタックス要素がピクチャヘッダ内でシグナリングされる。ピクチャヘッダに関連付けられたスライスのスライスヘッダ内のスライスタイプ情報を通知する第2のシンタックス要素をシグナリング/解釈することを行うべきか及び/又はどのように行うかは、第1のシンタックス要素に依存し得る:
1) 一例において、第1のシンタックス要素に依存して、第2のシンタックス要素は、シグナリングされずに、あるスライスタイプであると推定され得る;
2) 一例において、第1のシンタックス要素に依存して、第2のシンタックス要素はシグナリングされ得るが、第2のシンタックス要素が幾つかの所与の値のうちの1つでなければならないことが適合要件である;
3) あるいは、第1のシンタックス要素は、スライスに関連付けれたAUデリミタRBSP内でシグナリングされ得る;
ii. 一例において、ピクチャヘッダ内で、新しいシンタックス要素(例えば、pic_all_X_slices_flag)が、このピクチャにはXスライスのみが許されるのかどうか、又はこのピクチャ内の全てのスライスがXスライスであるかどうかを指し示すためにシグナリングされ得る。例えば、Xは、I、又はP若しくはBとし得る:
1) 一例において、関連するピクチャヘッダ内で全てのスライスがIスライスであることが指し示される場合に、スライスタイプ情報は、スライスヘッダ内でシグナリングされずに、Iスライスであると推定される;
iii. 一例において、ピクチャヘッダ内で、新しいシンタックス要素(例えば、ph_pic_type)が、このピクチャのピクチャタイプを指し示すためにシグナリングされ得る:
1) 例えば、ph_pic_typeがI-pictureに等しい(例えば、0に等しい)場合、ピクチャ内のスライスのslice_typeは、Iに等しいことのみが許され得る;
2) 他の一例では、ph_pic_typeが非Iピクチャ(例えば1又は2など)に等しい場合、ピクチャ内のスライスのslice_typeは、I及び/又はP及び/又はBに等しいことが許され得る;
b. 一例において、指定されたピクチャの全てのスライスがIに等しいかを指し示すために、AUデリミタRBSP内のシンタックス要素pic_typeが使用され得る;
c. 一例において、ピクチャ内の全てのスライスがIスライスである場合、このピクチャ内の全てのスライスについて、スライスヘッダ内のシンタックス要素slice_typeは、シグナリングされずにIスライス(例えば2など)であると推定され得る:
i. 一例において、指定されたピクチャに含まれる全てのスライスがIに等しいことをシンタックス要素(以下に限られないが、例えばpic_all_I_slices_flag、ph_pic_type、pic_typeなど)が指し示す場合、指定されたピクチャ内の全スライスのslice_typeがIスライスに等しいことを規定するために、ビットストリーム制約が追加され得る;
ii. あるいは、指定されたピクチャに含まれる全てのスライスがIに等しいことをシンタックス要素(以下に限られないが、例えばpic_all_I_slices_flag、ph_pic_type、pic_typeなど)が指し示す場合、指定されたピクチャ内にP又はBスライスは許されないことを規定するために、ビットストリーム制約が追加され得る;
d. スライス/ピクチャがWスライス/Wピクチャである場合、非Wスライスに許されるスライスヘッダ/ピクチャヘッダ内の1つ又は複数のシンタックス要素(以下に規定するシンタックス要素セットXと表記)はシグナリングされないとし得る。例えば、WはIとすることができ、非WはB又はPとすることができる。他の一例において、WはBとすることができ、非WはI又はPとすることができる:
i. 一例において、ピクチャ内の全てのスライスがWスライスである場合、非Wスライスに許されるピクチャヘッダ内のシンタックス要素セットXはシグナリングされないとし得る;
ii. あるいは、ピクチャヘッダ内の幾つかのシンタックス要素(以下に規定するセットXと表記)が、ピクチャ内の全てのスライスがWスライスであるかに従って条件付きでシグナリングされ得る;
iii. シンタックス要素セットXは、以下のうちの1つ以上とし得る:
1) 一例において、Xは、以下に限られないが例えばpic_rpl_present_flag、pic_rpl_sps_flag、pic_rpl_idx、pic_poc_lsb_lt、pic_delta_poc_msb_present_flag、pic_delta_poc_msb_cycle_ltなどの、ピクチャヘッダ内の参照ピクチャ関連シンタックス要素とし得る。スライス/ピクチャが非インタースライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る;
2) 一例において、Xは、以下に限られないが例えばpic_log2_diff_min_qt_min_cb_inter_slice、pic_max_mtt_hierarchy_depth_inter_slice、pic_log2_diff_max_bt_min_qt_inter_slice、pic_log2_diff_max_tt_min_qt_inter_sliceなどの、ピクチャヘッダ内のインタースライス関連シンタックス要素とし得る。スライス/ピクチャが非インタースライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る;
3) 一例において、Xは、以下に限られないが例えばpic_temporal_mvp_enabled_flag、mvd_l1_zero_flag、pic_six_minus_max_num_merge_cand、pic_five_minus_max_num_subblock_merge_cand、pic_fpel_mmvd_enabled_flag、pic_disable_bdof_flag、pic_disable_dmvr_flag、pic_disable_prof_flag、pic_max_num_merge_cand_minus_max_num_triangle_candなどの、ピクチャヘッダ内のインター予測関連シンタックス要素とし得る。スライス/ピクチャが非インタースライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る;
4) 一例において、Xは、以下に限られないが例えばpic_disable_bdof_flag、pic_disable_dmvr_flag、mvd_l1_zero_flagなどの、ピクチャヘッダ内の双予測関連シンタックス要素とし得る。スライス/ピクチャが非Bスライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る。
関連するタイル/スライスの寸法の制限
43. 最大タイル幅が仕様書で規定され得る:
a. 例えば、最大タイル幅は、CTBにおける最大ルマタイル幅として定義され得る;
b. 一例において、現在シーケンス/ピクチャ/スライス/サブピクチャにおいて許される最大タイル幅を指し示すために、ビデオユニット(例えば、SPS、PPS、ピクチャヘッダ、スライスヘッダなど)内で、新しい(1つ以上の)シンタックス要素がシグナリングされ得る;
c. 一例において、最大ルマタイル幅、又はCTBにおける最大ルマタイル幅がシグナリングされ得る;
d. 一例において、最大ルマタイル幅は、N(例えばN=1920又は4096など)に固定され得る;
e. 一例において、異なるプロファイル/レベル/層では異なる最大タイル幅が指定され得る。
44. 最大スライス/サブピクチャ/タイル寸法(例えば、幅及び/又はサイズ、及び/又は長さ、及び/又は高さ)が仕様書で規定され得る:
a. 例えば、最大スライス/サブピクチャ/タイル寸法は、CTBにおける最大ルマ寸法として定義され得る;
b. 例えば、スライス/サブピクチャ/タイルのサイズは、スライス内のCTBの数として定義され得る;
c. 一例において、現在シーケンス/ピクチャ/スライス/サブピクチャにおいて許される最大ルマスライス/サブピクチャ/タイル寸法を指し示すために、ビデオユニット(例えば、SPS、PPS、ピクチャヘッダ、スライスヘッダなど)内で、新しい(1つ以上の)シンタックス要素がシグナリングされ得る;
d. 一例において、矩形スライス/サブピクチャについて、最大ルマスライス/サブピクチャ幅/高さ、又はCTBにおける最大ルマスライス/サブピクチャ幅/高さがシグナリングされ得る;
e. 一例において、ラスタースキャンスライスについて、最大ルマスライスサイズ(例えば幅×高さなど)、又はCTBにおける最大ルマスライスサイズがシグナリングされ得る;
f. 一例において、矩形スライス/サブピクチャ及びラスタースキャンスライスの両方について、最大ルマスライス/サブピクチャサイズ(例えば幅×高さなど)、又はCTBにおける最大ルマスライス/サブピクチャサイズがシグナリングされ得る;
g. 一例において、ラスタースキャンスライスについて、最大ルマスライス長又はCTBにおける最大ルマスライス長がシグナリングされ得る;
h. 一例において、最大ルマスライス/サブピクチャ幅/高さは、N(例えばN=1920又は4096など)に固定され得る;
i. 一例において、最大ルマスライス/サブピクチャサイズ(例えば幅×高さなど)は、N(例えばN=2073600又は83388608など)に固定され得る;
j. 一例において、異なるプロファイル/レベル/層では異なる最大スライス/サブピクチャ寸法が指定され得る;
k. 一例において、ピクチャ/サブピクチャ内の分割されるスライス/サブピクチャ/タイルの最大数が、仕様書で規定され得る:
i. 最大数はシグナリングされないとし得る;
ii. 最大数は、異なるプロファイル/レベル/層で異なり得る。
45. 現在ピクチャの幅及び高さを、それぞれ、PW及びPHと表記し、現在ピクチャのスケーリングウィンドウの幅及び高さを、それぞれ、SW及びSHと表記し、参照ピクチャのスケーリングウィンドウの幅及び高さを、それぞれ、SW及びSHと表記し’、許容最大ピクチャの幅及び高さを、それぞれ、Wmax及びHmaxと表記する。便宜上、rw=SW’/SW、Rw=Wmax/PW、Qw=PW’/PW、rh=SH’/SH、そして、Rh=Hmax/PH、Qh=PH’/PHとする。以下の制約のうちの少なくとも1つが、適合ビットストリームによって従われる。以下の制約は狭義に理解されるべきでない。例えば、制約(a/b)>=(c/d)、ただし、a、b、c、dは、0より大きい整数は、(a/b)-(c/d)>=0、又はa*d>=c*b、又はa*d-c*d>=0としても理解されることができる:
a. a×Wmax×SW-(b×SW’+c×SW)×PW+offw≧0、ただし、a、b、c、及びoffwは整数。例えば、a=135、b=128、c=7、且つoffw=0;
b. d×Hmax×SH-(e×SH’+f×SH)×PH+offh≧0、ただし、d、e、fは整数。例えば、d=135、e=128、f=7、且つoffh=0;
c. a×Wmax×SW-b×SW’×PW+offw≧0、ただし、a、bは整数。例えば、a=1、b=1、offw=0;
d. d×Hmax×SH-e×SH’×PH+offh≧0、ただし、d、eは整数。例えば、d=1、e=1、offh=0;
e. rw≦Rw+(Lw×(Rw-1))/Bw+offw、ただし、Lw、Bw、及びoffwは整数。例えば、Lw=7、Bw=128、且つoffw=0;
f. rh≦Rh+(Lh×(Rh-1))/Bh+offh、ただし、Lh、Bh、及びoffhは整数。例えば、Lh=7、Bh=128、且つoffh=0;
g. rw≦a*Rw+offw、ただし、a及びoffwは整数。例えば、a=1、且つoffw=0;
h. rh≦b*Rh+offh、ただし、b及びoffhは整数。例えば、b=1、且つoffh=0;
i. rw≦a*Qw+offw、ただし、a及びoffwは整数。例えば、a=1、且つoffw=0;
j. rh≦b*Qh+offh、ただし、b及びoffhは整数。例えば、b=1、且つoffh=0。
46. QP関連情報(例えばデルタQPなど)が、PPS内ではなくピクチャヘッダ内でシグナリングされ得る:
a. 一例において、QP関連情報(例えばデルタQPなど)は、例えば適応色変換(ACT)などの特定のコーディングツールに対して指定される。
RPRにおける動き補償
1. 参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、現在ブロックの一群のサンプル(サンプルのグループ)(少なくとも2つのサンプル)についての予測値は、同じ水平及び/又は垂直補間フィルタを用いて生成され得る:
a. 一例において、該グループは、ブロックの領域内の全てのサンプルを有し得る:
i. 例えば、ブロックは、互いに重なり合わないS個のM×N矩形に分割され得る。各M×N矩形がグループである。図2に示す例において、16×16ブロックを、各々がグループである16個の4×4矩形に分割することができる;
ii. 例えば、N個のサンプルを有する行がグループである。Nは、ブロック幅以下の整数である。一例において、Nは、4又は8又はブロック幅である;
iii. 例えば、N個のサンプルを有する列がグループである。Nは、ブロック高さ以下の整数である。一例において、Nは、4又は8又はブロック高さである;
iv. M及び/又はNは、予め定められてもよいし、あるいは例えばブロック寸法/符号化情報などに基づいてオンザフライで導出されてもよいし、あるいはシグナリングされてもよい;
b. 一例において、グループ内のサンプルは、同じMV(共有MVと表記する)を持ち得る;
c. 一例において、グループ内のサンプルは、同じ水平成分(共有水平成分と表記する)を有するMVを持ち得る;
d. 一例において、グループ内のサンプルは、同じ垂直成分(共有垂直成分と表記する)を有するMVを持ち得る;
e. 一例において、グループ内のサンプルは、水平成分の同じ分数部分(共有分数水平成分と表記する)を有するMVを持ち得る:
i. 例えば、第1のサンプルに対するMVが(MV1x,MV1y)であり、第2のサンプルに対するMVが(MV2x,MV2y)であるとすると、MV1x&(2M-1)がMV2x&(2M-1)に等しいことを満足すべきであり、ここで、MはMV精度を表す。例えば、M=4である;
f. 一例において、グループ内のサンプルは、垂直成分の同じ分数部分(共有分数垂直成分と表記する)を有するMVを持ち得る:
i. 例えば、第1のサンプルに対するMVが(MV1x,MV1y)であり、第2のサンプルに対するMVが(MV2x,MV2y)であるとすると、MV1y&(2M-1)がMV2y&(2M-1)に等しいことを満足すべきであり、ここで、MはMV精度を表す。例えば、M=4である;
g. 一例において、予測されるグループ内のサンプルについて、先ず、現在ピクチャ及び参照ピクチャ(例えば、JVET-O2001-v14の8.5.6.3.1で導出される参照ピクチャ(例えば、(refxL,refyL))に従って、MVbと表記する動きベクトルが導出される。次いで、MVbを更に、例えば上の箇条書きなどの要件を満たすようにMV’に変更する(例えば、丸める/切り捨てる/クリッピングする)ことができ、MV’が、サンプルの予測サンプルを導出するのに使用されることになる:
i. 一例において、MV’は、MVbと同じ整数部分を持ち、MV’の小数部分は、共有分数水平成分及び/又は共有分数垂直成分であるように設定される;
ii. 一例において、MV’は、共有分数水平成分及び/又は共有分数垂直成分のうちMVbに近い方に設定される;
h. 共有動きベクトル(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、グループ内の特定のサンプルの共有動きベクトル(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)に設定され得る:
i. 例えば、特定のサンプルは、例えば図3Aに示す“A”、“B”、“C”及び“D”など、矩形のグループのコーナーにあるとし得る;
ii. 例えば、特定のサンプルは、例えば図3Aに示す“E”、“F”、“G”及び“H”など、矩形のグループの中心にあるとし得る;
iii. 例えば、特定のサンプルは、例えば図3B及び3Cに示す“A”及び“D”など、行形状又は列形状のグループの一端にあるとし得る;
iv. 例えば、特定のサンプルは、例えば図3B及び3Cに示す“B”及び“C”など、行形状又は列形状のグループの中央にあるとし得る;
v. 一例において、特定のサンプルの動きベクトルは、箇条書きgで述べたMVbとし得る;
i. 共有動きベクトル(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、そのグループ内の全てのサンプルと異なる位置にある仮想サンプルの動きベクトル(及び/又は水平成分及び/又は垂直成分、及び/又は分数水平成分及び/又は分数垂直成分)であるように設定され得る:
i. 一例において、仮想サンプルはグループ内にはないが、グループ内の全てのサンプルをカバーする領域内に位置する:
1) あるいは、仮想サンプルは、グループ内の全てのサンプルをカバーする領域の外側、例えば、該領域の右下の位置の隣、に位置する;
ii. 一例において、仮想サンプルのMVは、実際のサンプルと同じようにして導出されるが、複数の異なる位置で導出される;
iii. 図3A-3C内の“V”は、仮想サンプルの3つの例を示している;
j. 共有MV(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、複数のサンプル及び/又は仮想サンプルのMV(及び/又は水平成分及び/又は垂直成分、及び/又は分数水平成分及び/又は分数垂直成分)の関数であるように設定され得る:
i. 例えば、共有MV(及び/又は共有水平成分及び/又は共有垂直成分、及び/又は共有分数水平成分及び/又は共有分数垂直成分)は、グループ内のサンプルの全て若しくは一部の、又は図3Aのサンプル“E”、“F”、“G”、“H”の、又は図3Aのサンプル“E”、“H”の、又は図3Aのサンプル“A”、“B”、“C”、“D”の、又は図3Aのサンプル“A”、“D”の、又は図3Bのサンプル“B”、“C”の、又は図3Bのサンプル“A”、“D”の、又は図3Cのサンプル“B”、“C”の、又は図3Cのサンプル“A”、“D”のMV(及び/又は水平成分及び/又は垂直成分、及び/又は分数水平成分及び/又は分数垂直成分)の平均であるように設定され得る。
2. 参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、整数MVのみが、現在ブロックの予測ブロックを導出する動き補償プロセスを実行するのを許されることを提案する:
a. 一例において、予測されるサンプルに対する複合動きベクトルは、使用される前に整数MVに丸められる;
b. 一例において、予測されるサンプルに対する複合動きベクトルは、復号動きベクトルに最も近い整数MVに丸められる;
c. 一例において、予測されるサンプルに対する複合動きベクトルは、水平方向に復号動きベクトルに最も近い整数MVに丸められる;
d. 一例において、予測されるサンプルに対する複合動きベクトルは、垂直方向に復号動きベクトルに最も近い整数MVに丸められる。
3. 現在ブロック内のサンプルに対する動き補償プロセスで使用される動きベクトル(例えば、上の箇条書きで述べた共有MV/共有水平又は垂直又は分数成分/MV’)は、復号ピクチャバッファに格納されて、現在ピクチャ/異なるピクチャ内の後続ブロックの動きベクトル予測に利用され得る:
a. あるいは、現在ブロック内のサンプルに対する動き補償プロセスで使用される動きベクトル(例えば、上の箇条書きで述べた共有MV/共有水平又は垂直又は分数成分/MV’)は、現在ピクチャ/異なるピクチャ内の後続ブロックの動きベクトル予測に利用されることを禁止されてもよい:
i. 一例において、復号動きベクトル(例えば、上の箇条書きにおけるMVb)が、現在ピクチャ/異なるピクチャ内の後続ブロックの動きベクトル予測に利用され得る;
b. 一例において、現在ブロック内のサンプルに対する動き補償プロセスで使用される動きベクトルは、フィルタリングプロセス(例えば、デブロッキングフィルタ/SAO/ALF)で利用され得る:
i. あるいは、復号動きベクトル(例えば、上の箇条書きにおけるMVb)が、フィルタリングプロセスに利用されてもよい;
c. 一例において、このようなMVは、サブブロックレベルで導出されて、各サブブロックに対して記憶され得る。
4. 現在ブロックの予測ブロックを導出する動き補償プロセスで使用される補間フィルタが、参照ピクチャの解像度が現在ピクチャとは異なるか、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいかに応じて選択され得ることを提案する:
a. 一例において、条件Aが満たされるときに、より少ないタップを有する補間フィルタを適用することができ、条件Aは、現在ピクチャ及び/又は参照ピクチャの寸法に依存する:
i. 一例において、条件Aは、参照ピクチャの解像度が現在ピクチャとは異なることである;
ii. 一例において、条件Aは、参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいことである;
iii. 一例において、条件Aは、W1>a*W2及び/又はH1>b*H2であり、ここで、(W1,H1)は参照ピクチャの幅及び高さを表し、(W2,H2)は現在ピクチャの幅及び高さを表し、a及びbは2つの係数であり、例えば、a=b=1.5である;
iv. 一例において、条件Aは、双予測が使用されるかにも依存し得る;
v. 一例において、1タップフィルタが適用される。換言すれば、フィルタリングなしの整数ピクセルが補間結果として出力される;
vi. 一例において、参照ピクチャの解像度が現在ピクチャとは異なるとき、双線形フィルタが適用される;
vii. 一例において、参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、4タップフィルタ又は6タップフィルタが適用される:
1) 6タップフィルタは、アフィン動き補償にも使用され得る;
2) 4タップフィルタは、クロマサンプルに対する補間にも使用され得る;
b. 一例において、参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、補間を実行するためにパディングサンプルが使用される;
c. 箇条書き4に開示される方法を適用するかどうか、及び/又はどのように適用するかは、カラー成分に依存し得る:
i. 例えば、当該方法はルマコンポーネントのみに適用される;
d. 箇条書き4に開示される方法を適用するかどうか、及び/又はどのように適用するかは、補間フィルタリング方向に依存し得る:
i. 例えば、当該方法は水平フィルタリングのみに適用される;
ii. 例えば、当該方法は垂直フィルタリングのみに適用される。
5. 参照ピクチャの解像度が現在ピクチャとは異なるとき、又は参照ピクチャの幅及び/又は高さが現在ピクチャのそれよりも大きいとき、予測ブロック生成のための二段階プロセスが適用されることを提案する:
a. 第1段階にて、現在ピクチャ及び参照ピクチャの幅及び/又は高さに応じて参照ピクチャ内の領域のアップサンプリング又はダウンサンプリングによって、仮想参照ブロックが生成される;
b. 第2段階にて、現在ピクチャ及び参照ピクチャの幅及び/又は高さとは無関係に補間フィルタリングを適用することによって、仮想参照ブロックから予測サンプルが生成される。
6. JVET-O2001-v14の8.5.6.3.1に定義されるような参照サンプルパディングのための境界ブロックの左上座標(xSbIntL,ySbIntL)の計算が、現在ピクチャ及び参照ピクチャの幅及び/又は高さに応じて導出され得ることを提案する:
a. 一例において、フルサンプル単位のルマ位置が:
xInti=Clip3(xSbIntL-Dx,xSbIntL+sbWidth+Ux,xInti)、
yInti=Clip3(ySbIntL-Dy,ySbIntL+sbHeight+Uy,yInti)
のように変更され、ここで、Dx及び/又はDy、及び/又はUx及び/又はUyは、現在ピクチャ及び参照ピクチャの幅及び/又は高さに依存し得る;
b. 一例において、フルサンプル単位のクロマ位置が:
xInti=Clip3(xSbIntC-Dx,xSbIntC+sbWidth+Ux,xInti)、
yInti=Clip3(ySbIntC-Dy,ySbIntC+sbHeight+Uy,yInti)
のように変更され、ここで、Dx及び/又はDy、及び/又はUx及び/又はUyは、現在ピクチャ及び参照ピクチャの幅及び/又は高さに依存し得る。
7. 現在ピクチャと同じ参照ピクチャ解像度に基づく動きベクトルをブロック用に記憶/使用することに代えて、解像度差を考慮に入れた実際の動きベクトルを使用することを提案する:
a. あるいは、さらに、動きベクトルを用いて予測ブロックを生成するときに、JVET-O2001-v14の8.5.6.3.1で導出される現在ピクチャ及び参照ピクチャ(例えば、(refxL,refyL))の解像度に従って動きベクトルを更に変更する必要はない。
RPRと他のコーディングツールとの間の相互作用
8. フィルタリングプロセス(例えば、デブロッキングフィルタ)を適用すべきか/どのように適用するかは、参照ピクチャの解像度及び/又は現在ピクチャの解像度に依存し得る:
a. 一例において、デブロッキングフィルタにおける境界強度(BS)設定が、動きベクトル差に加えて解像度差を考慮に入れ得る:
i. 一例において、現在ピクチャ及び参照ピクチャの解像度に応じてスケーリングされた動きベクトル差を用いて境界強度を決定し得る;
b. 一例において、ブロックAの少なくとも1つの参照ピクチャの解像度がブロックBの少なくとも1つの参照ピクチャの解像度と異なる(又はそれよりも小さい若しくは大きい)場合に、ブロックAとブロックBとの間の境界に対するデブロッキングフィルタの強さが、それら2つのブロックに対して同じ解像度が使用される場合と比較して異なるように(例えば、増加されて/減少されて)設定され得る;
c. 一例において、ブロックAの少なくとも1つの参照ピクチャの解像度がブロックBの少なくとも1つの参照ピクチャの解像度と異なる(又はそれよりも小さい若しくは大きい)場合に、ブロックAとブロックBの間の境界が、フィルタリングされるべきとしてマークされる(例えば、BSが2に設定される);
d. 一例において、ブロックA及び/又はブロックBの少なくとも1つの参照ピクチャの解像度が現在ピクチャの解像度と異なる(又はそれよりも小さい若しくは大きい)場合に、ブロックAとブロックBとの間の境界に対するデブロッキングフィルタの強さが、参照ピクチャ及び現在ピクチャに同じ解像度が使用される場合と比較して異なるように(例えば、増加されて/減少されて)設定され得る;
e. 一例において、2つのブロックの間の境界が、それら2つのうちの少なくとも一方のブロックの少なくとも1つの参照ピクチャが現在のピクチャの解像度と異なる解像度を持つ場合に、フィルタリングされるべきとしてマークされる(例えば、BSが2に設定される)。
9. サブピクチャが存在するとき、適合ビットストリームは、参照ピクチャが現在ピクチャと同じ解像度を持たなければならないことを満たすべきであるとし得る:
a. あるいは、参照ピクチャが現在ピクチャとは異なる解像度を持つとき、現在ピクチャにサブピクチャは存在しない;
b. あるいは、現在ピクチャ内のサブピクチャに対して、現在ピクチャとは異なる解像度を有する参照ピクチャを使用することが禁止される:
i. あるいは、さらに、異なる解像度を有する参照ピクチャを除外するために参照ピクチャ管理が呼び出され得る。
10. 一例において、異なる解像度を有するピクチャに対して別々にサブピクチャ(例えば、1つのピクチャをどのように複数のサブピクチャにスプリットするか)が定義され得る:
一例において、参照ピクチャが現在ピクチャとは異なる解像度を持つ場合、現在ピクチャのサブピクチャをスケーリング及び/又はオフセットすることによって、参照ピクチャ内の対応するサブピクチャを導出することができる。
11. 参照ピクチャが現在ピクチャの解像度とは異なる解像度を持つとき、PROF(オプティカルフローでの予測精緻化)を有効にすることができる:
a. 一例において、一群のサンプルに対して、一組のMV(MVgと表記する)が生成され、箇条書き1に記載したように動き補償に使用され得る。一方、各サンプルに対してMV(MVpと表記する)を導出することができ、MVpとMVgとの間の差(例えば、PROFで使用されるΔvに対応する)が、勾配(例えば、動き補償ブロックの空間勾配)と共に、予測精緻化を導出するために使用され得る;
b. 一例において、MVpは、MVgとは異なる精度を有し得る。例えば、MVpは、1/Nペル(N>0)精度でのものであることができ、N=32、64などである;
c. 一例において、MVgは、内部MV精度(例えば、1/16ペル)とは異なる精度でのものであることができる;
d. 一例において、予測精緻化が予測ブロックに足し合わされて、精緻化予測ブロックを生成する;
e. 一例において、このような方法は各予測方向で適用され得る;
f. 一例において、このような方法は片予測の場合にのみ適用され得る;
g. 一例において、このような方法は片予測又は/及び双予測で適用され得る;
h. 一例において、このような方法は、参照ピクチャが現在ピクチャとは異なる解像度を持つ場合にのみ適用され得る。
12. 参照ピクチャの解像度が現在ピクチャのそれとは異なるとき、現在ブロックの予測ブロックを導出する動き補償プロセスを実行するのに、ブロック/サブブロックに対して1つのMVのみが利用され得ることを提案する:
a. 一例において、ブロック/サブブロックに対する唯一のMVは、ブロック/サブブロック内の各サンプルに関連する全てのMVの関数(例えば、平均)として定められ得る;
b. 一例において、ブロック/サブブロックに対する唯一のMVは、ブロック/サブブロック内の選択されたサンプル(例えば、中心サンプル)に関連する選択されたMVとして定められ得る;
c. 一例において、4×4ブロック又はサブブロック(例えば、4×1)に対して唯一のMVが使用され得る;
d. 一例において、ブロックベースの動きベクトルに起因する精度損失を補償するために、更にBIOが適用され得る。
13. 参照ピクチャの幅及び/又は高さが現在ピクチャのそれとは異なるとき、ブロックベースの動きベクトルをシグナリングしない怠惰(レイジー)モードが適用され得る:
a. 一例において、動きベクトルもシグナリングされず、動き補償プロセスは静止画像の純粋な解像度変化の場合を近似する;
b. 一例において、解像度が変化するときに、ピクチャ/タイル/ブリック/CTUレベルで動きベクトルのみがシグナリングされ、関係するブロックがその動きベクトルを使用し得る。
14. アフィン予測モード及び/又は非アフィン予測モードでコーディングされるブロックについて、参照ピクチャの幅及び/又は高さが現在ピクチャのそれとは異なるとき、動き補償を近似するためにPROFが適用され得る:
a. 一例において、PROFは、参照ピクチャの幅及び/又は高さと現在ピクチャのそれとが異なるときに有効にされ得る;
b. 一例において、一組のアフィン運動が、指し示された動きと、スケーリングされてPROFによって使用される解像度とを組み合わせることによって生成され得る。
15. 参照ピクチャの幅及び/又は高さが現在ピクチャのそれとは異なるとき、動き補償を近似するために、インターウィーブ予測(例えば、JVET-K0102で提案されているような)が適用され得る:
a. 一例において、解像度変化(ズーミング)がアフィン運動として表現され、インターウィーブ動き予測が適用され得る。
16. 現在ピクチャの幅及び/又は高さが、同じIRAP期間内のIRAPピクチャのそれとは異なるとき、LMCS及び/又はクロマ残差スケーリングが無効にされ得る:
a. 一例において、LMCSが無効にされるとき、例えばslice_lmcs_enabled_flag、slice_lmcs_aps_id、及びslice_chroma_residual_scale_flagなどのスライスレベルフラグは、シグナリングされずに0であると推定され得る;
b. 一例において、クロマ残差スケーリングが無効にされるとき、例えばslice_chroma_residual_scale_flagなどのスライスレベルフラグは、シグナリングされずに0であると推定され得る。
RPRについての制約
17. RPRは、ブロック寸法制約を有するコーディングブロックに適用され得る:
a. 一例において、Mをブロック幅、Nをブロック高さとして、M×Nコーディングブロックについて、M*N<T又はM*N<=Tであるとき(例えばT=256など)、RPRは使用されないとし得る;
b. 一例において、M<K(又はM<=K)(例えばK=16など)及び/又はN<L(又はN<=L)(例えばL=16など)であるとき、RPRは使用されないとし得る。
18. アクティブ参照ピクチャ(又はその適合ウィンドウ)の幅及び/又は高さと現在ピクチャ(又はその適合ウィンドウ)のそれとの間の比を制約するために、ビットストリーム適合が付加され得る。refPicW及びrefPicHが参照ピクチャの幅及び高さを表し、curPicW及びcurPicHが現在ピクチャの幅及び高さを表すとする:
a. 一例において、(refPicW÷curPicW)が整数に等しいとき、その参照ピクチャはアクティブ参照ピクチャとしてマークされ得る:
i. あるいは、(refPicW÷curPicW)が分数に等しいとき、その参照ピクチャは利用可能でないとしてマークされ得る;
b. 一例において、例えばX=1/2など、Xは分数を表し、例えばn=1,2,3,4,…など、nは整数を表すとして、(refPicW÷curPicW)が(X*n)に等しいとき、その参照ピクチャはアクティブ参照ピクチャとしてマークされ得る:
i. 一例において、(refPicW÷curPicW)が(X*n)に等しくないとき、その参照ピクチャは利用可能でないとしてマークされ得る。
19. M×Nブロックに対してコーディングツール(例えば、双予測/全体的な三角予測モード(TPM)/TPMにおける混合プロセス)を有効にすべきか及び/又はどのように有効にするかが、参照ピクチャ(又はそれらの適合ウィンドウ)の解像度及び/又は現在ピクチャ(又はその適合ウィンドウ)の解像度に依存し得る:
a. 一例において、M*N<T又はM*N<=T(例えばT=64など)である;
b. 一例において、M<K(又はM<=K)(例えばK=16など)及び/又はN<L(又はN<=L)(例えばL=16など)である;
c. 一例において、少なくとも1つの参照ピクチャの幅/高さが現在ピクチャとは異なるとき、コーディングツールは許可されない:
i. 一例において、ブロックの少なくとも1つの参照ピクチャの幅/高さが現在ピクチャのそれよりも大きいとき、コーディングツールは許可されない;
d. 一例において、ブロックの各参照ピクチャの幅/高さが現在ピクチャのそれとは異なるとき、コーディングツールは許可されない:
i. 一例において、各参照ピクチャの幅/高さが現在ピクチャのそれよりも大きいとき、コーディングツールは許可されない;
e. あるいは、さらに、コーディングツールが許可されないとき、動き補償は、片予測として1つのMVで行われ得る。
適合ウィンドウ関連
20. Nは1より大きい正の整数であるとして、適合クロッピングウィンドウオフセットパラメータ(例えば、conf_win_left_offset)が、1ペルに代えてNペル精度でシグナリングされる:
a. 一例において、実際のオフセットは、シグナリングされたオフセットにNを乗じたものとして導出され得る;
b. 一例において、Nは4又は8に設定される。
21. 適合クロッピングウィンドウオフセットパラメータが出力で適用されるのみではないことを提案する。特定の内部復号プロセスが、クロッピングされたピクチャサイズ(すなわち、ピクチャ内の適合ウィンドウの解像度)に依存し得る。
22. 第1の映像ユニットにおいてと、第2の映像ユニットにおいてとで、(pic_width_in_luma_samples,pic_height_in_luma_samples)と表記されるピクチャの幅及び/又は高さが同じであるとき、第1の映像ユニット(例えば、PPS)においてと、第2の映像ユニットにおいてとで、適合クロッピングウィンドウオフセットパラメータが異なり得ることを提案する。
23. 第1の映像ユニットにおいてと、第2の映像ユニットにおいてとで、(pic_width_in_luma_samples,pic_height_in_luma_samples)と表記されるピクチャの幅及び/又は高さが異なるとき、適合ビットストリームでは、第1の映像ユニット(例えば、PPS)においてと、第2の映像ユニットにおいてとで、適合クロッピングウィンドウオフセットパラメータが同じであるべきことを提案する:
a. 第1の映像ユニットにおいてと、第2の映像ユニットにおいてとで、(pic_width_in_luma_samples,pic_height_in_luma_samples)と表記されるピクチャの幅及び/又は高さが同じであろうとなかとろうと、適合ビットストリームでは、第1の映像ユニット(例えば、PPS)においてと、第2の映像ユニットにおいてとで、適合クロッピングウィンドウオフセットパラメータが同じであるべきことを提案する。
24. 第1の映像ユニット(例えば、PPS)に規定される適合ウィンドウの幅及び高さをそれぞれW1及びH1と表記するとする。第2の映像ユニット(例えば、PPS)に規定される適合ウィンドウの幅及び高さをそれぞれW2及びH2と表記する。第1の映像ユニット(例えば、PPS)に規定される適合ウィンドウの左上の位置をX1及びY1と表記する。第2の映像ユニット(例えば、PPS)に規定される適合ウィンドウの左上の位置をX2及びY2と表記する。第1の映像ユニット(例えば、PPS)に規定される符号化/復号ピクチャの幅及び高さ(例えば、pic_width_in_luma_samples及びpic_height_in_luma_samples)をそれぞれPW1及びPH1と表記する。第2の映像ユニット(例えば、PPS)に規定される符号化/復号ピクチャの幅及び高さをそれぞれPW2及びPH2と表記する:
a. 一例において、適合ビットストリームではW1/W2がX1/X2に等しくあるべきである:
i. あるいは、適合ビットストリームではW1/X1がW2/X2に等しくあるべきである;
ii. あるいは、適合ビットストリームではW1*X2がW2*X1に等しくあるべきである;
b. 一例において、適合ビットストリームではH1/H2がY1/Y2に等しくあるべきである:
i. あるいは、適合ビットストリームではH1/Y1がH2/Y2に等しくあるべきである;
ii. あるいは、適合ビットストリームではH1*Y2がH2*Y1に等しくあるべきである;
c. 一例において、適合ビットストリームではPW1/PW2がX1/X2に等しくあるべきである:
i. あるいは、適合ビットストリームではPW1/X1がPW2/X2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPW1*X2がPW2*X1に等しくあるべきである;
d. 一例において、適合ビットストリームではPH1/PH2がY1/Y2に等しくあるべきである:
i. あるいは、適合ビットストリームではPH1/Y1がPH2/Y2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPH1*Y2がPH2*Y1に等しくあるべきである;
e. 一例において、適合ビットストリームではPW1/PW2がW1/W2に等しくあるべきである:
i. あるいは、適合ビットストリームではPW1/W1がPW2/W2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPW1*W2がPW2*W1に等しくあるべきである;
f. 一例において、適合ビットストリームではPH1/PH2がH1/H2に等しくあるべきである:
i. あるいは、適合ビットストリームではPH1/H1がPH2/H2に等しくあるべきである;
ii. あるいは、適合ビットストリームではPH1*H2がPH2*H1に等しくあるべきである;
g. 適合ビットストリームでは、PW1がPW2よりも大きい場合、W1はW2よりも大きくなければならない;
h. 適合ビットストリームでは、PW1がPW2よりも小さい場合、W1はW2よりも小さくなければならない;
i. 適合ビットストリームでは、(PW1-PW2)*(W1-W2)は0以上でなければならない;
j. 適合ビットストリームでは、PH1がPH2よりも大きい場合、H1はH2よりも大きくなければならない;
k. 適合ビットストリームでは、PH1がPH2よりも小さい場合、H1はH2よりも小さくなければならない;
l. 適合ビットストリームでは、(PH1-PH2)*(H1-H2)は0以上でなければならない;
m. 適合ビットストリームでは、PW1>=PW2である場合、W1/W2はPW1/PW2以下(又は以上)でなければならない;
n. 適合ビットストリームでは、PH1>=PH2である場合、H1/H2はPH1/PHW2以下(又は以上)でなければならない。
25. 現在ピクチャの適合ウィンドウの幅及び高さをそれぞれW及びHと表記するとする。参照ピクチャの適合ウィンドウの幅及び高さをそれぞれW’及びH’と表記する。適合ビットストリームは、以下の制約の少なくとも1つに従うべきである:
a. W*pw>=W’; pwは例えば2などの整数である;
b. W*pw>W’; pwは例えば2などの整数である;
c. W’*pw’>=W; pw’は例えば8などの整数である;
d. W’*pw’>W; pw’は例えば8などの整数である;
e. H*ph>=H’; phは例えば2などの整数である;
f. H*ph>H’; phは例えば2などの整数である;
g. H’*ph’>=H; ph’は例えば8などの整数である;
h. H’*ph’>H; ph’は例えば8などの整数である;
i. 一例において、pwはpw’に等しい;
j. 一例において、phはph’に等しい;
k. 一例において、pwはphに等しい;
l. 一例において、pw’はph’に等しい;
m. 一例において、上の小箇条書きは、W及びHがそれぞれ現在ピクチャの幅及び高さを表すときに、適合ビットストリームによって満足される必要があるとし得る。W’及びH’は、参照ピクチャの幅及び高さを表す。
26. 適合ウィンドウパラメータが部分的にシグナリングされることを提案する:
a. 一例において、ピクチャの適合ウィンドウの左上サンプルは、そのピクチャにおけるそれと同じである;
b. 例えば、VVCで定義されるconf_win_left_offsetは、シグナリングされずに0であると推定される;
c. 例えば、VVCで定義されるconf_win_top_offsetは、シグナリングされずに0であると推定される。
27. 参照サンプルの位置(例えば、VVCで定義される(refxL,refyL))の導出が、現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの左上の位置(例えば、VVCで定義される(conf_win_left_offset,conf_win_top_offset))に依存し得ることを提案する。図4A及び4Bは、(a)VVCにおいてと同様に、及び(b)及び提案する方法において導出されるサンプル位置の例を示している。破線の矩形が適合ウィンドウを表している:
a. 一例において、依存性は、現在ピクチャの幅及び/又は高さと参照ピクチャのそれとが異なるときにのみ存在する;
b. 一例において、参照サンプルの水平位置(例えば、VVCで定義されるRefxL)の導出は、現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの左位置(例えば、VVCで定義されるconf_win_left_offset)に依存し得る:
i. 一例において、現在ピクチャ内の適合ウィンドウの左上の位置に対する現在サンプルの水平位置(xSb’と表記)が計算され、参照サンプルの位置を導出するために使用される:
1) 例えば、xSb’=xSb-(conf_win_left_offset<<Prec)が計算され、参照サンプルの位置を導出するために使用される。ここで、xSbは現在ピクチャ内の現在サンプルの水平位置を表す。conf_win_left_offsetは現在ピクチャの適合ウィンドウ内の左上サンプルの水平位置を表す。PrecはxSb及びxSb’の精度を表し、ここで、(xSb>>Prec)は、現在ピクチャに対する現在サンプルの実際の水平座標を示し得る。例えば、Prec=0又はPrec=4である;
ii. 一例において、参照ピクチャ内の適合ウィンドウの左上の位置に対する参照サンプルの水平位置(Rx’と表記)が計算される:
1) Rx’の計算は、xSb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存し得る;
iii. 一例において、参照ピクチャに対する参照サンプルの水平位置(Rxと表記)が、Rx’に依存して計算される:
1) 例えば、Rx=Rx’+(conf_win_left_offset_ref<<Prec)が計算され、conf_win_left_offset_refは、参照ピクチャの適合ウィンドウ内の左上サンプルの水平位置を表す。Precは、Rx及びRx’の精度を表す。例えば、Prec=0又はPrec=4である;
iv. 一例において、Rxは、xSb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存して直接計算され得る。換言すれば、Rx’及びRxについての導出の2つのステップが一ステップの計算へと結合される;
v. 現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの左位置(例えば、VVCで定義されるconf_win_left_offset)を使用すべきか、及び/又はどのように使用するかは、カラー成分及び/又はカラーフォーマットに依存し得る:
1) 例えば、conf_win_left_offsetを、conf_win_left_offset=conf_win_left_offset*SubWidthCとして改訂することができ、ここで、SubWidthCは、カラー成分の水平方向のサンプリングステップを定義する。例えば、SubWidthCはルマコンポーネントに対して1に等しい。SubWidthCは、カラーフォーマットが4:2:0又は4:2:2である場合、クロマコンポーネントに対しては2に等しい;
2) 例えば、conf_win_left_offsetを、conf_win_left_offset=conf_win_left_offset/SubWidthCとして改訂することができ、ここで、SubWidthCは、カラー成分の水平方向のサンプリングステップを定義する。例えば、SubWidthCはルマコンポーネントに対して1に等しい。SubWidthCは、カラーフォーマットが4:2:0又は4:2:2である場合、クロマコンポーネントに対しては2に等しい;
c. 一例において、参照サンプルの垂直位置(例えば、VVCで定義されるRefyL)の導出は、現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの上位置(例えば、VVCで定義されるconf_win_top_offset)に依存し得る:
i. 一例において、現在ピクチャ内の適合ウィンドウの左上の位置に対する現在サンプルの垂直位置(ySb’と表記)が計算され、参照サンプルの位置を導出するために使用される:
1) 例えば、ySb’=ySb-(conf_win_top_offset<<Prec)が計算され、参照サンプルの位置を導出するために使用される。ここで、ySbは現在ピクチャ内の現在サンプルの垂直位置を表す。conf_win_top_offsetは現在ピクチャの適合ウィンドウ内の左上サンプルの垂直位置を表す。PrecはySb及びySb’の精度を表す。例えば、Prec=0又はPrec=4である;
ii. 一例において、参照ピクチャ内の適合ウィンドウの左上の位置に対する参照サンプルの垂直位置(Ry’と表記)が計算される:
1) Ry’の計算は、ySb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存し得る;
iii. 一例において、参照ピクチャに対する参照サンプルの垂直位置(Ryと表記)が、Ry’に依存して計算される:
1) 例えば、Ry=Ry’+(conf_win_top_offset_ref<<Prec)が計算され、conf_win_top_offset_refは、参照ピクチャの適合ウィンドウ内の左上サンプルの垂直位置を表す。Precは、Ry及びRy’の精度を表す。例えば、Prec=0又はPrec=4である;
iv. 一例において、Ryは、ySb’、及び/又は動きベクトル、及び/又はリサンプリング比に依存して直接計算され得る。換言すれば、Ry’及びRyについての導出の2つのステップが一ステップの計算へと結合される;
v. 現在ピクチャ及び/又は参照ピクチャの適合ウィンドウの上位置(例えば、VVCで定義されるconf_win_top_offset)を使用すべきか、及び/又はどのように使用するかは、カラー成分及び/又はカラーフォーマットに依存し得る:
1) 例えば、conf_win_top_offsetを、conf_win_top_offset=conf_win_top_offset*SubHeightCとして改訂することができ、ここで、SubHeightCは、カラー成分の垂直方向のサンプリングステップを定義する。例えば、SubHeightCはルマコンポーネントに対して1に等しい。SubHeightCは、カラーフォーマットが4:2:0である場合、クロマコンポーネントに対しては2に等しい;
2) 例えば、conf_win_top_offsetを、conf_win_top_offset=conf_win_top_offset/SubHeightCとして改訂することができ、ここで、SubHeightCは、カラー成分の垂直方向のサンプリングステップを定義する。例えば、SubHeightCはルマコンポーネントに対して1に等しい。SubHeightCは、カラーフォーマットが4:2:0である場合、クロマコンポーネントに対しては2に等しい;
28. 参照サンプルの水平座標の整数部分が[minW,maxW]にクリッピングされ得ることを提案する。参照ピクチャの適合ウィンドウの幅及び高さをそれぞれW及びHと表記するとする。参照ピクチャの適合ウィンドウの幅及び高さをW’及びH’と表記する。参照ピクチャ内の適合ウィンドウの左上の位置を(X0,Y0)と表記する:
a. 一例において、minWは0に等しい;
b. 一例において、minWはX0に等しい;
c. 一例において、maxWはW-1に等しい;
d. 一例において、maxWはW’-1に等しい;
e. 一例において、maxWはX0+W’-1に等しい;
f. 一例において、minW及び/又はmaxWは、カラーフォーマット及び/又はカラー成分に基づいて変更されてもよい:
i. 例えば、minWはminW*SubCに変更される;
ii. 例えば、minWはminW/SubCに変更される;
iii. 例えば、maxWはmaxW*SubCに変更される;
iv. 例えば、maxWはmaxW*SubCに変更される;
v. 一例において、SubCはルマコンポーネントに対して1に等しい;
vi. 一例において、カラーフォーマットが4:2:0である場合、SubCはクロマコンポーネントに対して2に等しい;
vii. 一例において、カラーフォーマットが4:2:2である場合、SubCはクロマコンポーネントに対して2に等しい;
viii. 一例において、カラーフォーマットが4:4:4である場合、SubCはクロマコンポーネントに対して1に等しい;
g. 一例において、クリッピングを行うべきか、及び/又はどのように行うかは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法及び参照ピクチャ(又はその中の適合ウィンドウ)の寸法に依存し得る:
i. 一例において、クリッピングは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法と参照ピクチャ(又はその中の適合ウィンドウ)の寸法とが異なるときにのみ行われる。
29. 参照サンプルの垂直座標の整数部分が[minH,maxH]にクリッピングされ得ることを提案する。参照ピクチャの適合ウィンドウの幅及び高さをそれぞれW及びHと表記するとする。参照ピクチャの適合ウィンドウの幅及び高さをW’及びH’と表記する。参照ピクチャ内の適合ウィンドウの左上の位置を(X0,Y0)と表記する:
a. 一例において、minHは0に等しい;
b. 一例において、minHはY0に等しい;
c. 一例において、maxHはH-1に等しい;
d. 一例において、maxHはH’-1に等しい;
e. 一例において、maxHはY0+H’-1に等しい;
f. 一例において、minH及び/又はmaxHは、カラーフォーマット及び/又はカラー成分に基づいて変更されてもよい:
i. 例えば、minHはminH*SubCに変更される;
ii. 例えば、minHはminH/SubCに変更される;
iii. 例えば、maxHはmaxH*SubCに変更される;
iv. 例えば、maxHはmaxH*SubCに変更される;
v. 一例において、SubCはルマコンポーネントに対して1に等しい;
vi. 一例において、カラーフォーマットが4:2:0である場合、SubCはクロマコンポーネントに対して2に等しい;
vii. 一例において、カラーフォーマットが4:2:2である場合、SubCはクロマコンポーネントに対して1に等しい;
viii. 一例において、カラーフォーマットが4:4:4である場合、SubCはクロマコンポーネントに対して1に等しい;
g. 一例において、クリッピングを行うべきか、及び/又はどのように行うかは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法及び参照ピクチャ(又はその中の適合ウィンドウ)の寸法に依存し得る:
i. 一例において、クリッピングは、現在ピクチャ(又はその中の適合ウィンドウ)の寸法と参照ピクチャ(又はその中の適合ウィンドウ)の寸法とが異なるときにのみ行われる。
以下の説明では、第1のシンタックス要素と第2のシンタックス要素との2つのシンタックス要素が等価な機能を持つが、異なる映像ユニット(例えば、VPS/SPS/PPS/スライスヘッダ/ピクチャヘッダなど)でシグナリングされ得る場合に、第1のシンタックス要素は第2のシンタックス要素に“対応する”と言う。
30. シンタックス要素が第1の映像ユニット(例えば、ピクチャヘッダ又はPPS)内でシグナリングされ、より高いレベル(例えばSPSなど)又はより低いレベル(例えばスライスヘッダなど)の第2の映像ユニットで、対応するシンタックス要素がシグナリングされないことを提案する:
a. あるいは、第1のシンタックス要素が第1の映像ユニット(例えば、ピクチャヘッダ又はPPS)内でシグナリングされ得るとともに、対応する第2のシンタックス要素が、より低いレベル(例えばスライスヘッダなど)の第2の映像ユニット内でシグナリングされ得る:
i. あるいは、第2のシンタックス要素がその後にシグナリングされるかを通知するインジケータが第2の映像ユニット内でシグナリングされ得る;
ii. 一例において、第2の映像ユニット(例えばスライスヘッダなど)に関連するスライスは、第2のものがシグナリングされる場合に第1のものの代わりに第2のシンタックス要素のインジケーションに続き得る;
iii. 第1の映像ユニットに関連するいずれかのスライス(又は他の映像ユニット)内で第2のシンタックス要素がシグナリングされるかを通知するために、第1のシンタックス要素に関連するインジケータが第1の映像ユニット内でシグナリングされてもよい;
b. あるいは、第1のシンタックス要素が、より高いレベル(例えばVPS/SPS/PPSなど)の第1の映像ユニット内でシグナリングされ得るとともに、対応する第2のシンタックス要素が、第2の映像ユニット(例えばピクチャヘッダなど)内でシグナリングされ得る:
i. あるいは、第2のシンタックス要素がその後にシグナリングされるかを通知するインジケータがシグナリングされ得る;
ii. 一例において、第2の映像ユニットに関連するピクチャ(これは複数のスライスに分割され得る)が、第2のものがシグナリングされる場合に第1のものの代わりに第2のシンタックス要素のインジケーションに続き得る;
c. ピクチャヘッダ内の第1のシンタックス要素は、セクション2.6で規定されるようなスライスヘッダ内の第2のシンタックス要素(しかし、例えばslice_temporal_mvp_enabled_flag、cabac_init_flag、six_minus_max_num_merge_cand、five_minus_max_num_subblock_merge_cand、slice_fpel_mmvd_enabled_flag、slice_disable_bdof_dmvr_flag、max_num_merge_cand_minus_max_num_triangle_cand、slice_fpel_mmvd_enabled_flag、slice_six_minus_max_num_ibc_merge_cand、slice_joint_cbcr_sign_flag、slice_qp_delta、…などに限られる)と等価な機能を持ち得るが、ピクチャの全てのスライスを制御し得る;
d. セクション2.6で規定されるようなSPS内の第1のシンタックス要素は、ピクチャヘッダ内の第2のシンタックス要素(しかし、例えばsps_bdof_dmvr_slice_present_flag、sps_mmvd_enabled_flag、sps_isp_enabled_flag、sps_mrl_enabled_flag、sps_mip_enabled_flag、sps_cclm_enabled_flag、sps_mts_enabled_flag…などに限られる)と等価な機能を持ち得るが、関連するピクチャ(これは複数のスライスに分割され得る)のみを制御し得る;
e. セクション2.7で規定されるようなPPS内の第1のシンタックス要素は、ピクチャヘッダ内の第2のシンタックス要素(しかし、例えばentropy_coding_sync_enabled_flag、entry_point_offsets_present_flag、cabac_init_present_flag、rpl1_idx_present_flag…などに限られる)と等価な機能を持ち得るが、関連するピクチャ(これは複数のスライスに分割され得る)のみを制御し得る。
31. ピクチャヘッダでシグナリングされるシンタックス要素が、SPS/VPS/DPSでシグナリングされる又は導出される他のシンタックス要素から切り離される。
32. DMVRとBDOFの有効化/無効化のインジケーションが、同じフラグ(例えば、pic_disable_bdof_dmvr_flag)によって制御されることに代えて、ピクチャヘッダ内で別途シグナリングされ得る。
33. PROF/クロスコンポーネントALF/幾何学的分割(geometric partitioning;GEO)でのインター予測の有効化/無効化のインジケーションが、ピクチャヘッダ内でシグナリングされ得る:
a. あるいは、ピクチャヘッダ内のPROFを有効化/無効化することのインジケーションが、SPS内のPROF有効化フラグに従って条件付きでシグナリングされ得る;
b. あるいは、ピクチャヘッダ内のクロスコンポーネントALF(CCALF)を有効化/無効化することのインジケーションが、SPS内のCCALF有効化フラグに従って条件付きでシグナリングされ得る;
c. あるいは、ピクチャヘッダ内のGEOを有効化/無効化することのインジケーションが、SPS内のGEO有効化フラグに従って条件付きでシグナリングされ得る;
d. あるいは、さらに、スライスヘッダ内のPROF/クロスコンポーネントALF/幾何学的分割(GEO)でのインター予測の有効化/無効化のインジケーションが、SPSの代わりにピクチャヘッダ内でシグナリングされるそれらのシンタックス要素に従って条件付きでシグナリングされ得る。
34. 同一ピクチャ内のスライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)の予測タイプのインジケーションが、ピクチャヘッダ内でシグナリングされ得る:
a. 一例において、全てのスライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)が全てイントラコーディングされる(例えば、全てIスライスである)かのインジケーションが、ピクチャヘッダ内にシグナリングされ得る:
i. あるいは、さらに、ピクチャ内の全てのスライスがIスライスであることをインジケーションが語る場合に、スライスヘッダ内でスライスタイプがシグナリングされないとし得る;
b. あるいは、スライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)のうちの少なくとも1つがイントラコーディングされない(例えば、少なくとも1つが非Iスライスである)かのインジケーションが、ピクチャヘッダ内にシグナリングされ得る:
c. あるいは、全てのスライス/ブリック/タイル(又はピクチャよりも小さい他の映像ユニット)が全て同じ予測タイプ(例えば、I/P/Bスライス)を持つかのインジケーションが、ピクチャヘッダ内でシグナリングされ得る:
i. あるいは、さらに、スライスヘッダ内でスライスタイプはシグナリングされないとし得る;
ii. あるいは、さらに、特定の予測タイプに対して許されるツール(例えば、DMVR/BDOF/TPM/GEOはBスライスに対してのみ許され、デュアルツリーはIスライスに対してのみ許される)のインジケーションが、予測タイプのインジケーションに従って条件付きでシグナリングされ得る;
d. あるいは、さらに、ツールを有効化/無効化することのインジケーションのシグナリングは、上の小箇条書きで言及した予測タイプのインジケーションに依存してもよい:
i. あるいは、さらに、ツールを有効化/無効化することのインジケーションは、上の小箇条書きで言及した予測タイプのインジケーションに従って導出されてもよい。
35. この開示(箇条書き1-箇条書き29)において、用語“適合ウィンドウ”は、例えば“スケーリングウィンドウ”などの他の用語で置き換えられてもよい。スケーリングウィンドウは、適合ウィンドウとは異なるようにシグナリングされてもよく、RPRのための参照サンプル位置を導出するのに使用されるスケーリング比及び/又は左上オフセットを導出するために使用される:
a. 一例において、スケーリングウィンドウは、適合ウィンドウによって制約され得る。例えば、適合ビットストリームでは、スケーリングウィンドウは適合ウィンドウに含まれなければならない。
36. 変換スキップコーディングされるブロックの許容最大ブロックサイズをシグナリングすべきか、及び/又はどのようにシグナリングするかは、変換コーディングされるブロックの最大ブロックサイズに依存し得る:
a. あるいは、変換スキップコーディングされるブロックの最大ブロックサイズは、適合ビットストリームにおいて変換コーディングされるブロックの最大ブロックサイズよりも大きくすることはできない。
37. ジョイントCb-Cr残差(Joint Cb-Cr Residue;JCCR)コーディングを有効にすることのインジケーション(例えばsps_joint_cbcr_enabled_flagなど)をシグナリングすべきか、及び/又はどのようにシグナリングするかは、カラーフォーマット(例えば4:0:0、4:2:0など)に依存し得る:
a. 例えば、カラーフォーマットが4:0:0である場合、ジョイントCb-Cr残差(JCCR)を有効にすることのインジケーションはシグナリングされないとし得る。例示的なシンタックス設計は以下の通りである:
(外8)
TPM/GEOにおけるクロマ混合マスク生成のためのダウンサンプリングフィルタタイプ
38. クロマサンプルについての混合重み導出に使用されるダウンサンプリングフィルタのタイプが、映像ユニットレベル(例えばSPS/VPS/PPS/ピクチャヘッダ/サブピクチャ/スライス/スライスヘッダ/タイル/ブリック/CTU/VPDUレベルなど)でシグナリングされ得る:
a. 一例において、コンテンツの異なるクロマフォーマットタイプを切り換えるために、ハイレベルフラグがシグナリングされ得る:
i. 一例において、クロマフォーマットタイプ0とクロマフォーマットタイプ2との間で切り換えるために、ハイレベルフラグがシグナリングされ得る;
ii. 一例において、TPM/GEO予測モードにおける左上のダウンサンプリングルマ重みが左上ルマ重みとコロケートである(例えば、クロマサンプル位置タイプ0)かを規定するために、フラグがシグナリングされ得る;
iii. 一例において、TPM/GEO予測モードにおける左上ダウンサンプリングルマサンプルが左上ルマサンプルと水平方向にはコロケートであるが、左上ルマサンプルに対して0.5単位のルマサンプルだけ垂直方向にシフトされている(例えば、クロマサンプル位置タイプ2)かを規定するために、フラグがシグナリングされ得る;
b. 一例において、ダウンサンプリングフィルタのタイプは、4:2:0クロマフォーマット及び/又は4:2:2クロマフォーマットに対してシグナリングされ得る;
c. 一例において、TPM/GEO予測に使用されるクロマダウンサンプリングフィルタのタイプを規定するために、フラグがシグナリングされ得る:
i. 一例において、このフラグは、TPM/GEO予測モードにおけるクロマ重み導出のためにダウンサンプリングフィルタAを使用するのかダウンサンプリングフィルタBを使用するのかについてシグナリングされ得る。
39. クロマサンプルについての混合重み導出に使用されるダウンサンプリングフィルタのタイプが、映像ユニットレベル(例えばSPS/VPS/PPS/ピクチャヘッダ/サブピクチャ/スライス/スライスヘッダ/タイル/ブリック/CTU/VPDUレベルなど)で導出され得る:
a. 一例において、クロマサブサンプリングフィルタタイプとコンテンツのクロマフォーマットタイプとの間の対応関係を規定するために、ルックアップテーブルが規定され得る。
40. 異なるクロマサンプル位置タイプの場合に、特定のダウンサンプリングフィルタがTPM/GEO予測モードに使用され得る:
a. 一例において、特定のクロマサンプル位置タイプ(例えば、クロマサンプル位置タイプ0)の場合に、TPM/GEOのクロマ重みは、コロケート左上ルマ重みからサブサンプリングされ得る;
b. 一例において、特定のクロマサンプル位置タイプ(例えば、クロマサンプル位置タイプ0又は2)の場合に、特定のXタップフィルタ(Xは、例えばX=6又は5などの定数)が、TPM/GEO予測モードにおけるクロマ重みサブサンプリングに使用され得る。
41. 映像ユニット(例えば、SPS、PPS、ピクチャヘッダ、スライスヘッダなど)内で、全てのブロック(スライス/ピクチャ)に対して複数変換選択(Multiple Transform Selection;MTS)が無効にされるかを指し示す第1のシンタックス要素(例えばフラグなど)がシグナリングされ得る:
a. イントラコーディングされるブロック(スライス/ピクチャ)にMTSをどのように適用するか(例えば、MTSを有効にする/MTSを無効にする/黙示的MTS/明示的MTSなど)を指し示す第2のシンタックス要素が、第1のシンタックス要素に基づいて条件付きでシグナリングされる。例えば、第2のシンタックス要素は、全てのブロック(スライス/ピクチャ)に対してMTSが無効にされることを第1のシンタックス要素が指し示す場合にのみシグナリングされる;
b. インターコーディングされるブロック(スライス/ピクチャ)にMTSをどのように適用するか(例えば、MTSを有効にする/MTSを無効にする/黙示的MTS/明示的MTSなど)を指し示す第3のシンタックス要素が、第1のシンタックス要素に基づいて条件付きでシグナリングされる。例えば、第3のシンタックス要素は、全てのブロック(スライス/ピクチャ)に対してMTSが無効にされるのではないことを第1のシンタックス要素が指し示す場合にのみシグナリングされる;
c. 例示的なシンタックス設計は以下の通りである:
(外9)
d. 第3のシンタックス要素は、サブブロック変換(Sub-Block Transform;SBT)が適用されるか否かに基づいて条件付きでシグナリングされ得る。
例示的なシンタックス設計は以下の通りである:
(外10)
e. 例示的なシンタックス設計は以下の通りである:
(外11)
コーディングツールXの使用の決定
42. コーディングツールXを有効にすべきか及び/又はどのように有効化するかの決定が、1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さに依存し得る:
a. 1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さは、決定を行うために変更され得る;
b. 検討中のピクチャは、JVET-P0590に定義されるような適合ウィンドウ又はスケーリングウィンドウによって画成され得る:
i. 検討中のピクチャはピクチャ全体であってもよい;
c. 一例において、コーディングツールXを有効にすべきか及び/又はどのように有効化するかは、ピクチャの幅から水平方向の1つ若しくは複数のオフセットを引いたもの、及び/又はピクチャの高さから垂直方向の1つ若しくは複数のオフセットを引いたものに依存し得る:
i. 一例において、水平オフセットは、scaling_win_top_offsetとして定義されることができ、scaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
ii. 一例において、垂直オフセットは、scaling_win_top_offsetとして定義されることができ、scaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
iii. 一例において、水平オフセットは(scaling_win_right_offset+scaling_win_left_offset)として定義されることができ、scaling_win_right_offset及びscaling_win_left_offsetは、JVET-P0590においてのように定義され得る;
iv. 一例において、垂直オフセットは(scaling_win_bottom_offset+scaling_win_top_offset)として定義されることができ、scaling_win_bottom_offset及びscaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
v. 一例において、水平オフセットは、SubWidthC*(scaling_win_right_offset+scaling_win_left_offset)として定義されることができ、SubWidthC、scaling_win_right_offset、及びscaling_win_left_offsetは、JVET-P0590においてのように定義され得る;
vi. 一例において、垂直オフセットは、SubHeightC*(scaling_win_bottom_offset+scaling_win_top_offset)として定義されることができ、SubHeightC、scaling_win_bottom_offset、及びscaling_win_top_offsetは、JVET-P0590においてのように定義され得る;
d. 一例において、2つの検討中の参照ピクチャのうちの少なくとも一方が現在ピクチャと異なる解像度(幅又は高さのいずれか)を持つ場合、コーディングツールXは無効にされる:
i. あるいは、2つの出力参照ピクチャのうちの少なくとも一方が現在ピクチャの寸法よりも大きい寸法(幅又は高さのいずれか)を持つ場合、コーディングツールXは無効にされる;
e. 一例において、参照ピクチャリストLに関する1つの検討中の参照ピクチャが現在ピクチャと異なる解像度を持つ場合、その参照ピクチャリストLに対してコーディングツールXが無効にされる:
i. あるいは、参照ピクチャリストLに関する1つの検討中の参照ピクチャが現在ピクチャの寸法よりも大きい寸法(幅又は高さ)を持つ場合、その参照ピクチャリストLに対してコーディングツールXが無効にされる;
f. 一例において、2つの参照ピクチャリストの2つの検討中の参照ピクチャが相異なる解像度を持つものである場合、コーディングツールは無効にされ得る:
i. あるいは、コーディングツールのインジケーションが、解像度に従って条件付きでシグナリングされ得る;
ii. あるいは、コーディングツールのインジケーションのシグナリングがスキップされてもよい;
g. 一例において、少なくとも1つの参照ピクチャリストに関する第1のペアワイズマージ候補を導出するために利用される2つのマージ候補の2つの検討中の参照ピクチャが場合、コーディングツールは無効にされることができ、例えば、第1のペアワイズマージ候補は使用不可としてマークされる:
i. あるいは、両方の参照ピクチャリストに関する第1のペアワイズマージ候補を導出するために利用される2つのマージ候補の2つの検討中の参照ピクチャが場合、コーディングツールは無効にされることができ、例えば、第1のペアワイズマージ候補は使用不可としてマークされる;
h. 一例において、コーディングツールの復号プロセスは、ピクチャ寸法を考慮して変更され得る:
i. 一例において、SMVDにおける別の参照ピクチャリスト(例えば、リスト1)に関するMVDの導出は、2つのターゲットSMVD参照ピクチャのうちの少なくとも一方の解像度差(例えば、スケーリング係数)に基づき得る;
ii. 一例において、ペアワイズマージ候補の導出は、2つの参照ピクチャに関連する2つの参照ピクチャのうちの少なくとも一方の解像度差(例えば、スケーリング係数)に基づいてもよく、例えば、等しい重みの代わりに線形加重平均が適用されてもよい;
i. 一例において、Xは以下とし得る:
i. デコーダ側で動き/予測を精緻化するDMVR/BDOF/PROF/SMVD/MMVD/他のコーディングツール
ii. 時間的な動き情報を当てにするTMVP/他のコーディングツール
iii. MTS又は他の変換コーディングツール
iv. CC-ALF
v. TPM
vi. GEO
vii. 切換可能補間フィルタ(例えば、ハーフペル動き補償用の代替補間フィルタ)
viii. 1つのブロックを複数のパーティションにスプリットするTPM/GEO/他のコーディングツールにおける混合プロセス
ix. 現在ピクチャとは異なるピクチャ内の格納情報に答えるコーディングツール
x. ペアワイズマージ候補(解像度に関係する特定の条件が満たされないとき、ペアワイズマージ候補は生成されない)
xi. CUレベル重み(BCW)での双予測
xii. 重み付け予測
xiii. アフィン予測
xiv. 適応動きベクトル解像度(AMVR)
43. コーディングツールの使用をシグナリングすべきか及び/又はどのようにシグナリングするかは、1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さに依存し得る:
j. 1つ又は複数の参照ピクチャのうちの検討中のピクチャ及び/又は現在ピクチャの幅及び/又は高さは、決定を行うために変更され得る;
k. 検討中のピクチャは、JVET-P0590に定義されるようなスケーリングウィンドウ及び/又は適合ウィンドウによって画成され得る:
i. 検討中のピクチャはピクチャ全体であってもよい;
l. 一例において、Xは適応動きベクトル解像度とし得る;
m. 一例において、Xは、マージ・ウィズ・MV差(MMVD)法とし得る:
i. 一例において、対称動きベクトル差参照インデックスの構築は、異なる参照ピクチャに対するRPRケースのピクチャ解像度/インジケーションに依存し得る;
n. 一例において、Xは対称MVD(SMVD)法とし得る;
o. 一例において、XはQT/BT/TT又は他のパーティションタイプとし得る;
p. 一例において、XはCUレベル重み(BCW)での双予測とし得る;
q. 一例において、Xは重み付け予測とし得る;
r. 一例において、Xはアフィン予測とし得る;
s. 一例において、ハーフペル動きベクトル精度/切換可能補間フィルタの使用のインジケーションをシグナリングするかは、解像度情報/RPRが現在ブロックに対して有効にされるかに依存し得る;
t. 一例において、amvr_precision_idxのシグナリングは、解像度情報/RPRが現在ブロックに対して有効にされるかに依存し得る;
u. 一例において、sym_mvd_flag/mmvd_merge_flagのシグナリングは、解像度情報/RPRが現在ブロックに対して有効にされるかに依存し得る;
v. 適合ビットストリームは、1つ又は複数の参照ピクチャのうちの検討中のピクチャの幅及び/高さが現在出力ピクチャのそれとは異なるときに1/2ペルMV及び/又はMVD精度(例えば、代替補間フィルタ/切換可能補間フィルタ)が無効にされることを満足する。
44. 1/2ペルMV及び/又はMVD精度(又は代替補間フィルタ/切換可能補間フィルタ)でのAMVRがRPR内のブロックに対して依然として有効にされ得ることを提案する:
w. あるいは、さらに、1/2ペル又は他の精度で異なる補間フィルタがブロックに適用されてもよい。
45. 上の箇条書きにおける同じ/異なる解像度の条件チェックは、参照ピクチャに関するフラグを追加し、参照ピクチャに関連付けられたフラグをチェックすることによって置き換えられてもよい:
x. 一例において、真又は偽であるように(すなわち、参照ピクチャがRPRケースであるか非RPRケースであるかを指し示すように)フラグを設定するプロセスは、参照ピクチャリスト構築プロセスの間に呼び出され得る:
i. 例えば、以下が適用され得る:
fRefWidthが、ルマサンプル単位の参照ピクチャRefPicList[i][j]のPicOutputWidthLに等しく設定され、ここで、PicOutputWidthLは参照ピクチャの検討中のピクチャの幅を表す;
fRefHeightが、ルマサンプル単位の参照ピクチャRefPicList[i][j]のPicOutputHeightLに等しく設定され、ここで、PicOutputHeightLは参照ピクチャの検討中のピクチャの高さを表す;
RefPicScale[i][j][0]=
((fRefWidth<<14)+(PicOutputWidthL>>1))/PicOutputWidthL
ここで、PicOutputWidthLは現在ピクチャの検討中のピクチャの幅を表す;
RefPicScale[i][j][1]=
((fRefHeight<<14)+(PicOutputHeightL>>1))/PicOutputHeightL
ここで、PicOutputHeightLは現在ピクチャの検討中のピクチャの高さ表す;
RefPicIsScaled[i][j]=(RefPicScale[i][j][0]!=(1<<14))||(RefPicScale[i][j][1]!=(1<<14))
ここで、RefPicList[i][j]は、参照ピクチャリストi内のj番目の参照ピクチャを表す;
y. 一例において、RefPicIsScaled[0][refIdxL0]が0に等しくない、又はRefPicIsScaled[1][refIdxL1]が0に等しくないとき、コーディングツールX(例えば、DMVR/BDOF/SMVD/MMVD/SMVD/PROF/上の箇条書きで述べたもの)が無効にされ得る;
z. 一例において、RefPicIsScaled[0][refIdxL0]及びRefPicIsScaled[1][refIdxL1]の両方が0に等しくないとき、コーディングツールX(例えば、DMVR/BDOF/SMVD/MMVD/SMVD/PROF/上の箇条書きで述べたもの)が無効にされ得る;
aa. 一例において、RefPicIsScaled[0][refIdxL0]が0に等しくないとき、参照ピクチャリスト0に対してコーディングツールX(例えば、PROF又は上の箇条書きで述べたもの)が無効にされ得る;
bb. 一例において、RefPicIsScaled[1][refIdxL1]が0に等しくないとき、参照ピクチャリスト1に対してコーディングツールX(例えば、PROF又は上の箇条書きで述べたもの)が無効にされ得る;
46. BDOF/DMVRによって使用されるSAD及び/又は閾値は、ビット深度に依存し得る:
a. 一例において、計算されたSAD値は、閾値と比較されるのに利用される前に、先ず、ビット深度の関数によってシフトされ得る;
b. 一例において、計算されたSAD値は、ビット深度の関数に依存し得る変更された閾値と直接比較され得る。
42. ピクチャの全てのスライスに関するslice_type値がI(Iスライス)に等しい場合、P/Bスライス関連シンタックス要素は、ピクチャヘッダ内でシグナリングされる必要がないとし得る:
a. 一例において、指定されたピクチャに含まれる全てのスライスのslice_typeがI(Iスライス)に等しいかを指し示すために(1つ以上の)シンタックス要素がピクチャヘッダに追加され得る:
i. 一例において、第1のシンタックス要素がピクチャヘッダ内でシグナリングされる。ピクチャヘッダに関連付けられたスライスのスライスヘッダ内のスライスタイプ情報を通知する第2のシンタックス要素をシグナリング/解釈することを行うべきか及び/又はどのように行うかは、第1のシンタックス要素に依存し得る:
1) 一例において、第1のシンタックス要素に依存して、第2のシンタックス要素は、シグナリングされずに、あるスライスタイプであると推定され得る;
2) 一例において、第1のシンタックス要素に依存して、第2のシンタックス要素はシグナリングされ得るが、第2のシンタックス要素が幾つかの所与の値のうちの1つでなければならないことが適合要件である;
3) あるいは、第1のシンタックス要素は、スライスに関連付けれたAUデリミタRBSP内でシグナリングされ得る;
ii. 一例において、ピクチャヘッダ内で、新しいシンタックス要素(例えば、pic_all_X_slices_flag)が、このピクチャにはXスライスのみが許されるのかどうか、又はこのピクチャ内の全てのスライスがXスライスであるかどうかを指し示すためにシグナリングされ得る。例えば、Xは、I、又はP若しくはBとし得る:
1) 一例において、関連するピクチャヘッダ内で全てのスライスがIスライスであることが指し示される場合に、スライスタイプ情報は、スライスヘッダ内でシグナリングされずに、Iスライスであると推定される;
iii. 一例において、ピクチャヘッダ内で、新しいシンタックス要素(例えば、ph_pic_type)が、このピクチャのピクチャタイプを指し示すためにシグナリングされ得る:
1) 例えば、ph_pic_typeがI-pictureに等しい(例えば、0に等しい)場合、ピクチャ内のスライスのslice_typeは、Iに等しいことのみが許され得る;
2) 他の一例では、ph_pic_typeが非Iピクチャ(例えば1又は2など)に等しい場合、ピクチャ内のスライスのslice_typeは、I及び/又はP及び/又はBに等しいことが許され得る;
b. 一例において、指定されたピクチャの全てのスライスがIに等しいかを指し示すために、AUデリミタRBSP内のシンタックス要素pic_typeが使用され得る;
c. 一例において、ピクチャ内の全てのスライスがIスライスである場合、このピクチャ内の全てのスライスについて、スライスヘッダ内のシンタックス要素slice_typeは、シグナリングされずにIスライス(例えば2など)であると推定され得る:
i. 一例において、指定されたピクチャに含まれる全てのスライスがIに等しいことをシンタックス要素(以下に限られないが、例えばpic_all_I_slices_flag、ph_pic_type、pic_typeなど)が指し示す場合、指定されたピクチャ内の全スライスのslice_typeがIスライスに等しいことを規定するために、ビットストリーム制約が追加され得る;
ii. あるいは、指定されたピクチャに含まれる全てのスライスがIに等しいことをシンタックス要素(以下に限られないが、例えばpic_all_I_slices_flag、ph_pic_type、pic_typeなど)が指し示す場合、指定されたピクチャ内にP又はBスライスは許されないことを規定するために、ビットストリーム制約が追加され得る;
d. スライス/ピクチャがWスライス/Wピクチャである場合、非Wスライスに許されるスライスヘッダ/ピクチャヘッダ内の1つ又は複数のシンタックス要素(以下に規定するシンタックス要素セットXと表記)はシグナリングされないとし得る。例えば、WはIとすることができ、非WはB又はPとすることができる。他の一例において、WはBとすることができ、非WはI又はPとすることができる:
i. 一例において、ピクチャ内の全てのスライスがWスライスである場合、非Wスライスに許されるピクチャヘッダ内のシンタックス要素セットXはシグナリングされないとし得る;
ii. あるいは、ピクチャヘッダ内の幾つかのシンタックス要素(以下に規定するセットXと表記)が、ピクチャ内の全てのスライスがWスライスであるかに従って条件付きでシグナリングされ得る;
iii. シンタックス要素セットXは、以下のうちの1つ以上とし得る:
1) 一例において、Xは、以下に限られないが例えばpic_rpl_present_flag、pic_rpl_sps_flag、pic_rpl_idx、pic_poc_lsb_lt、pic_delta_poc_msb_present_flag、pic_delta_poc_msb_cycle_ltなどの、ピクチャヘッダ内の参照ピクチャ関連シンタックス要素とし得る。スライス/ピクチャが非インタースライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る;
2) 一例において、Xは、以下に限られないが例えばpic_log2_diff_min_qt_min_cb_inter_slice、pic_max_mtt_hierarchy_depth_inter_slice、pic_log2_diff_max_bt_min_qt_inter_slice、pic_log2_diff_max_tt_min_qt_inter_sliceなどの、ピクチャヘッダ内のインタースライス関連シンタックス要素とし得る。スライス/ピクチャが非インタースライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る;
3) 一例において、Xは、以下に限られないが例えばpic_temporal_mvp_enabled_flag、mvd_l1_zero_flag、pic_six_minus_max_num_merge_cand、pic_five_minus_max_num_subblock_merge_cand、pic_fpel_mmvd_enabled_flag、pic_disable_bdof_flag、pic_disable_dmvr_flag、pic_disable_prof_flag、pic_max_num_merge_cand_minus_max_num_triangle_candなどの、ピクチャヘッダ内のインター予測関連シンタックス要素とし得る。スライス/ピクチャが非インタースライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る;
4) 一例において、Xは、以下に限られないが例えばpic_disable_bdof_flag、pic_disable_dmvr_flag、mvd_l1_zero_flagなどの、ピクチャヘッダ内の双予測関連シンタックス要素とし得る。スライス/ピクチャが非Bスライス/ピクチャであるとシグナリングされる又は推定される場合、Xは、シグナリングされずに、使用されないと推定され得る。
関連するタイル/スライスの寸法の制限
43. 最大タイル幅が仕様書で規定され得る:
a. 例えば、最大タイル幅は、CTBにおける最大ルマタイル幅として定義され得る;
b. 一例において、現在シーケンス/ピクチャ/スライス/サブピクチャにおいて許される最大タイル幅を指し示すために、ビデオユニット(例えば、SPS、PPS、ピクチャヘッダ、スライスヘッダなど)内で、新しい(1つ以上の)シンタックス要素がシグナリングされ得る;
c. 一例において、最大ルマタイル幅、又はCTBにおける最大ルマタイル幅がシグナリングされ得る;
d. 一例において、最大ルマタイル幅は、N(例えばN=1920又は4096など)に固定され得る;
e. 一例において、異なるプロファイル/レベル/層では異なる最大タイル幅が指定され得る。
44. 最大スライス/サブピクチャ/タイル寸法(例えば、幅及び/又はサイズ、及び/又は長さ、及び/又は高さ)が仕様書で規定され得る:
a. 例えば、最大スライス/サブピクチャ/タイル寸法は、CTBにおける最大ルマ寸法として定義され得る;
b. 例えば、スライス/サブピクチャ/タイルのサイズは、スライス内のCTBの数として定義され得る;
c. 一例において、現在シーケンス/ピクチャ/スライス/サブピクチャにおいて許される最大ルマスライス/サブピクチャ/タイル寸法を指し示すために、ビデオユニット(例えば、SPS、PPS、ピクチャヘッダ、スライスヘッダなど)内で、新しい(1つ以上の)シンタックス要素がシグナリングされ得る;
d. 一例において、矩形スライス/サブピクチャについて、最大ルマスライス/サブピクチャ幅/高さ、又はCTBにおける最大ルマスライス/サブピクチャ幅/高さがシグナリングされ得る;
e. 一例において、ラスタースキャンスライスについて、最大ルマスライスサイズ(例えば幅×高さなど)、又はCTBにおける最大ルマスライスサイズがシグナリングされ得る;
f. 一例において、矩形スライス/サブピクチャ及びラスタースキャンスライスの両方について、最大ルマスライス/サブピクチャサイズ(例えば幅×高さなど)、又はCTBにおける最大ルマスライス/サブピクチャサイズがシグナリングされ得る;
g. 一例において、ラスタースキャンスライスについて、最大ルマスライス長又はCTBにおける最大ルマスライス長がシグナリングされ得る;
h. 一例において、最大ルマスライス/サブピクチャ幅/高さは、N(例えばN=1920又は4096など)に固定され得る;
i. 一例において、最大ルマスライス/サブピクチャサイズ(例えば幅×高さなど)は、N(例えばN=2073600又は83388608など)に固定され得る;
j. 一例において、異なるプロファイル/レベル/層では異なる最大スライス/サブピクチャ寸法が指定され得る;
k. 一例において、ピクチャ/サブピクチャ内の分割されるスライス/サブピクチャ/タイルの最大数が、仕様書で規定され得る:
i. 最大数はシグナリングされないとし得る;
ii. 最大数は、異なるプロファイル/レベル/層で異なり得る。
45. 現在ピクチャの幅及び高さを、それぞれ、PW及びPHと表記し、現在ピクチャのスケーリングウィンドウの幅及び高さを、それぞれ、SW及びSHと表記し、参照ピクチャのスケーリングウィンドウの幅及び高さを、それぞれ、SW及びSHと表記し’、許容最大ピクチャの幅及び高さを、それぞれ、Wmax及びHmaxと表記する。便宜上、rw=SW’/SW、Rw=Wmax/PW、Qw=PW’/PW、rh=SH’/SH、そして、Rh=Hmax/PH、Qh=PH’/PHとする。以下の制約のうちの少なくとも1つが、適合ビットストリームによって従われる。以下の制約は狭義に理解されるべきでない。例えば、制約(a/b)>=(c/d)、ただし、a、b、c、dは、0より大きい整数は、(a/b)-(c/d)>=0、又はa*d>=c*b、又はa*d-c*d>=0としても理解されることができる:
a. a×Wmax×SW-(b×SW’+c×SW)×PW+offw≧0、ただし、a、b、c、及びoffwは整数。例えば、a=135、b=128、c=7、且つoffw=0;
b. d×Hmax×SH-(e×SH’+f×SH)×PH+offh≧0、ただし、d、e、fは整数。例えば、d=135、e=128、f=7、且つoffh=0;
c. a×Wmax×SW-b×SW’×PW+offw≧0、ただし、a、bは整数。例えば、a=1、b=1、offw=0;
d. d×Hmax×SH-e×SH’×PH+offh≧0、ただし、d、eは整数。例えば、d=1、e=1、offh=0;
e. rw≦Rw+(Lw×(Rw-1))/Bw+offw、ただし、Lw、Bw、及びoffwは整数。例えば、Lw=7、Bw=128、且つoffw=0;
f. rh≦Rh+(Lh×(Rh-1))/Bh+offh、ただし、Lh、Bh、及びoffhは整数。例えば、Lh=7、Bh=128、且つoffh=0;
g. rw≦a*Rw+offw、ただし、a及びoffwは整数。例えば、a=1、且つoffw=0;
h. rh≦b*Rh+offh、ただし、b及びoffhは整数。例えば、b=1、且つoffh=0;
i. rw≦a*Qw+offw、ただし、a及びoffwは整数。例えば、a=1、且つoffw=0;
j. rh≦b*Qh+offh、ただし、b及びoffhは整数。例えば、b=1、且つoffh=0。
46. QP関連情報(例えばデルタQPなど)が、PPS内ではなくピクチャヘッダ内でシグナリングされ得る:
a. 一例において、QP関連情報(例えばデルタQPなど)は、例えば適応色変換(ACT)などの特定のコーディングツールに対して指定される。
5. 更なる実施形態
JVET-O2001-vEに規定される作業ドラフトが、以下の実施形態にて変更され得る。VVCドラフトにおけるテキスト変更を、下の表では下線付きの太字のイタリック体で示し、削除は二重の太字括弧内に示す。例えば、[[a]]は、“a”が削除されたことを示す。
5.1. 適合ウィンドウについての制約の実施形態
(外12)
5.2. 参照サンプル位置導出の実施形態1
(外13)
5.3. 参照サンプル位置導出の実施形態2
(外14)
5.4. 参照サンプル位置導出の実施形態3
(外15)
5.5. 参照サンプル位置クリッピングの実施形態1
(外16)
5.6. 参照サンプル位置クリッピングの実施形態2
(外17)
5.7. コーディングツールの使用の実施形態
5.7.1 BDOFオン/オフ制御
(外18)
5.7.2 DMVRオン/オフ制御
(外19)
5.7.3 参照ピクチャリストXに対するPROFオン/オフ制御
(外20)
5.7.4 参照ピクチャリストXに対するPROFオン/オフ制御(第2実施形態)
(外21)
5.8 (JVET-P2001-v9に加えての)ピクチャヘッダ内でのインター関連シンタックス要素の条件付きシグナリングの実施形態
(外22)
5.9 (JVET-P2001-v14に加えての)RPRについての制約の実施形態
refPicWidthInLumaSamples及びrefPicHeightInLumaSamplesを、それぞれ、このPPSを参照する現在ピクチャの参照ピクチャのpic_width_in_luma_samples及びpic_height_in_luma_samplesとする。
refPicOutputWidthL及びrefPicOutputHeightLを、それぞれ、参照ピクチャのPicOutputWidthL及びPicOutputHeightLとする。
以下の条件の全てが満たされることが、ビットストリーム適合の要件である:
- PicOutputWidthL * 2がrefPicOutputWidthL以上である、
- PicOutputHeightL * 2がrefPicOutputHeightL以上である、
- PicOutputWidthLがrefPicOutputWidthL *
8以下である、
- PicOutputHeightLがrefPicOutputHeightL
* 8以下である、
- (PicOutputWidthL-refPicOutputWidthL)*(PicWidthInLumaSamples-refPicWidthInLumaSamples)が0以上である、
- (PicOutputHeightL-refPicOutputHeightL)*(PicHeightInLumaSamples-refPicHeightInLumaSamples)が0以上である、
- 135*pic_width_max_in_luma_samples*PicOutputWidthL-(128*refPicOutputWidthL+7*PicOutputWidthL)*PicWidthInLumaSamplesが0以上である、
- 135*pic_height_max_in_luma_samples*PicOutputHeightL-(128*refPicOutputHeightL+7*PicOutputHeightL)*PicHeightInLumaSamplesが0以上である。
5.10 (JVET-P2001-v14に加えての)ラップアラウンドオフセットのシグナリングの実施形態
(外23)
(外24)
5.11 (JVET-P2001-v14に加えての)サブピクチャ間のデブロッキングフィルタの実施形態
(外25)
JVET-O2001-vEに規定される作業ドラフトが、以下の実施形態にて変更され得る。VVCドラフトにおけるテキスト変更を、下の表では下線付きの太字のイタリック体で示し、削除は二重の太字括弧内に示す。例えば、[[a]]は、“a”が削除されたことを示す。
5.1. 適合ウィンドウについての制約の実施形態
(外12)
5.2. 参照サンプル位置導出の実施形態1
(外13)
5.3. 参照サンプル位置導出の実施形態2
(外14)
5.4. 参照サンプル位置導出の実施形態3
(外15)
5.5. 参照サンプル位置クリッピングの実施形態1
(外16)
5.6. 参照サンプル位置クリッピングの実施形態2
(外17)
5.7. コーディングツールの使用の実施形態
5.7.1 BDOFオン/オフ制御
(外18)
5.7.2 DMVRオン/オフ制御
(外19)
5.7.3 参照ピクチャリストXに対するPROFオン/オフ制御
(外20)
5.7.4 参照ピクチャリストXに対するPROFオン/オフ制御(第2実施形態)
(外21)
5.8 (JVET-P2001-v9に加えての)ピクチャヘッダ内でのインター関連シンタックス要素の条件付きシグナリングの実施形態
(外22)
5.9 (JVET-P2001-v14に加えての)RPRについての制約の実施形態
refPicWidthInLumaSamples及びrefPicHeightInLumaSamplesを、それぞれ、このPPSを参照する現在ピクチャの参照ピクチャのpic_width_in_luma_samples及びpic_height_in_luma_samplesとする。
refPicOutputWidthL及びrefPicOutputHeightLを、それぞれ、参照ピクチャのPicOutputWidthL及びPicOutputHeightLとする。
以下の条件の全てが満たされることが、ビットストリーム適合の要件である:
- PicOutputWidthL * 2がrefPicOutputWidthL以上である、
- PicOutputHeightL * 2がrefPicOutputHeightL以上である、
- PicOutputWidthLがrefPicOutputWidthL *
8以下である、
- PicOutputHeightLがrefPicOutputHeightL
* 8以下である、
- (PicOutputWidthL-refPicOutputWidthL)*(PicWidthInLumaSamples-refPicWidthInLumaSamples)が0以上である、
- (PicOutputHeightL-refPicOutputHeightL)*(PicHeightInLumaSamples-refPicHeightInLumaSamples)が0以上である、
- 135*pic_width_max_in_luma_samples*PicOutputWidthL-(128*refPicOutputWidthL+7*PicOutputWidthL)*PicWidthInLumaSamplesが0以上である、
- 135*pic_height_max_in_luma_samples*PicOutputHeightL-(128*refPicOutputHeightL+7*PicOutputHeightL)*PicHeightInLumaSamplesが0以上である。
5.10 (JVET-P2001-v14に加えての)ラップアラウンドオフセットのシグナリングの実施形態
(外23)
(外24)
5.11 (JVET-P2001-v14に加えての)サブピクチャ間のデブロッキングフィルタの実施形態
(外25)
6. 開示技術の実装例
図7は、ここに開示される様々な技術が実装され得る映像処理システム7000の一例を示すブロック図である。様々な実装は、システム7000のコンポーネントの一部又は全てを含み得る。システム7000は、映像コンテンツを受信する入力7002を含み得る。映像コンテンツは、例えば8ビット又は10ビットのマルチコンポーネント(多成分)ピクセル値といった、ロー(未加工)又は未圧縮のフォーマットで受信されてもよいし、あるいは圧縮又は符号化されたフォーマットで受信されてもよい。入力7002は、ネットワークインタフェース、周辺バスインタフェース、又はストレージインタフェースを表し得る。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インタフェース、及びWi-Fi(登録商標)若しくはセルラーインタフェースなどの無線インタフェースを含む。
図7は、ここに開示される様々な技術が実装され得る映像処理システム7000の一例を示すブロック図である。様々な実装は、システム7000のコンポーネントの一部又は全てを含み得る。システム7000は、映像コンテンツを受信する入力7002を含み得る。映像コンテンツは、例えば8ビット又は10ビットのマルチコンポーネント(多成分)ピクセル値といった、ロー(未加工)又は未圧縮のフォーマットで受信されてもよいし、あるいは圧縮又は符号化されたフォーマットで受信されてもよい。入力7002は、ネットワークインタフェース、周辺バスインタフェース、又はストレージインタフェースを表し得る。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インタフェース、及びWi-Fi(登録商標)若しくはセルラーインタフェースなどの無線インタフェースを含む。
システム7000は、本文書に記載される様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント7004を含み得る。コーディングコンポーネント7004は、入力7002からコーディングコンポーネント7004の出力まで映像の平均ビットレートを低減させて、映像の符号化表現を生成し得る。コーディング技術は、それ故に、映像圧縮技術又は映像トランスコーディング技術と呼ばれることがある。コーディングコンポーネント7004の出力は、格納されるか、コンポーネント7006によって表されるように接続されて通信を介して伝送されるかし得る。入力7002で受信された映像の格納又は通信されるビットストリーム(又は符号化)表現は、ディスプレイインタフェース910に送られるピクセル値又は表示可能映像を生成するためにコンポーネント7008によって使用され得る。ビットストリーム表現(又はビットストリーム)からユーザが見ることができる映像を生成するプロセスは、映像解凍と呼ばれることがある。また、特定の映像処理操作が“コーディング”の操作又はツールとして参照されることがあるが、理解されることには、コーディングのツール又は操作はエンコーダで使用され、コーディングの結果を裏返す対応する復号のツール又は操作がデコーダで実行されることになる。
周辺バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインタフェース(HDMI(登録商標))又はディスプレイポート(Displayport)などを含み得る。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェースなどを含む。本文書に記載される技術は、例えば携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実行することが可能な他の装置などの、種々のエレクトロニクス装置にて具現化され得る。
図8は、映像処理装置8000のブロック図である。装置8000は、ここに記載される方法のうちの1つ以上を実装するために使用され得る。装置8000は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信器などにて具現化され得る。装置8000は、1つ以上のプロセッサ8002、1つ以上のメモリ8004、及び映像処理ハードウェア8006を含み得る。(1つ以上の)プロセッサ8002は、本文書(例えば、図12-13)に記載される1つ以上の方法を実行するように構成され得る。(1つ以上の)メモリ8004は、ここに記載される方法及び技術を実行するのに使用されるデータ及びコードを格納するために使用され得る。映像処理ハードウェア8006は、本文書に記載される一部の技術をハードウェア回路にて実装するために使用され得る。
図9は、この開示の技術を利用し得る映像コーティングシステム100の一例を示すブロック図である。図9に示すように、映像コーティングシステム100は、ソース装置110及びデスティネーション装置120を含み得る。ソース装置110は、符号化映像データを生成し、映像符号化装置として参照され得る。デスティネーション装置120は、ソース装置110によって生成された符号化映像データを復号することができ、映像復号装置として参照され得る。ソース装置110は、映像ソース112、ビデオエンコーダ114、及び入力/出力(I/O)インタフェース116を含み得る。
映像ソース112は、例えば、映像キャプチャ装置、映像コンテンツプロバイダから映像データを受信するインタフェース、及び/又は映像データを生成するコンピュータグラフィックスシステム、又はそのようなソースの組み合わせなどの、ソースを含み得る。映像データは、1つ以上のピクチャを有し得る。ビデオエンコーダ114は、映像ソース112からの映像データを符号化してビットストリームを生成する。ビットストリームは、映像データの符号化表現を形成する一連のビットを含み得る。ビットストリームは、符号化ピクチャ及び関連データを含み得る。符号化ピクチャはピクチャの符号化表現である。関連データは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含み得る。I/Oインタフェース116は、変調器/復調器(モデム)及び/又は送信器を含み得る。符号化映像データは、I/Oインタフェース116を介し、ネットワーク130aを通じて直接、デスティネーション装置120に伝送され得る。符号化映像データはまた、デスティネーション装置120によるアクセスのためにストレージ媒体/サーバ130b上に格納されてもよい。
デスティネーション装置120は、I/Oインタフェース126、ビデオデコーダ124、及び表示装置122を含み得る。
I/Oインタフェース126は、受信器及び/又はモデムを含み得る。I/Oインタフェース126は、ソース装置110又はストレージ媒体/サーバ130bから符号化映像データを取得し得る。ビデオデコーダ124は符号化映像データを復号し得る。表示装置122は、復号映像データをユーザに表示し得る。表示装置122は、デスティネーション装置120と一体化されてもよいし、あるいは、外部表示装置とインタフェースするように構成されたデスティネーション装置120の外部にあってもよい。
ビデオエンコーダ114及びビデオデコーダ124は、例えばハイエフィシェンシビデオコーディング(HEVC)標準、バーサタイルビデオコーディング(VVC)標準、及び他の現行の及び/又は将来の標準などの、映像圧縮標準に従って動作し得る。
図10は、図9に示したシステム100内のビデオエンコーダ114とし得るものであるビデオエンコーダ200の一例を示すブロック図である。
ビデオエンコーダ200は、この開示の技術のうちのいずれか又は全てを実行するように構成され得る。図10の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含んでいる。この開示に記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有され得る。一部の例において、プロセッサが、この開示に記載される技術のうちのいずれか又は全てを実行するように構成され得る。
ビデオエンコーダ200の機能コンポーネントは、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含み得る。
他の例において、ビデオエンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含んでいてもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在映像ブロックが位置するところのピクチャである、というIBCモードで予測を実行し得る。
また、例えば動き推定ユニット204及び動き補償ユニット205などの一部のコンポーネントは、図5の例では説明の目的で別々に表されているが、高度に集積されることができる。
分割ユニット201は、ピクチャを1つ以上の映像ブロックに分割し得る。ビデオエンコーダ200及びビデオデコーダ300は、様々な映像ブロックサイズをサポートし得る。
モード選択ユニット203は、例えば誤差結果に基づいて、イントラ又はインターである複数のコーティングモードのうちの1つを選択し、得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207と、参照ピクチャとしての使用のために符号化ブロックを再構成する再構成ユニット212とに提供し得る。一部の例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくものである組み合わせイントラ・インター予測(combination of intra and inter predication;CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックに対する動きベクトルの分解能(例えば、サブピクセル又は整数ピクセルの精度)を選択し得る。
現在映像ブロックに対してインター予測を実行するために、動き推定ユニット204が、バッファ213からの1つ以上の参照フレームを現在映像ブロックと比較することによって、現在映像ブロックについての動き情報を生成し得る。動き補償ユニット205が、現在映像ブロックに関連付けられたピクチャ以外の、バッファ213からのピクチャの動き情報及び復号サンプルに基づいて、現在映像ブロックについての予測映像ブロックを決定し得る。
動き推定ユニット204及び動き補償ユニット205は、例えば、現在映像ブロックがIスライス内にあるか、Pスライス内にあるか、それともBスライス内にあるかに応じて、現在映像ブロックに対して異なる演算を実行し得る。
一部の例において、動き推定ユニット204は、現在映像ブロックに対して片方向予測を実行することができ、動き推定ユニット204は、現在映像ブロックに対する参照映像ブロックについてリスト0又はリスト1の参照ピクチャを探索し得る。そして、動き推定ユニット204は、参照映像ブロックを含んだリスト0又はリスト1内の参照ピクチャを指し示す参照インデックスと、現在映像ブロックと参照映像ブロックとの間の空間変位を指し示す動きベクトルとを生成し得る。動き推定ユニット204は、現在映像ブロックの動き情報として、上記参照インデックスと、予測方向インジケータと、上記動きベクトルとを出力し得る。現在映像ブロックの動き情報によって示される参照映像ブロックに基づいて、動き補償ユニット205が現在ブロックの予測映像ブロックを生成し得る。
他の例において、動き推定ユニット204は、現在映像ブロックに対して双方向予測を実行することができ、動き推定ユニット204は、現在映像ブロックに対する参照映像ブロックについてリスト0内の参照ピクチャを探索し得るとともに、現在映像ブロックに対するもう1つの参照映像ブロックについてリスト1内の参照ピクチャも探索し得る。そして、動き推定ユニット204は、参照映像ブロックを含んだリスト0内の及びリスト1内の参照ピクチャを指し示す参照インデックスと、それら参照映像ブロックと現在映像ブロックとの間の空間変位を指し示す動きベクトルとを生成し得る。動き推定ユニット204は、現在映像ブロックの動き情報として、それら参照インデックスと、現在映像ブロックの上記動きベクトルとを出力し得る。現在映像ブロックの動き情報によって示される参照映像ブロックに基づいて、動き補償ユニット205が現在ブロックの予測映像ブロックを生成し得る。
一部の例において、動き推定ユニット204は、デコーダの復号処理のために、動き情報の完全なセットを出力し得る。
一部の例において、動き推定ユニット204は、現在映像についての動き情報の完全なセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して現在映像ブロックの動き情報をシグナリングしてもよい。例えば、動き推定ユニット204は、現在映像ブロックの動き情報が隣接映像ブロックの動き情報と十分に似ていると判定し得る。
一例において、動き推定ユニット204は、現在映像ブロックに関連付けられるシンタックス構造内で、現在映像ブロックが別の映像ブロックと同じ動き情報を持つことをビデオデコーダ300に示す値を指し示し得る。
他の一例において、動き推定ユニット204は、現在映像ブロックに関連付けられるシンタックス構造内で、別の映像ブロックと動きベクトル差(MVD)とを特定してもよい。動きベクトル差は、現在映像ブロックの動きベクトルと、指し示される映像ブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、指し示された映像ブロックの動きベクトルと動きベクトル差とを用いて、現在映像ブロックの動きベクトルを決定し得る。
上述のように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ200によって実装され得る予測的シグナリング技術の2つの例は、アドバンスト動きベクトル予測(AMVP)及びマージモードシグナリングを含む。
イントラ予測ユニット206は、現在映像ブロックに対してイントラ予測を実行し得る。イントラ予測ユニット206が現在映像ブロックに対してイントラ予測を実行するとき、イントラ予測ユニット206は、同じピクチャ内の他の映像ブロックの復号サンプルに基づいて、現在映像ブロックについての予測データを生成し得る。現在映像ブロックについての予測データは、予測映像ブロックと様々なシンタックス要素とを含み得る。
残差生成ユニット207は、現在映像ブロックの(1つ以上の)予測映像ブロックを現在映像ブロックから差し引くことによって(例えば、マイナス符号によって示される)、現在映像ブロックについての残差データを生成し得る。現在映像ブロックの残差データは、現在映像ブロック内のサンプルの異なるサンプル成分に対応する残差映像ブロックを含み得る。
他の例では、例えばスキップモードにおいて、現在映像ブロックのために現在映像ブロックについての残差データが存在しないことがあり、残差生成ユニット207は減算演算を実行しないことがある。
変換処理ユニット208は、現在映像ブロックに関連する残差映像ブロックに1つ以上の変換を適用することによって、現在映像ブロックについての1つ以上の変換係数映像ブロックを生成し得る。
変換処理ユニット208が現在映像ブロックに関する変換係数映像ブロックを生成した後、量子化ユニット209が、現在映像ブロックに関する変換係数映像ブロックを、現在映像ブロックに関する1つ以上の量子化パラメータ(QP)値に基づいて量子化し得る。
逆量子化ユニット210及び逆変換ユニット211が、変換係数映像ブロックに、それぞれ、逆量子化及び逆変換を適用して、変換係数映像ブロックから残差映像ブロックを再構成し得る。再構成ユニット212が、再構成された残差映像ブロックを、予測ユニット202によって生成された1つ以上の予測映像ブロックからの対応するサンプルに足し合わせて、バッファ213に記憶される現在ブロックに関する再構成映像ブロックを生成し得る。
再構成ユニット212が映像ブロックを再構成した後、映像ブロック内の映像ブロッキングアーチファクトを低減させるために、ループフィルタリング演算が実行され得る。
エントロピー符号化ユニット214が、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピー符号化ユニット214がデータを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化演算を実行してエントロピー符号化データを生成し、そして、エントロピー符号化データを含むビットストリームを出力し得る。
図11は、図9に示したシステム100内のビデオデコーダ124とし得るものであるビデオデコーダ300の一例を示すブロック図である。
ビデオデコーダ300は、この開示の技術のうちのいずれか又は全てを実行するように構成され得る。図11の例において、ビデオデコーダ300は、複数の機能コンポーネントを含んでいる。この開示に記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有され得る。一部の例において、プロセッサが、この開示に記載される技術のうちのいずれか又は全てを実行するように構成され得る。
図11の例において、ビデオデコーダ300は、エントロピー復号ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、再構成ユニット306、及びバッファ307を含んでいる。ビデオデコーダ300は、一部の例において、ビデオエンコーダ200(例えば、図10)に関して説明した符号化パスに対して概ね逆の復号パスを実行し得る。
エントロピー復号ユニット301が符号化ビットストリームを取り出し得る。符号化ビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化ブロック)を含み得る。エントロピー復号ユニット301はエントロピー符号化映像データを復号することができ、エントロピー復号された映像データから、動き補償ユニット302が、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他のモーション情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定し得る。
動き補償ユニット302は、場合により補間フィルタに基づく補間を実行して、動き補償ブロックを生成し得る。サブピクセル精度で使用される補間フィルタに関する識別子がシンタックス要素に含められ得る。
動き補償ユニット302は、映像ブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルに対する補間値を計算し得る。動き補償ユニット302は、ビデオエンコーダ200によって使用された補間フィルタを、受信したシンタックス情報に従って決定し、その補間フィルタを用いて予測ブロックを生成し得る。
動き補償ユニット302は、シンタックス情報の一部を用いて、符号化映像シーケンスのフレーム及び/又はスライスを符号化するのに使用されるブロックのサイズ、符号化映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述するパーティション情報、各パーティションがどのように符号化されるかを指し示すモード、各インター符号化ブロックに関する1つ又は複数の参照フレーム(及び参照フレームリスト)、及び符号化映像シーケンスを復号するための他の情報を決定し得る。
イントラ予測ユニット303は、例えばビットストリーム内で受信した、イントラ予測モードを用いて、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット303が、ビットストリーム内で提供されてエントロピー復号ユニット301によって復号された量子化された映像ブロック係数を逆量子化する、例えば、量子化解除する。逆変換ユニット303が逆変換を適用する。
再構成ユニット306が、残差ブロックを、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックと足し合わせて、復号ブロックを形成し得る。望まれる場合、ブロックアーチファクトを除去するために復号ブロックをフィルタリングするよう、デブロッキングフィルタも適用され得る。そして、復号映像ブロックがバッファ307に格納され、それが、後の動き補償/イントラ予測のための参照ブロックを提供し、また、ディスプレイ装置上での提示のために復号された映像を生成する。
図12-図17は、例えば、図1-図5に示した実施形態において上述した技術的ソリューションを実装することができる方法例を示している。
図12は、映像処理の方法例1200のフローチャートを示している。方法1200は、動作1210にて、1つ以上のスライスを有する1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームは、上記1つ以上の映像ピクチャのうち、全てのスライスがIスライスとしてコーディングされる映像ピクチャについて、該映像ピクチャに関するピクチャヘッダからPスライス及びBスライス関連のシンタックス要素が省略されることを規定するフォーマットルールに準拠する。
図13は、映像処理の方法例1300のフローチャートを示している。方法1300は、動作1310にて、1つ以上のスライスを有する1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームは、各映像ピクチャのピクチャヘッダが、該映像ピクチャ内の全てのスライスが同一のコーディングタイプでコーディングされるかを指し示すシンタックス要素を有することを規定するフォーマットルールに準拠する。
図14は、映像処理の方法例1400のフローチャートを示している。方法1400は、動作1410にて、1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームは、上記1つ以上の映像ピクチャの各々に対するピクチャヘッダが、そのピクチャを指し示すシンタックス要素を有することを規定するフォーマットルールに準拠する。
図15は、映像処理の方法例1500のフローチャートを示している。方法1500は、動作1510にて、1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームは、ピクチャのピクチャタイプを指し示すシンタックス要素が、アクセスユニット(AU)デリミターローバイトシーケンスペイロード(RBSP)内でシグナリングされることを規定するフォーマットルールに準拠し、シンタックス要素は、ピクチャ内の全てのスライスがIスライスであるかを指し示す。
図16は、映像処理の方法例1600のフローチャートを示している。方法1600は、動作1610にて、1つ以上の映像スライスを有する映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行することを含み、ビットストリームは、ピクチャ内の複数のスライスの各々がIスライスであるピクチャについて、スライスタイプのインジケーションが、符号化においてビットストリーム内の複数のスライスのスライスヘッダから除外されること、又は復号においてIスライスであると推定されること、を規定するフォーマットルールに準拠する。
図17は、映像処理の方法例1700のフローチャートを示している。方法1700は、動作1710にて、Wは、I、B、又はPであるとして、Wスライス又はWピクチャを有する映像と該映像のビットストリームとの間での変換のために、1つ以上の非W関連シンタックス要素がWスライスのスライスヘッダ又はWピクチャのピクチャヘッダ内でシグナリングされるかについての決定を行うことを含む。
方法1700は、動作1720にて、上記決定に基づいて上記変換を実行することを含む。
次に、一部の実施形態によって好まれるソリューションのリストを提供する。
1. 映像処理の方法であって、1つ以上のスライスを有する1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行するステップ、を有し、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、前記1つ以上の映像ピクチャのうち、全てのスライスがIスライスとしてコーディングされる映像ピクチャについて、該映像ピクチャに関するピクチャヘッダからPスライス及びBスライス関連のシンタックス要素が省略されることを規定する、方法。
2. 前記ビデオユニットの全てのスライスがIスライスであることを指し示す第1のシンタックス要素が、前記ピクチャヘッダ内でシグナリングされる、ソリューション1の方法。
3. 前記ビットストリーム内で第2のシンタックス要素をシグナリングするか否かが、前記第1のシンタックス要素に基づき、前記第2のシンタックス要素は、前記ピクチャヘッダに関連付けられるスライスのスライスヘッダ内のスライスタイプ情報を指し示すものである、ソリューション2の方法。
4. 前記第2のシンタックス要素は前記ビットストリームから除外され、あるスライスタイプであると推定される、ソリューション3の方法。
5. 前記第2のシンタックス要素は、前記ビットストリーム内でシグナリングされ、且つ適合要件に基づく複数の所定値のうちの1つに等しい、ソリューション3の方法。
6. 前記映像ユニットが全てIスライスを有することを指し示す第1のシンタックス要素が、前記Iスライスのうちの少なくとも1つに関連付けられるアクセスユニット(AU)デリミターローバイトシーケンスペイロード(RBSP)内でシグナリングされる、ソリューション3の方法。
7. 映像処理の方法であって、1つ以上のスライスを有する1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行するステップ、を有し、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、各映像ピクチャのピクチャヘッダが、該映像ピクチャ内の全てのスライスが同一のコーディングタイプでコーディングされるかを指し示すシンタックス要素を有することを規定する、方法。
8. 全てのスライスが、Iスライス、Pスライス、又はBスライスのいずれかとしてコーディングされる、ソリューション7の方法。
9. スライスに対するスライスヘッダがスライスタイプ情報を除外し、該スライスは、前記スライスが全てIスライスであることを前記ピクチャヘッダ内の前記シンタックス要素が指し示すことによって、Iスライスであると推定される、ソリューション7の方法。
10. 映像処理の方法であって、1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行するステップ、を有し、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、前記1つ以上の映像ピクチャの各々に対するピクチャヘッダが、そのピクチャを指し示すシンタックス要素を有することを規定する、方法。
11. 前記ピクチャ内の1つ以上のスライスのスライスタイプは、前記ピクチャがIピクチャであることを前記シンタックス要素が指し示すことによって、Iスライスを指し示すことのみを可能にされる、ソリューション10の方法。
12. 前記ピクチャ内の1つ以上のスライスのスライスタイプは、前記ピクチャが非Iピクチャであることを前記シンタックス要素が指し示すことによって、Iスライス及び/又はBスライス及び/又はPスライスを指し示す、ソリューション10の方法。
13. 映像処理の方法であって、1つ以上の映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行するステップ、を有し、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、ピクチャのピクチャタイプを指し示すシンタックス要素が、アクセスユニット(AU)デリミターローバイトシーケンスペイロード(RBSP)内でシグナリングされることを規定し、前記シンタックス要素は、前記ピクチャ内の全てのスライスがIスライスであるかを指し示す、方法。
14. 映像処理の方法であって、1つ以上の映像スライスを有する映像ピクチャを有する映像と、該映像のビットストリームとの間での変換を実行するステップ、を有し、前記ビットストリームはフォーマットルールに準拠し、前記フォーマットルールは、ピクチャ内の複数のスライスの各々がIスライスであるピクチャについて、スライスタイプのインジケーションが、符号化において前記ビットストリーム内の前記複数のスライスのスライスヘッダから除外されること、又は復号においてIスライスであると推定されること、を規定する、方法。
15. 前記ビットストリームは、前記ピクチャ内の前記複数のスライスの各々がIスライスであるように編成される、ソリューション14の方法。
16. 前記ビットストリームは、Bスライス又はPスライスが前記ピクチャに含まれないように編成される、ソリューション14の方法。
17. 映像処理の方法であって、Wは、I、B、又はPであるとして、Wスライス又はWピクチャを有する映像と該映像のビットストリームとの間での変換のために、1つ以上の非W関連シンタックス要素が前記Wスライスのスライスヘッダ又は前記Wピクチャのピクチャヘッダ内でシグナリングされるかについての決定を行うステップと、前記決定に基づいて前記変換を実行するステップと、を有する方法。
18. WはIであり、非WはB又はPである、ソリューション17の方法。
19. WはBであり、非WはI又はPである、ソリューション17の方法。
20. 前記ピクチャ内の全てのスライスがWスライスであることによって、前記1つ以上のシンタックス要素は前記ビットストリームから除外される、ソリューション17乃至19のいずれかの方法。
21. 前記ピクチャ内の全てのスライスがWスライスであることによって、前記1つ以上のシンタックス要素は前記ビットストリーム内で条件付きでシグナリングされる、ソリューション17乃至19のいずれかの方法。
22. 前記1つ以上のシンタックス要素は、前記ピクチャヘッダ内の参照ピクチャ関連シンタックス要素を有する、ソリューション17乃至21のいずれかの方法。
23. 前記1つ以上のシンタックス要素は、前記ピクチャヘッダ内のインタースライス関連シンタックス要素を有する、ソリューション17乃至21のいずれかの方法。
24. 前記1つ以上のシンタックス要素は、前記ピクチャヘッダ内のインター予測関連シンタックス要素を有する、ソリューション17乃至21のいずれかの方法。
25. 前記1つ以上のシンタックス要素は、前記ピクチャヘッダ内の双予測関連シンタックス要素を有する、ソリューション17乃至21のいずれかの方法。
26. 前記変換は、前記ビットストリームから前記映像を復号することを有する、ソリューション1乃至25のいずれかの方法。
27. 前記変換は、前記映像を前記ビットストリームへと符号化することを有する、ソリューション1乃至25のいずれかの方法。
28. 映像を表すビットストリームをコンピュータ読み取り可能記録媒体に書き込む方法であって、ソリューション1乃至25のいずれかの方法に従って映像からビットストリームを生成するステップと、前記ビットストリームをコンピュータ読み取り可能記録媒体に書き込むステップと、を有する方法。
29. ソリューション1乃至28のいずれかの方法を実行するように構成されたプロセッサを有する映像処理装置。
30. 命令を格納したコンピュータ読み取り可能媒体であって、前記命令は、実行されるときに、プロセッサにソリューション1乃至27のいずれかの方法を実行させる、コンピュータ読み取り可能媒体。
31. ソリューション1乃至28のいずれかの方法に従って生成されたビットストリームを格納したコンピュータ読み取り可能媒体。
32. ビットストリームを格納するための映像処理装置であって、ソリューション1乃至28のいずれかの方法を実行するように構成された映像処理装置。
本文書において、用語“映像処理”は、映像符号化、映像復号、映像圧縮、又は映像解凍を指し得る。例えば、映像圧縮アルゴリズムが、映像のピクセル表現から対応するビットストリームへの変換又はその逆の変換において適用され得る。現在映像ブロックのビットストリームは、例えば、シンタックスによって規定されるように、ビットストリーム内で一緒に置かれたビット又は複数の異なる場所に散らされたビットのいずれかに対応する。例えば、変換されコーディングされるエラー残差値に関して、ビットストリーム内のヘッダ及び他のフィールドの中のビットを用いて、マクロブロックを符号化し得る。
開示される及びその他のソリューション、この文書に記述される例、実施形態、モジュール及び機能動作は、この文書に開示されている構造及びそれらに構造的に均等なものを含め、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアにて、あるいはこれらのうちの1つ以上の組み合わせにて実施されることができる。開示される及びその他の実施形態は、1つ以上のコンピュータプログラムプロダクトとして実装されることができ、例えば、データ処理装置による実行のための、又はデータ処理装置の動作を制御するための、コンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を生じさせる物質の組成、又はそれらのうちの1つ以上の組み合わせとすることができる。用語“データ処理装置”は、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理するあらゆる装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードといった、問題としているコンピュータプログラムのための実行環境を作り出すコードを含むことができる。伝播される信号は、人工的に生成される信号であり、例えば、適切な受信器装置への伝送のために情報をエンコードするために生成される機械生成による電気信号、光信号、又は電磁信号である。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又はインタープリタ型の言語を含め、如何なる形態のプログラミング言語で記述されてもよく、また、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に格納されてもよいし、問題としているプログラムに専用の単一ファイルに格納されてもよいし、あるいは、複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を格納するファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開されてもよいし、あるいは、一箇所に配置された、又は複数箇所に分散されて通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開されてもよい。
この文書に記載されるプロセス及び論理フローは、入力データについて演算して出力を生成することによって機能を実行するよう、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されることができる。これらのプロセス及び論理フローはまた、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)といった専用の論理回路によって実行されることもでき、また、装置も、そのような専用の論理回路として実装されることができる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の双方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを格納する1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、磁気光ディスク、又は光ディスクといった、データを格納するための1つ以上の大容量ストレージ装置を含み、あるいは、大容量ストレージ装置からデータを受信したり、それにデータを転送したりするように動作的に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、例として、例えばEPROM、EEPROM、及びフラッシュメモリデバイスといった半導体メモリデバイス、例えば内部ハードディスク又はリムーバブルディスクといった磁気ディスク;光磁気ディスク;並びにCD ROM及びDVD-ROMディスクを含め、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって補われたり、それに組み込まれたりしてもよい。
この特許文書は数多くの詳細が含んでいるが、それらは、いずれかの主題又は特許請求され得るものの範囲についての限定として解釈されるべきでなく、むしろ、特定の技術の特定の実施形態に特有とし得る機構の説明として解釈されるべきである。別々の実施形態の文脈でこの特許文書に記載されている特定の複数の機構が、単一の実施形態にて組み合わせて実装されることもできる。逆に、単一の実施形態の文脈で説明されている種々の機構が、複数の実施形態にて別々に、又は何らかの好適なサブコンビネーションで実装されることもできる。さらには、複数の機構が、特定の組み合わせにて作用するものとして上述され、さらには当初はそのように特許請求されていることがあり得るが、場合によって、特許請求されている組み合わせからの1以上の機構を組み合わせから除くこともでき、また、特許請求されている組み合わせをサブコンビネーション又はサブコンビネーションのバリエーションへと導いてもよい。
同様に、図面には処理が特定の順序で示されるが、このことは、所望の結果を達成するために、それらの動作が図示される特定の順序で若しくは順番に実行されること、又は図示される全ての処理が実行されることを要求するものとして理解されるべきでない。また、この特許文書に記載されている実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とするものとして理解されるべきでない。
ほんの少しの実装及び例を記載したのみであり、この特許文書に記載及び図示されているものに基づいて、他の実装、拡張及び変形が行われ得る。
Claims (15)
- 映像処理の方法であって、
1つ以上の映像ピクチャを有する映像の第1の映像ピクチャと前記映像のビットストリームとの間での変換のために、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダに含められるinter_slice_allowedフラグの値を決定するステップと、
前記決定に基づいて前記変換を実行するステップと、
を有し、
前記inter_slice_allowedフラグの前記値が第1の値に等しいことに応答して、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダから1つ以上のシンタックス要素が省略され、
前記1つ以上のシンタックス要素は、前記第1の映像ピクチャに対する第1の予測モードの使用を規定する第1のシンタックス要素を有し、
前記第1の予測モードでは、シグナリングされる動きベクトルが、当該シグナリングされる動きベクトルに対してオフセットを有する少なくとも1つの動きベクトルに基づいて精緻化される、
方法。 - 前記inter_slice_allowedフラグの前記値が前記第1の値に等しくないとき、前記1つ以上のシンタックス要素はそれぞれ条件付きで前記ピクチャヘッダに含められる、請求項1に記載の方法。
- 前記1つ以上のシンタックス要素は更に、temporal_mvp_enabled_flag、mvd_l1_zero_flag、前記第1の映像ピクチャに対する第2の予測モードの使用を規定する第2のシンタックス要素、又は前記第1の映像ピクチャに対する第3の予測モードの使用を規定する第3のシンタックス要素のうちの少なくとも1つを有し、
前記第2の予測モードでは、前記第1の映像ピクチャ内の映像ブロックに対して、双方向オプティカルフローツールを用いて、該映像ブロックの参照ブロック内のサンプルに対応する少なくとも1つの勾配値に基づく動きベクトルオフセットを取得し、
前記第3の予測モードでは、前記第1の映像ピクチャ内の映像ブロックに対して、アフィンモードでコーディングされる該映像ブロックのサブブロックの当初予測サンプルが生成され、オプティカルフロー処理を適用して、動きベクトル差dMvH及び/又はdMvVに基づいて予測精緻化を導出することによって、前記サブブロックに対する最終予測サンプルを生成し、dMvH及びdMvVは、水平方向及び垂直方向に沿った動きベクトル差を指し示す、
請求項2に記載の方法。 - 前記1つ以上のシンタックス要素は更に、log2_diff_min_qt_min_cb_inter_slice、max_mtt_hierarchy_depth_inter_slice、log2_diff_max_bt_min_qt_inter_slice、又はlog2_diff_max_tt_min_qt_inter_sliceのうちの少なくとも1つを有する、請求項2に記載の方法。
- 前記ビットストリーム内の前記ピクチャヘッダと関連付けられたスライスのスライスヘッダにslice_typeシンタックス要素が含められるかどうかが、前記inter_slice_allowedフラグの前記値に基づき、前記slice_typeシンタックス要素は、前記スライスのスライスタイプを指し示し、且つ幾つかの所定の値のうちの1つの値を持つ、請求項1に記載の方法。
- 前記inter_slice_allowedフラグの前記値が前記第1の値に等しくない場合、前記ピクチャヘッダと関連付けられた全てのスライスについてのslice_typeシンタックス要素が前記ビットストリーム内に存在しない、請求項5に記載の方法。
- 前記slice_typeシンタックス要素が前記ビットストリーム内に存在しないとき、前記slice_typeシンタックス要素は、Iスライスを指し示す値を持つと推定される、請求項5に記載の方法。
- intra_slice_allowedフラグが条件付きで前記ピクチャヘッダに含められる、請求項1に記載の方法。
- 前記第1の映像ピクチャは1つ以上のタイルを有し、該1つ以上のタイルの最大タイル幅が、コーディングツリーブロックのユニットでの最大ルマタイル幅として定義され、該1つ以上のタイルの最大タイル高さが、コーディングツリーブロックのユニットでの最大ルマタイル高さとして定義される、請求項1に記載の方法。
- 前記第1の映像ピクチャは1つ以上のスライスを有し、該1つ以上のスライスの最大スライス高さが、コーディングツリーブロックのユニットで定義される、請求項1に記載の方法。
- 前記変換は、前記ビットストリームから前記映像を復号することを含む、請求項1に記載の方法。
- 前記変換は、前記映像を前記ビットストリームへと符号化することを含む、請求項1に記載の方法。
- プロセッサと、命令を有する非一時的なメモリと、を有する映像データを処理する装置であって、前記命令は、前記プロセッサによる実行を受けて、前記プロセッサに、
1つ以上の映像ピクチャを有する映像の第1の映像ピクチャと前記映像のビットストリームとの間での変換のために、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダに含められるinter_slice_allowedフラグの値を決定させ、
前記決定に基づいて前記変換を実行させ、
前記inter_slice_allowedフラグの前記値が第1の値に等しいことに応答して、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダから1つ以上のシンタックス要素が省略され、
前記1つ以上のシンタックス要素は、前記第1の映像ピクチャに対する第1の予測モードの使用を規定する第1のシンタックス要素を有し、
前記第1の予測モードでは、シグナリングされる動きベクトルが、当該シグナリングされる動きベクトルに対してオフセットを有する少なくとも1つの動きベクトルに基づいて精緻化される、
装置。 - 命令を格納した非一時的なコンピュータ読み取り可能記憶媒体であって、前記命令は、プロセッサに、
1つ以上の映像ピクチャを有する映像の第1の映像ピクチャと前記映像のビットストリームとの間での変換のために、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダに含められるinter_slice_allowedフラグの値を決定させ、
前記決定に基づいて前記変換を実行させ、
前記inter_slice_allowedフラグの前記値が第1の値に等しいことに応答して、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダから1つ以上のシンタックス要素が省略され、
前記1つ以上のシンタックス要素は、前記第1の映像ピクチャに対する第1の予測モードの使用を規定する第1のシンタックス要素を有し、
前記第1の予測モードでは、シグナリングされる動きベクトルが、当該シグナリングされる動きベクトルに対してオフセットを有する少なくとも1つの動きベクトルに基づいて精緻化される、
コンピュータ読み取り可能記憶媒体。 - 映像処理装置により実行される方法によって生成された映像のビットストリームを格納した非一時的なコンピュータ読み取り可能記録媒体であって、前記方法は、
1つ以上の映像ピクチャを有する映像の第1の映像ピクチャについて、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダに含められるinter_slice_allowedフラグの値を決定するステップと、
前記決定に基づいて前記ビットストリームを生成するステップと、
を有し、
前記inter_slice_allowedフラグの前記値が第1の値に等しいことに応答して、前記ビットストリーム内の前記第1の映像ピクチャのためのピクチャヘッダから1つ以上のシンタックス要素が省略され、
前記1つ以上のシンタックス要素は、前記第1の映像ピクチャに対する第1の予測モードの使用を規定する第1のシンタックス要素を有し、
前記第1の予測モードでは、シグナリングされる動きベクトルが、当該シグナリングされる動きベクトルに対してオフセットを有する少なくとも1つの動きベクトルに基づいて精緻化される、
コンピュータ読み取り可能記録媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019129069 | 2019-12-27 | ||
CNPCT/CN2019/129069 | 2019-12-27 | ||
PCT/CN2020/140044 WO2021129866A1 (en) | 2019-12-27 | 2020-12-28 | Signaling of slice types in video pictures headers |
JP2022539115A JP2023508427A (ja) | 2019-12-27 | 2020-12-28 | ビデオピクチャヘッダ内でのスライスタイプのシグナリング |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022539115A Division JP2023508427A (ja) | 2019-12-27 | 2020-12-28 | ビデオピクチャヘッダ内でのスライスタイプのシグナリング |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024060057A true JP2024060057A (ja) | 2024-05-01 |
Family
ID=76573740
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022539115A Pending JP2023508427A (ja) | 2019-12-27 | 2020-12-28 | ビデオピクチャヘッダ内でのスライスタイプのシグナリング |
JP2024038683A Pending JP2024060057A (ja) | 2019-12-27 | 2024-03-13 | ビデオピクチャヘッダ内でのスライスタイプのシグナリング |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022539115A Pending JP2023508427A (ja) | 2019-12-27 | 2020-12-28 | ビデオピクチャヘッダ内でのスライスタイプのシグナリング |
Country Status (8)
Country | Link |
---|---|
US (2) | US12015795B2 (ja) |
EP (1) | EP4066502A4 (ja) |
JP (2) | JP2023508427A (ja) |
KR (1) | KR20220113379A (ja) |
CN (1) | CN115152230A (ja) |
BR (1) | BR112022012807A2 (ja) |
MX (1) | MX2022007503A (ja) |
WO (1) | WO2021129866A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2022002916A (es) | 2019-09-19 | 2022-04-06 | Beijing Bytedance Network Tech Co Ltd | Derivacion de posiciones de muestra de referencia en codificacion de video. |
WO2021063419A1 (en) | 2019-10-05 | 2021-04-08 | Beijing Bytedance Network Technology Co., Ltd. | Downsampling filter type for chroma blending mask generation |
MX2022005366A (es) * | 2019-11-05 | 2022-06-23 | Lg Electronics Inc | Metodo y aparato de codificacion de imagenes/video con base en tipo de segmento. |
WO2021167340A1 (ko) * | 2020-02-17 | 2021-08-26 | 현대자동차주식회사 | 크로마 신호의 리샘플링에 기반하는 영상 부호화 및 복호화 |
US12008728B2 (en) * | 2022-08-31 | 2024-06-11 | Qualcomm Incorporated | Apparatuses and methods for processing single instruction for image transformation from non-integral locations |
Family Cites Families (151)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804403B1 (en) | 1998-07-15 | 2004-10-12 | Digital Accelerator Corporation | Region-based scalable image coding |
US7627037B2 (en) | 2004-02-27 | 2009-12-01 | Microsoft Corporation | Barbell lifting for multi-layer wavelet coding |
EP2041976A4 (en) | 2006-07-12 | 2012-06-20 | Nokia Corp | SIGNALING OF SCALABILITY INFORMATION FROM THE INTERESTING REGION IN MEDIA FILES |
KR101566564B1 (ko) | 2007-10-16 | 2015-11-05 | 톰슨 라이센싱 | 기하학적으로 분할된 수퍼 블록들의 비디오 인코딩 및 디코딩 방법 및 장치 |
CN101309409A (zh) * | 2008-02-22 | 2008-11-19 | 华为技术有限公司 | 一种解码方法和装置 |
CN107046644B (zh) | 2010-04-09 | 2020-03-24 | 三菱电机株式会社 | 运动图像编码装置以及运动图像解码装置 |
US20110310976A1 (en) | 2010-06-17 | 2011-12-22 | Qualcomm Incorporated | Joint Coding of Partition Information in Video Coding |
US9215473B2 (en) * | 2011-01-26 | 2015-12-15 | Qualcomm Incorporated | Sub-slices in video coding |
US9674521B2 (en) | 2011-06-28 | 2017-06-06 | Samsung Electronics Co., Ltd. | Prediction method and apparatus for chroma component of image using luma component of image |
CN103096047B (zh) | 2011-11-01 | 2018-06-19 | 中兴通讯股份有限公司 | 一种分片层参数集解码及编码方法和装置 |
US20130177084A1 (en) | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Motion vector scaling in video coding |
DK3177018T3 (en) * | 2012-01-17 | 2018-06-06 | Ericsson Telefon Ab L M | Managing reference image lists |
WO2013128010A2 (en) | 2012-03-02 | 2013-09-06 | Canon Kabushiki Kaisha | Method and devices for encoding a sequence of images into a scalable video bit-stream, and decoding a corresponding scalable video bit-stream |
CN104169971B (zh) | 2012-03-15 | 2020-08-25 | 英特尔公司 | 使用非线性缩放和自适应源块大小的分层运动估计 |
US20130259446A1 (en) | 2012-03-28 | 2013-10-03 | Nokia Corporation | Method and apparatus for user directed video editing |
PL2842313T3 (pl) * | 2012-04-13 | 2017-06-30 | Ge Video Compression, Llc | Skalowalny strumień danych i obiekt sieciowy |
US9357211B2 (en) | 2012-12-28 | 2016-05-31 | Qualcomm Incorporated | Device and method for scalable and multiview/3D coding of video information |
US9294777B2 (en) | 2012-12-30 | 2016-03-22 | Qualcomm Incorporated | Progressive refinement with temporal scalability support in video coding |
US8798165B2 (en) | 2013-01-04 | 2014-08-05 | Vidyo, Inc. | Techniques for prediction of unavailable samples in inter-layer predicted video coding |
CA2898970A1 (en) | 2013-03-05 | 2014-09-12 | Halliburton Energy Services, Inc. | System, method and computer program product for photometric system design and environmental ruggedization |
US9521425B2 (en) | 2013-03-19 | 2016-12-13 | Qualcomm Incorporated | Disparity vector derivation in 3D video coding for skip and direct modes |
US9998735B2 (en) | 2013-04-01 | 2018-06-12 | Qualcomm Incorporated | Inter-layer reference picture restriction for high level syntax-only scalable video coding |
WO2014162736A1 (en) | 2013-04-05 | 2014-10-09 | Sharp Kabushiki Kaisha | Video compression with color bit depth scaling |
US20140321560A1 (en) | 2013-04-08 | 2014-10-30 | Nokia Corporation | Method and technical equipment for video encoding and decoding |
US20140307803A1 (en) | 2013-04-08 | 2014-10-16 | Qualcomm Incorporated | Non-entropy encoded layer dependency information |
US9813723B2 (en) | 2013-05-03 | 2017-11-07 | Qualcomm Incorporated | Conditionally invoking a resampling process in SHVC |
KR20140138538A (ko) | 2013-05-24 | 2014-12-04 | 주식회사 케이티 | 복수의 레이어를 지원하는 비디오 코딩 방법 및 장치 |
US9432667B2 (en) | 2013-06-11 | 2016-08-30 | Qualcomm Incorporated | Processing bitstream constraints relating to inter-layer prediction types in multi-layer video coding |
US9578328B2 (en) | 2013-07-15 | 2017-02-21 | Qualcomm Incorporated | Cross-layer parallel processing and offset delay parameters for video coding |
US9667996B2 (en) | 2013-09-26 | 2017-05-30 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
US9762927B2 (en) | 2013-09-26 | 2017-09-12 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
US9906804B2 (en) | 2014-01-16 | 2018-02-27 | Qualcomm Incorporated | Reference layer sample position derivation for scalable video coding |
WO2015123806A1 (en) | 2014-02-18 | 2015-08-27 | Mediatek Singapore Pte. Ltd. | Methods for depth based block partitioning |
US20150264348A1 (en) | 2014-03-17 | 2015-09-17 | Qualcomm Incorporated | Dictionary coding of video content |
US10158884B2 (en) | 2014-03-19 | 2018-12-18 | Qualcomm Incorporated | Simplified merge list construction process for 3D-HEVC |
JP6367359B2 (ja) | 2014-03-27 | 2018-08-01 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 色空間を切り替えるときの量子化/スケーリング及び逆量子化/スケーリングの調整 |
US9641851B2 (en) | 2014-04-18 | 2017-05-02 | Qualcomm Incorporated | Conformance window information in multi-layer coding |
US9986251B2 (en) | 2014-05-01 | 2018-05-29 | Arris Enterprises Llc | Reference layer and scaled reference layer offsets for scalable video coding |
US10390087B2 (en) | 2014-05-01 | 2019-08-20 | Qualcomm Incorporated | Hypothetical reference decoder parameters for partitioning schemes in video coding |
US10142642B2 (en) | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
US20150373362A1 (en) | 2014-06-19 | 2015-12-24 | Qualcomm Incorporated | Deblocking filter design for intra block copy |
US9756355B2 (en) | 2014-06-20 | 2017-09-05 | Qualcomm Incorporated | Value ranges for syntax elements in video coding |
US10200700B2 (en) | 2014-06-20 | 2019-02-05 | Qualcomm Incorporated | Cross-component prediction in video coding |
US9930340B2 (en) | 2014-06-20 | 2018-03-27 | Qualcomm Incorporated | Systems and methods for selectively performing a bitstream conformance check |
US10306269B2 (en) | 2014-10-10 | 2019-05-28 | Qualcomm Incorporated | Operation point for carriage of layered HEVC bitstream |
US10148981B2 (en) | 2015-03-20 | 2018-12-04 | Mediatek Singapore Pte. Ltd. | Methods of palette coding with inter-prediction in video coding |
US10455249B2 (en) | 2015-03-20 | 2019-10-22 | Qualcomm Incorporated | Downsampling process for linear model prediction mode |
US9736335B2 (en) | 2015-04-15 | 2017-08-15 | Apple Inc. | Techniques for advanced chroma processing |
US10638140B2 (en) * | 2015-05-29 | 2020-04-28 | Qualcomm Incorporated | Slice level intra block copy and other video coding improvements |
WO2016200984A1 (en) | 2015-06-08 | 2016-12-15 | Vid Scale, Inc. | Intra block copy mode for screen content coding |
EP4404572A2 (en) | 2015-07-08 | 2024-07-24 | InterDigital Madison Patent Holdings, SAS | Enhanced chroma coding using cross plane filtering |
US20170150186A1 (en) | 2015-11-25 | 2017-05-25 | Qualcomm Incorporated | Flexible transform tree structure in video coding |
US9955186B2 (en) | 2016-01-11 | 2018-04-24 | Qualcomm Incorporated | Block size decision for video coding |
CN108781294B (zh) | 2016-02-05 | 2021-08-31 | 联发科技股份有限公司 | 视频数据的运动补偿方法及装置 |
US10397443B2 (en) | 2016-03-01 | 2019-08-27 | Qualcomm Incorporated | Methods and systems for generating color remapping information supplemental enhancement information messages for video |
US10455228B2 (en) | 2016-03-21 | 2019-10-22 | Qualcomm Incorporated | Determining prediction parameters for non-square blocks in video coding |
WO2017173593A1 (en) | 2016-04-06 | 2017-10-12 | Mediatek Singapore Pte. Ltd. | Separate coding secondary transform syntax elements for different color components |
WO2017188566A1 (ko) | 2016-04-25 | 2017-11-02 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측 방법 및 장치 |
WO2017190288A1 (en) | 2016-05-04 | 2017-11-09 | Microsoft Technology Licensing, Llc | Intra-picture prediction using non-adjacent reference lines of sample values |
EP3453174A1 (en) | 2016-05-06 | 2019-03-13 | VID SCALE, Inc. | Method and system for decoder-side intra mode derivation for block-based video coding |
US10484712B2 (en) | 2016-06-08 | 2019-11-19 | Qualcomm Incorporated | Implicit coding of reference line index used in intra prediction |
US10652575B2 (en) | 2016-09-15 | 2020-05-12 | Qualcomm Incorporated | Linear model chroma intra prediction for video coding |
US10382781B2 (en) | 2016-09-28 | 2019-08-13 | Qualcomm Incorporated | Interpolation filters for intra prediction in video coding |
EP3306938A1 (en) | 2016-10-05 | 2018-04-11 | Thomson Licensing | Method and apparatus for binary-tree split mode coding |
KR20180042098A (ko) | 2016-10-17 | 2018-04-25 | 에스케이텔레콤 주식회사 | 영상 부호화 또는 복호화하기 위한 장치 및 방법 |
KR20180043149A (ko) | 2016-10-19 | 2018-04-27 | 에스케이텔레콤 주식회사 | 영상 부호화 또는 복호화하기 위한 장치 및 방법 |
US20180192071A1 (en) | 2017-01-05 | 2018-07-05 | Mediatek Inc. | Decoder-side motion vector restoration for video coding |
US10715827B2 (en) | 2017-01-06 | 2020-07-14 | Mediatek Inc. | Multi-hypotheses merge mode |
US10701366B2 (en) | 2017-02-21 | 2020-06-30 | Qualcomm Incorporated | Deriving motion vector information at a video decoder |
US10523964B2 (en) | 2017-03-13 | 2019-12-31 | Qualcomm Incorporated | Inter prediction refinement based on bi-directional optical flow (BIO) |
US10362332B2 (en) | 2017-03-14 | 2019-07-23 | Google Llc | Multi-level compound prediction |
US10402689B1 (en) | 2017-04-04 | 2019-09-03 | Snap Inc. | Generating an image mask using machine learning |
US10805641B2 (en) | 2017-06-15 | 2020-10-13 | Qualcomm Incorporated | Intra filtering applied together with transform processing in video coding |
US10904565B2 (en) | 2017-06-23 | 2021-01-26 | Qualcomm Incorporated | Memory-bandwidth-efficient design for bi-directional optical flow (BIO) |
WO2019009618A1 (ko) | 2017-07-04 | 2019-01-10 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
GB2564466B (en) | 2017-07-13 | 2020-01-08 | Advanced Risc Mach Ltd | Storing YUV texture data in a cache in a graphics processing system |
US11290716B2 (en) | 2017-08-03 | 2022-03-29 | Sharp Kabushiki Kaisha | Systems and methods for partitioning video blocks in an inter prediction slice of video data |
CN107483934B (zh) | 2017-08-17 | 2019-12-10 | 西安万像电子科技有限公司 | 编解码方法、装置和系统 |
US10785494B2 (en) | 2017-10-11 | 2020-09-22 | Qualcomm Incorporated | Low-complexity design for FRUC |
US20190306502A1 (en) | 2018-04-02 | 2019-10-03 | Qualcomm Incorporated | System and method for improved adaptive loop filtering |
WO2019191890A1 (zh) | 2018-04-02 | 2019-10-10 | 深圳市大疆创新科技有限公司 | 用于图像处理的方法和图像处理装置 |
JP2021520710A (ja) | 2018-04-06 | 2021-08-19 | ヴィド スケール インコーポレイテッド | 簡易化された勾配導出による双方向オプティカルフロー方法 |
US10779002B2 (en) | 2018-04-17 | 2020-09-15 | Qualcomm Incorporated | Limitation of the MVP derivation based on decoder-side motion vector derivation |
CN108511625B (zh) | 2018-04-17 | 2020-03-06 | 京东方科技集团股份有限公司 | 一种封装盖板、显示装置 |
WO2019218286A1 (zh) * | 2018-05-16 | 2019-11-21 | 华为技术有限公司 | 一种视频编解码方法和装置 |
WO2019230670A1 (en) | 2018-05-31 | 2019-12-05 | Sharp Kabushiki Kaisha | Systems and methods for partitioning video blocks in an inter prediction slice of video data |
WO2019234578A1 (en) | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Asymmetric weighted bi-predictive merges |
KR20210029160A (ko) | 2018-06-27 | 2021-03-15 | 브이아이디 스케일, 인크. | 디코더측 모션 미세 조정의 코딩 지연을 줄이기 위한 방법 및 장치 |
WO2020009434A1 (ko) | 2018-07-02 | 2020-01-09 | 엘지전자 주식회사 | 이차 변환을 기반으로 비디오 신호를 처리하는 방법 및 장치 |
TWI719519B (zh) | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 對於dmvr的塊尺寸限制 |
TWI750494B (zh) | 2018-08-04 | 2021-12-21 | 大陸商北京字節跳動網絡技術有限公司 | 使用更新的運動信息的限制 |
TWI822863B (zh) | 2018-09-27 | 2023-11-21 | 美商Vid衡器股份有限公司 | 360度視訊寫碼樣本導出 |
CN112889287A (zh) | 2018-10-02 | 2021-06-01 | 交互数字Vc控股公司 | 广义双向预测和加权预测 |
WO2020070612A1 (en) | 2018-10-06 | 2020-04-09 | Beijing Bytedance Network Technology Co., Ltd. | Improvement for temporal gradient calculating in bio |
WO2020084473A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Multi- iteration motion vector refinement |
CN111083484B (zh) | 2018-10-22 | 2024-06-28 | 北京字节跳动网络技术有限公司 | 基于子块的预测 |
WO2020084462A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on decoder side motion vector derivation based on block size |
WO2020084461A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on decoder side motion vector derivation based on coding information |
WO2020094000A1 (en) | 2018-11-05 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Interpolation for inter prediction with refinement |
CN116208765A (zh) * | 2018-11-08 | 2023-06-02 | Oppo广东移动通信有限公司 | 视频信号编码/解码方法以及用于所述方法的设备 |
FI3878175T3 (fi) | 2018-11-08 | 2024-05-16 | Interdigital Vc Holdings Inc | Kvantisointi videokoodaukselle tai dekoodaukselle lohkon pinnalla |
WO2020103872A1 (en) | 2018-11-20 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Prediction refinement for combined inter intra prediction mode |
KR102625145B1 (ko) | 2018-12-17 | 2024-01-16 | 삼성전자주식회사 | 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치 |
CN113396582B (zh) | 2019-02-01 | 2024-03-08 | 北京字节跳动网络技术有限公司 | 环路整形和调色板模式之间的相互作用 |
WO2020156545A1 (en) | 2019-02-02 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Prediction using intra-buffer samples for intra block copy in video coding |
KR102662448B1 (ko) | 2019-02-02 | 2024-05-02 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 복사를 위한 버퍼내 데이터 저장 |
WO2020164544A1 (en) | 2019-02-13 | 2020-08-20 | Beijing Bytedance Network Technology Co., Ltd. | Updating of history based motion vector prediction tables |
CN113424533A (zh) | 2019-02-14 | 2021-09-21 | 北京字节跳动网络技术有限公司 | 复杂度降低的解码器侧运动推导 |
CN112425160B (zh) * | 2019-02-26 | 2023-05-12 | 苹果公司 | 用于对视频信号进行编码/解码的方法及其设备 |
JP7405861B2 (ja) | 2019-03-01 | 2023-12-26 | 北京字節跳動網絡技術有限公司 | 映像符号化におけるイントラブロックコピーのための方向に基づく予測 |
WO2020177682A1 (en) | 2019-03-03 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector management for decoder side motion vector refinement |
EP3915252A4 (en) | 2019-03-04 | 2022-03-23 | Beijing Bytedance Network Technology Co., Ltd. | IMPLEMENTATION OF ASPECTS IN AN INTRA BLOCK COPY IN VIDEO ENCODING |
US11889099B2 (en) | 2019-03-05 | 2024-01-30 | Hfi Innovation Inc. | Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems |
WO2020185879A1 (en) | 2019-03-11 | 2020-09-17 | Dolby Laboratories Licensing Corporation | Video coding using reference picture resampling supporting region of interest |
EP3939311A1 (en) | 2019-03-11 | 2022-01-19 | Vid Scale, Inc. | Methods and apparatus for sub-picture adaptive resolution change |
WO2020184991A1 (ko) | 2019-03-11 | 2020-09-17 | 엘지전자 주식회사 | Ibc 모드를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
KR20200109276A (ko) | 2019-03-12 | 2020-09-22 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
CN113661708B (zh) | 2019-04-02 | 2023-12-15 | 北京字节跳动网络技术有限公司 | 基于双向光流的视频编解码和解码 |
KR102610709B1 (ko) | 2019-04-02 | 2023-12-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 디코더 측 움직임 벡터 유도 |
KR102662024B1 (ko) | 2019-04-19 | 2024-05-21 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 상이한 모션 벡터 정제의 그레디언트 계산 |
CN113711608B (zh) | 2019-04-19 | 2023-09-01 | 北京字节跳动网络技术有限公司 | 利用光流的预测细化过程的适用性 |
CN113711609B (zh) | 2019-04-19 | 2023-12-01 | 北京字节跳动网络技术有限公司 | 利用光流的预测细化过程中的增量运动矢量 |
US11233988B2 (en) | 2019-05-17 | 2022-01-25 | Qualcomm Incorporated | Reference picture resampling and inter-coding tools for video coding |
US11134275B2 (en) | 2019-06-04 | 2021-09-28 | Tencent America LLC | Method and apparatus for performing primary transform based on filtering of blocks |
US11252410B2 (en) | 2019-06-11 | 2022-02-15 | Tencent America LLC | Method and apparatus for video coding |
CN117812270A (zh) | 2019-06-21 | 2024-04-02 | 华为技术有限公司 | 编码器、解码器及对应方法 |
US20220272378A1 (en) | 2019-06-23 | 2022-08-25 | Sharp Kabushiki Kaisha | Systems and methods for performing an adaptive resolution change in video coding |
JP2022543627A (ja) | 2019-08-06 | 2022-10-13 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 描画面サイズ拡張可能ビデオコーディング |
WO2021026363A1 (en) | 2019-08-06 | 2021-02-11 | Op Solutions, Llc | Implicit signaling of adaptive resolution management based on frame type |
KR20220088680A (ko) | 2019-08-06 | 2022-06-28 | 오피 솔루션즈, 엘엘씨 | 프레임 타입에 기반한 적응적 해상도 관리의 묵시적 시그널링 |
WO2021030019A1 (en) | 2019-08-15 | 2021-02-18 | Alibaba Group Holding Limited | Block partitioning methods for video coding |
US11659201B2 (en) | 2019-08-16 | 2023-05-23 | Qualcomm Incorporated | Systems and methods for generating scaling ratios and full resolution pictures |
US20220353536A1 (en) | 2019-08-22 | 2022-11-03 | Sharp Kabushiki Kaisha | Systems and methods for signaling picture information in video coding |
US11356684B2 (en) | 2019-08-30 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for signaling chroma quantization parameter table |
WO2021049551A1 (en) | 2019-09-11 | 2021-03-18 | Sharp Kabushiki Kaisha | Systems and methods for signaling subpicture information in video coding |
US11641475B2 (en) | 2019-09-12 | 2023-05-02 | Alibaba Group Holding Limited | Method and apparatus for encoding or decoding video |
CN114424543A (zh) | 2019-09-12 | 2022-04-29 | 阿里巴巴集团控股有限公司 | 用于发送视频编解码信息的方法和装置 |
US11303909B2 (en) | 2019-09-18 | 2022-04-12 | Qualcomm Incorporated | Scaling ratio and output full resolution picture in video coding |
JP7324940B2 (ja) | 2019-09-19 | 2023-08-10 | 北京字節跳動網絡技術有限公司 | ビデオコーディングにおけるスケーリングウインドウ |
MX2022002916A (es) | 2019-09-19 | 2022-04-06 | Beijing Bytedance Network Tech Co Ltd | Derivacion de posiciones de muestra de referencia en codificacion de video. |
JP7462740B2 (ja) | 2019-09-19 | 2024-04-05 | エルジー エレクトロニクス インコーポレイティド | Profを行う画像符号化/復号化方法、装置、及びビットストリームを伝送する方法 |
WO2021063419A1 (en) | 2019-10-05 | 2021-04-08 | Beijing Bytedance Network Technology Co., Ltd. | Downsampling filter type for chroma blending mask generation |
US20220394255A1 (en) | 2019-10-06 | 2022-12-08 | Hyundai Motor Company | Method and device for performing an inverse transform on transform coefficients of a current block |
WO2021068955A1 (en) | 2019-10-12 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Use and signaling of refining video coding tools |
MX2022004200A (es) | 2019-10-13 | 2022-05-02 | Beijing Bytedance Network Tech Co Ltd | Interaccion entre remuestreo de imagen de referencia y herramientas de codificacion de video. |
US11758193B2 (en) * | 2019-11-04 | 2023-09-12 | Hfi Innovation Inc. | Signaling high-level information in video and image coding |
EP4060993A4 (en) | 2019-11-11 | 2023-12-13 | LG Electronics Inc. | TRANSFORM-BASED IMAGE CODING METHOD AND ASSOCIATED DEVICE |
GB2590634A (en) * | 2019-12-20 | 2021-07-07 | Canon Kk | High Level syntax for video coding and decoding |
US20210195179A1 (en) * | 2019-12-23 | 2021-06-24 | Qualcomm Incorporated | Picture header signaling for video coding |
US11503342B2 (en) | 2020-06-10 | 2022-11-15 | Sharp Kabushiki Kaisha | Systems and methods for signaling sequence parameter information in video coding |
WO2022035687A1 (en) | 2020-08-13 | 2022-02-17 | Beijing Dajia Internet Information Technology Co., Ltd. | Chroma coding enhancement in cross-component sample adaptive offset |
-
2020
- 2020-12-28 WO PCT/CN2020/140044 patent/WO2021129866A1/en unknown
- 2020-12-28 MX MX2022007503A patent/MX2022007503A/es unknown
- 2020-12-28 BR BR112022012807A patent/BR112022012807A2/pt unknown
- 2020-12-28 CN CN202080090776.0A patent/CN115152230A/zh active Pending
- 2020-12-28 JP JP2022539115A patent/JP2023508427A/ja active Pending
- 2020-12-28 EP EP20906207.4A patent/EP4066502A4/en active Pending
- 2020-12-28 KR KR1020227018951A patent/KR20220113379A/ko active Search and Examination
-
2022
- 2022-06-24 US US17/849,293 patent/US12015795B2/en active Active
-
2023
- 2023-11-14 US US18/508,853 patent/US20240089483A1/en active Pending
-
2024
- 2024-03-13 JP JP2024038683A patent/JP2024060057A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20220113379A (ko) | 2022-08-12 |
WO2021129866A1 (en) | 2021-07-01 |
US12015795B2 (en) | 2024-06-18 |
JP2023508427A (ja) | 2023-03-02 |
CN115152230A (zh) | 2022-10-04 |
US20230046994A1 (en) | 2023-02-16 |
US20240089483A1 (en) | 2024-03-14 |
BR112022012807A2 (pt) | 2022-09-27 |
EP4066502A1 (en) | 2022-10-05 |
MX2022007503A (es) | 2022-07-04 |
EP4066502A4 (en) | 2023-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7414980B2 (ja) | 参照ピクチャリサンプリングと映像コーディングツールとの間の相互作用 | |
WO2021052490A1 (en) | Scaling window in video coding | |
JP7482218B2 (ja) | ビデオコーディングにおける予測タイプシグナリング | |
JP7391199B2 (ja) | 映像コーディングツールのレベルベースシグナリング | |
JP7328445B2 (ja) | ビデオコーディングにおける参照サンプル位置の導出 | |
WO2021129866A1 (en) | Signaling of slice types in video pictures headers | |
WO2021129867A1 (en) | Restricting tile width in video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240315 |