IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特許7307274仮想パイプラインデータユニットに基づいたイントラブロックコピー仮想バッファの設定
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-03
(45)【発行日】2023-07-11
(54)【発明の名称】仮想パイプラインデータユニットに基づいたイントラブロックコピー仮想バッファの設定
(51)【国際特許分類】
   H04N 19/105 20140101AFI20230704BHJP
   H04N 19/136 20140101ALI20230704BHJP
   H04N 19/176 20140101ALI20230704BHJP
   H04N 19/593 20140101ALI20230704BHJP
【FI】
H04N19/105
H04N19/136
H04N19/176
H04N19/593
【請求項の数】 12
(21)【出願番号】P 2022518189
(86)(22)【出願日】2020-09-23
(65)【公表番号】
(43)【公表日】2022-11-21
(86)【国際出願番号】 CN2020116959
(87)【国際公開番号】W WO2021057751
(87)【国際公開日】2021-04-01
【審査請求日】2022-03-28
(31)【優先権主張番号】PCT/CN2019/107380
(32)【優先日】2019-09-23
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュイ,ジィジォン
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】リュウ,ホンビン
【審査官】岩井 健二
(56)【参考文献】
【文献】Jingya Li, and Chong Soon Lim,CE8-related: IBC modifications,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-O0127-v3,15th Meeting: Gothenburg, SE,2019年07月,pp.1-11
【文献】Jizheng Xu, et al.,Bitstream conformance with a virtual IBC buffer concept,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O1170-v1,15th Meeting: Gothenburg, SE,2019年07月,pp.1-8
【文献】Han Gao, et al.,Bitstream conformance with a virtual IBC buffer concept,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O1171 -v1,15th Meeting: Gothenburg, SE,2019年07月,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのビットストリームとの間の変換のために、前記現在のビデオブロックの予測サンプルを導出するために予測モードが適用されることを決定するステップと、
前記予測モードに対して、前記ビデオピクチャの再構成されたブロックから導出された1つ以上の参照サンプルを含む仮想バッファを維持するステップと、
前記決定に基づき前記変換を実行するステップと
を有し、
前記予測モードにおいて、前記仮想バッファ内のブロックベクトルによって決定された参照サンプルが、前記予測サンプルの導出のために使用され、
前記仮想バッファがルーマバッファであるとき、前記仮想バッファ内の利用不可能な参照サンプルの位置は、前記現在のビデオブロックの位置に基づき決定され、
前記仮想バッファがクロマバッファであるとき、前記仮想バッファ内の前記参照サンプルは、利用不可能とマークされることを許可されず
前記仮想バッファ内の前記利用不可能な参照サンプルは、前記予測サンプルの導出のために許可されない、
方法。
【請求項2】
前記現在のビデオブロックが仮想ユニット内の第1ルーマブロックであり、前記仮想バッファが前記ルーマバッファであるとき、前記仮想ユニットに対応する前記仮想バッファ内の参照サンプルは、利用不可能とマークされる、
請求項1に記載の方法。
【請求項3】
仮想ユニットのサイズが前記現在のビデオブロックの幅以上であり、かつ、前記現在のビデオブロックの高さ以上であり、前記仮想バッファが前記ルーマバッファであるとき、前記仮想ユニットに対応する前記仮想バッファ内の参照サンプルは、利用不可能とマークされ、
前記仮想ユニットの前記サイズは、min(ctbSize,64)に等しく、ctbSizeは、前記ビデオピクチャのコーディングツリーブロックの幅又は高さを表す、
請求項1に記載の方法。
【請求項4】
仮想ユニットのサイズが前記現在のビデオブロックの幅よりも小さく、かつ、前記現在のビデオブロックの高さよりも小さく、前記仮想バッファが前記ルーマバッファであるとき、前記現在のビデオブロックに対応する前記仮想バッファ内の参照サンプルは、利用不可能とマークされ、
前記仮想ユニットの前記サイズは、min(ctbSize,64)に等しく、ctbSizeは、前記ビデオピクチャのコーディングツリーブロックの幅又は高さを表す、
請求項1に記載の方法。
【請求項5】
前記仮想バッファをリセットすることを指示するよう変数がセットされ、前記仮想バッファが前記ルーマバッファであるとき、前記仮想バッファはリセットされ、
前記仮想バッファが前記クロマバッファであるとき、前記仮想バッファは、リセットされることを許可されない、
請求項1乃至のうちいずれか一項に記載の方法。
【請求項6】
前記仮想バッファがリセットされるとき、前記仮想バッファ内の前記参照サンプルは、-1であるようリセットされる、
請求項に記載の方法。
【請求項7】
前記利用不可能な参照サンプルは、-1の値を有する、
請求項1乃至のうちいずれか一項に記載の方法。
【請求項8】
前記変換は、前記現在のビデオブロックを前記ビットストリームに符号化することを含む、
請求項1乃至のうちいずれかに記載の方法。
【請求項9】
前記変換は、前記ビットストリームから前記現在のビデオブロックを復号することを含む、
請求項1乃至のうちいずれかに記載の方法。
【請求項10】
ビデオデータを処理する装置であって、
プロセッサと、命令を有する非一時メモリとを有し、
前記命令は、前記プロセッサによる実行時に、前記プロセッサに、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのビットストリームとの間の変換のために、前記現在のビデオブロックの予測サンプルを導出するために予測モードが適用されることを決定するステップと、
前記予測モードに対して、前記ビデオピクチャの再構成されたブロックから導出された1つ以上の参照サンプルを含む仮想バッファを維持するステップと、
前記決定に基づき前記変換を実行するステップと
を実行させ、
前記予測モードにおいて、前記仮想バッファ内のブロックベクトルによって決定された参照サンプルが、前記予測サンプルの導出のために使用され、
前記仮想バッファがルーマバッファであるとき、前記仮想バッファ内の利用不可能な参照サンプルの位置は、前記現在のビデオブロックの位置に基づき決定され、
前記仮想バッファがクロマバッファであるとき、前記仮想バッファ内の前記参照サンプルは、利用不可能とマークされることを許可されず
前記仮想バッファ内の前記利用不可能な参照サンプルは、前記予測サンプルの導出のために許可されない、
装置。
【請求項11】
プロセッサに、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのビットストリームとの間の変換のために、前記現在のビデオブロックの予測サンプルを導出するために予測モードが適用されることを決定するステップと、
前記予測モードに対して、前記ビデオピクチャの再構成されたブロックから導出された1つ以上の参照サンプルを含む仮想バッファを維持するステップと、
前記決定に基づき前記変換を実行するステップと
を実行させ、
前記予測モードにおいて、前記仮想バッファ内のブロックベクトルによって決定された参照サンプルが、前記予測サンプルの導出のために使用され、
前記仮想バッファがルーマバッファであるとき、前記仮想バッファ内の利用不可能な参照サンプルの位置は、前記現在のビデオブロックの位置に基づき決定され、
前記仮想バッファがクロマバッファであるとき、前記仮想バッファ内の前記参照サンプルは、利用不可能とマークされることを許可されず
前記仮想バッファ内の前記利用不可能な参照サンプルは、前記予測サンプルの導出のために許可されない、
命令を記憶している非一時的なコンピュータ可読記憶媒体。
【請求項12】
デオのビットストリームを記憶する方法であって、
デオのビデオピクチャの現在のビデオブロックについて、前記現在のビデオブロックの予測サンプルを導出するために予測モードが適用されることを決定するステップと、
前記予測モードに対して、前記ビデオピクチャの再構成されたブロックから導出された1つ以上の参照サンプルを含む仮想バッファを維持するステップと、
前記決定に基づき前記ビットストリームを生成するステップと
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと
を有し、
前記予測モードにおいて、前記仮想バッファ内のブロックベクトルによって決定された参照サンプルが、前記予測サンプルの導出のために使用され、
前記仮想バッファがルーマバッファであるとき、前記仮想バッファ内の利用不可能な参照サンプルの位置は、前記現在のビデオブロックの位置に基づき決定され、
前記仮想バッファがクロマバッファであるとき、前記仮想バッファ内の前記参照サンプルは、利用不可能とマークされることを許可されず
前記仮想バッファ内の前記利用不可能な参照サンプルは、前記予測サンプルの導出のために許可されない、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本特許文献は、ビデオ符号化及び復号化技術、デバイス、及びシステムに関係がある。
【背景技術】
【0002】
ビデオ圧縮の進歩にかかわらず、デジタルビデオは、依然として、インターネット及び他のデジタル通信ネットワーク上での最大のバンド幅使用を占めている。ビデオを受信し表示することができるユーザデバイスの接続数が増えるにつれて、デジタルビデオ利用のためのバンド幅需要は増え続けることが予想される。
【発明の概要】
【0003】
デバイス、システム及び方法は、デジタルビデオ符号化及び復号化に関係があり、具体的には、イントラブロックコピー(Intra Block Copy,IBC)のための全般的な仮想バッファ(virtual buffers)に関係がある。記載される方法は、既存のビデオコーディング標準規格(例えば、High Efficiency Video Coding(HEVC))及び将来のビデオコーディング標準規格又はビデオコーデックの両方に適用されてよい。
【0004】
1つの代表的な態様では、開示されている技術は、ビデオ処理の方法を提供するために使用されてよい。この方法は、ビデオのビデオピクチャの現在のビデオブロックと、ビデオのコーディングされた表現との間の変換のために、ルールに従って、現在のビデオブロックを予測するために使用されるビデオピクチャの参照領域の参照サンプル値をリセットすべきかどうか又はどのようにリセットすべきかを決定するステップと、決定に基づき変換を実行するステップとを含む。
【0005】
他の例となる態様では、ビデオ処理の方法が開示される。方法は、ルーマブロック及び対応する1つ以上のクロマブロックを含むビデオのビデオピクチャの現在のビデオ領域と、ビデオのコーディングされた表現との間の変換のために、1つ以上のクロマブロックの位置から独立しているルールに基づき、現在のビデオ領域を予測するために使用されるビデオピクチャの参照領域の1つ以上の参照サンプルを利用不可としてマークすべきかどうか及び/又はどのようにマークすべきかを決定するステップと、決定に基づき変換を実行するステップとを含む。
【0006】
更なる他の態様では、ビデオ処理の他の方法が開示される。方法は、ビデオのビデオピクチャの現在のビデオブロックと、ビデオのコーディングされた表現との間の変換のために、最も最近に処理された仮想パイプラインデータユニット(virtual pipeline data unit,VPDU)の位置及びVPDUのサイズに依存するルールに基づき、現在のビデオブロックを予測するために使用されるビデオピクチャの参照領域の1つ以上の参照サンプルにマークすべきかどうか及び/又はどのようにマークすべきかを決定するステップと、決定に基づき変換を実行するステップとを含む。
【0007】
他の例となる態様では、ビデオ処理の方法が開示される。方法は、ビデオのビデオピクチャの現在のビデオブロックと、ビデオのコーディングされた表現との間の変換のために、ルールに従って、現在のビデオブロックを予測するために使用されるブロックベクトルに対する制約を決定するステップと、決定に基づき変換を実行するステップとを含み、ブロックベクトルは、現在のビデオブロックと、現在のビデオブロックを予測的にコーディングするために使用されるビデオピクチャ内の参照領域との間の変位を示し、ルールは、ビデオピクチャのコーディングツリーユニット(Coding Tree Unit,CTU)行を横断するブロックベクトルが許されないことを定める。
【0008】
他の例となる態様では、ビデオ処理の方法が開示される。方法は、ビデオのビデオピクチャの現在のビデオブロックと、ビデオのコーディングされた表現との間の変換のために、ルールに基づき、ビデオピクチャのコーディングツリーユニット(CTU)行にわたって他のブロックとともに現在のビデオブロックのエッジの少なくとも一部のサンプルにデブロッキングフィルタを適用すべきかどうかを決定するステップと、決定に基づき変換を実行するステップとを含み、現在のビデオブロックは、現在のビデオブロックの予測が現在のビデオブロックのビデオスライスからのサンプル値に基づき導出されるイントラブロックコピー(IBC)モードを用いてコーディングされる。
【0009】
他の例となる態様では、ビデオ処理の方法が開示される。方法は、ビデオのビデオピクチャの現在のビデオブロックと、ビデオのコーディングされた表現との間の変換のために、ルールに従って、ビデオピクチャの第1サブピクチャ又は第2サブピクチャのうちの少なくとも1つを用いて現在のビデオブロックのための予測ブロックを生成するサブピクチャ予測の適用可能性を決定するステップと、決定に基づき変換を実行するステップとを含む。
【0010】
他の例となる態様では、ビデオ処理の方法が開示される。方法は、ルールに従って、ビデオのクロマ成分の現在のビデオブロックと、ビデオのコーディングされた表現との間の変換を実行するステップを含み、ルールは、変換に使用されるクロマ量子化パラメータ(Quantization Parameter,QP)テーブルの最小インデックスがクロマ成分のサンプルのビットデプスから独立していることを定める。
【0011】
更なる他の代表的な態様では、上記の方法は、プロセッサ実行可能コードの形で具現され、コンピュータ可読プログラム媒体に記憶される。
【0012】
更なる他の代表的な態様では、上記の方法を実行するよう構成される又はそのように動作可能であるデバイスが開示される。デバイスは、この方法を実装するようプログラムされているプロセッサを含んでよい。
【0013】
更なる他の代表的な態様では、ビデオデコーダ装置が、本明細書で記載される方法を実装してもよい。
【0014】
開示されている技術の上記及び他の態様及び特徴は、図面、明細書、及び特許請求の範囲で更に詳細に記載される。
【図面の簡単な説明】
【0015】
図1】現在ピクチャ参照の例を示す。
図2】JVET-M0407における動的参照エリアの例を示す。
図3】リシェーピングを含む復号化フローのフローチャートを示す。
図4A】ビデオ処理方法の例のフローチャートを示す。
図4B】ビデオ処理方法の例のフローチャートを示す。
図4C】ビデオ処理方法の例のフローチャートを示す。
図5】本明細書で記載される視覚媒体復号化又は視覚媒体符号化技術を実装するハードウェアプラットフォームの例のブロック図である。
図6】VPDU列及びVPDU行を横断する参照ブロックの例を示す。
図7】開示される技術が実装され得るビデオ処理システムの例のブロック図である。
図8】ビデオコーディングシステムの例を表すブロック図である。
図9】本開示のいくつかの実施形態に従うエンコーダを表すブロック図である。
図10】本開示のいくつかの実施形態に従うデコーダを表すブロック図である。
図11A】開示される技術のいくつかの実施に基づいたビデオ処理方法のフローチャートの例を示す。
図11B】開示される技術のいくつかの実施に基づいたビデオ処理方法のフローチャートの例を示す。
図11C】開示される技術のいくつかの実施に基づいたビデオ処理方法のフローチャートの例を示す。
図11D】開示される技術のいくつかの実施に基づいたビデオ処理方法のフローチャートの例を示す。
図11E】開示される技術のいくつかの実施に基づいたビデオ処理方法のフローチャートの例を示す。
図11F】開示される技術のいくつかの実施に基づいたビデオ処理方法のフローチャートの例を示す。
図11G】開示される技術のいくつかの実施に基づいたビデオ処理方法のフローチャートの例を示す。
【発明を実施するための形態】
【0016】
開示されている技術の実施形態は、圧縮性能を改善するために既存のビデオコーディング標準規格(例えば、HEVC、H.265)及び将来の標準規格に適用され得る。セクション見出しは、記載の読みやすさを改善するために本明細書で使用されており、開示又は実施形態(及び/又は実施)を各々のセクションにのみ限定するものでは決してない。
【0017】
[2 ビデオコーディングの導入]
より高い解像度のビデオに対する需要の高まりにより、ビデオコーディング方法及び技術は、最新の技術において遍在している。ビデオコーデックは、通常、デジタルビデオを圧縮又は圧縮解除する電子回路又はソフトウェアを含み、より高いコーディング効率をもたらすよう改善され続けている。ビデオコーデックは、圧縮されていないビデオを圧縮された形式へ変換し、あるいは、その逆も同様である。ビデオ品質と、ビデオを表すために使用されるデータの量(ビットレートによって決定される。)と、符号化及び復号化アルゴリズムの複雑さと、データ損失及びエラーに対する敏感さと、編集の容易さと、ランダムアクセスと、エンド間遅延(レイテンシ)との間には、複雑な関係が存在している。圧縮された形式は、通常、標準のビデオ圧縮規格、例えば、High Efficiency Video Coding(HEVC)標準規格(H.265又はMPEG-H Part2としても知られている。)、最終決定されるべきVersatil Video Coding(VVC)標準規格、あるいは、他の現在及び/又は将来のビデオコーディング標準規格に従う。
【0018】
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 Advanced Video Coding(AVC)及びH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、Joint Video Exploration Team(JVET)が2015年にVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい手法がJVETによって採用され、Joint Exploration Model(JEM)と呼ばれる参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間で、Joint Video Expert Team(JVET)が、HEVCと比較して50%のビットレート低減を目標とするVVC標準規格を検討するために作られた。
【0019】
[2.1 HEVC/H.265におけるインター予測]
各インター予測されたPUは、1つ又は2つの参照ピクチャリストのための動きパラメータを有している。動きパラメータは、動きベクトル及び参照ピクチャインデックスを含む。2つの参照ピクチャリストのうちの一方の利用はまた、inter_pred_idcを用いて通知されてもよい。動きベクトルは、予測子に対するデルタとして明示的にコーディングされてよい。
【0020】
CUがスキップモードによりコーディングされている場合に、1つのPUがそのCUと関連付けられ、有意な残差係数も、コーディングされた動きベクトルデルタ又は参照ピクチャインデックスも存在しない。マージモードが指定され、これによって、現在のPUのための動きパラメータは、空間的候補及び時間的候補を含む隣接PUから取得される。マージモードは、スキップモードの場合だけでなく、如何なるインター予測されたPUにも適用可能である。マージモードに代わるものは、動きパラメータの明示的な伝送であり、このとき、動きベクトル(より厳密には、動きベクトル予測子と比較した動きベクトル差分(Motion Vector Differences,MVD))、参照ピクチャリストごとの対応する参照ピクチャインデックス、及び参照ピクチャリスト利用が、各PUごとに明示的に通知される。かようなモードは、本明細書ではAdvanced Motion Vector Prediction(AMVP)と称される。
【0021】
2つの参照ピクチャリストのうちの一方が使用されるべきであることが通知により示される場合に、PUはサンプルの1つのブロックから生成される。これは、「片予測」(uni-prediction)と呼ばれる。片予測は、Pスライス及びBスライスの両方に利用可能である。
【0022】
両方の参照ピクチャリストが使用されるべきであることを通知により示される場合に、PUはサンプルの2つのブロックから生成される。これは、「双予測」(bi-prediction)と呼ばれる。双予測は、Bスライスにのみ利用可能である。
【0023】
以下の説明は、HEVCで定められているインター予測モードに関する詳細を提供する。説明は、マージモードから始まる。
【0024】
[2.2 現在ピクチャ参照]
現在ピクチャ参照(Current Picture Referencing,CPR)又はかつては、イントラブロックコピー(IBC)と名付けられたものは、HEVCスクリーンコンテンツコーディング拡張(Screen Content Coding extensions)(HEVC-SCC)及び現在のVVCテストモデル(VTM-3.0)で採用されている。IBCは、インターフレームコーディングからイントラフレームコーディングへ動き補償の概念を広げる。図1に示されるように、現在のブロックは、CPRが適用される場合に、同じピクチャ内の参照ブロックによって予測される。参照ブロック内のサンプルは、現在のブロックが符号化又は復号化される前に、予め再構成されていなければならない。CPRは、カメラによって捕捉されたシーケンスのほとんどにとってそれほど効率的ではないが、スクリーンコンテンツにとっては十分なコーディングゲインを示す。その理由は、スクリーンコンテンツピクチャにはアイコン及びテキスト文字などの繰り返しパターンが多数存在するからである。CPRは、これらの繰り返しパターンの間の冗長性を有効に取り除くことができる。HEVC-SCCでは、インターコーディングされたコーディングユニット(Coding Unit,CU)は、現在のピクチャをその参照ピクチャとして選択する場合にCPRを適用することができる。MVは、この場合にブロックベクトル(Block Vector,BV)と呼ばれ、BVは常に、整数ピクセル精度を有している。メインプロファイルHEVCと互換性を持たせるために、現在のピクチャは、復号化ピクチャバッファ(Decoded Picture Buffer)において「長期(long-term)」参照ピクチャとしてマークされる。留意されるべきは、同様に、多重ビュー/3Dコーディング標準規格において、インタービュー参照ピクチャも「長期」参照ピクチャとしてマークされることである。
【0025】
BVに従ってその参照ブロックを見つけることで、予測は、参照ブロックをコピーすることによって生成され得る。残差は、原信号から参照ピクセルを減じることによって求められ得る。次いで、変換及び量子化が、他のコーディングモードで見られるように適用され得る。
【0026】
しかし、参照ブロックがピクチャの外にあるか、あるいは、現在のブロックと重なり合うか、あるいは、再構成されたエリアの外にあるか、あるいは、いくつかの制約によって制限された有効エリアの外にあるとき、一部又は全てのピクセル値は定義されない。基本的に、そのような問題を扱う2つの解決法がある。1つは、例えば、ビットストリームコンフォーマンス(bitstream conformance)において、そのような状況を許さないことである。もう1つは、それらの未定義ピクセル値にパディングを適用することである。続くサブセッションは、解決法について詳細に記載する。
【0027】
[2.3 HEVCスクリーンコンテンツコーディング拡張におけるCPR]
HEVCのスクリーンコンテンツコーディング拡張において、ブロックが現在のピクチャを参照として使用する場合に、それは、次の仕様テキストで示されるように、参照ブロック全体が利用可能な再構成されたエリア内にあることを保証すべきである:
【表1】
【0028】
よって、参照ブロックが現在のブロックと重なり合うか、又は参照ブロックがピクチャの外にある場合は、起こらない。参照又は予測ブロックをパディングする必要がない。
【0029】
[2.4 VVCテストモデルにおけるCPR/IBC]
現在のVVCテストモデル、つまり、VTM-3.0設計において、参照ブロック全体は、現在のコーディングツリーユニット(CTU)と一致すべきであり、現在のブロックと重なり合わない。よって、参照又は予測ブロックをパディングする必要がない。
【0030】
デュアルツリー(dual tree)が有効にされるとき、パーティション構造は、ルーマCTからクロマCTUまで異なる場合がある。従って、4:2:0カラーフォーマットについて、1つのクロマブロック(例えば、CU)は、複数のルーマCUに分割されている1つの同一位置(collocated)ルーマ領域に対応し得る。
【0031】
クロマブロックは、次の条件が真でなければならないときに、CPRモードでのみコーディングされ得る:
(1)同一位置ルーマブロック内のルーマCUの夫々は、CPRモードでコーディングされるべきである;
(2)ルーマ4×4ブロックのBVの夫々が、最初に、クロマブロックのBVに変換され、クロマブロックのBVは、有効なBVである。
【0032】
2つの条件のうちのいずれかが偽である場合には、クロマブロックはCPRモードでコーディングされるべきではない。
【0033】
「有効なBV」の定義は、次の制約を有することが留意される:
(1)BVによって識別される参照ブロック内の全てのサンプルは、制限された探索範囲内にあるべきである(例えば、現在のVVC設計における同じCTU内にあるべきである);
(2)BVによって識別される参照ブロック内の全てのサンプルは、再構成されている。
【0034】
[2.5 JVET-L0297/JVET-M0407/JVET-M0408におけるCPR/IBC]
VTM-3.0において、CPR/IBCの参照エリアは、最大128×128までである現在CTUに制限される。JVET-L0297/JVET-M0407/JVET-M0408は、メモリを再利用してCPR/IBCのための参照サンプルを記憶するために参照エリアを動的に変更する方法を提示し、それにより、CPR/IBCブロックは、更なる参照候補を有することができ、一方、CPR/IBCのための参照バッファは、1CTUから保持又は削減され得る。
【0035】
図2は、ブロックが64×64であって、CTUが4つの64×64ブロックを含むところの方法を示す。64×64ブロックをコーディングするとき、前の3つの64×64ブロックが参照として使用され得る。そうすることによって、デコーダは、CPR/IBCをサポートするために4つの64×64ブロックを記憶しさえすればよい。上記の方法は、VTM-4.0で採用された。
【0036】
ピクチャの左上隅に対する現在のルーマCUの位置が(x,y)であり、ブロックベクトルが(Bvx,BVy)であるとする。現在の設計では、BVが有効であるかどうかは、ルーマ位置((x+BVx)>>6<<6+(1<<7),(y+BVy)>>6<<6)が再構成されておらず、かつ、((x+BVx)>>6<<6+(1<<7),(y+BVy)>>6<<6)が(x>>6<<6,y>>6<<6)に等しくないことによって、見分けられ得る。
【0037】
[2.6 JVET-O1170で提案されている仮想IBCバッファ]
仮想バッファ概念は、IBC予測モードのための参照領域を記述することを助けるために導入される。CTUサイズがctbSizeである場合に、wIbcBuf=128×128/ctbSizeと表記し、wIbcBufである幅及びctbSizeである高さで仮想IBCバッファibcBufを定義する。よって、
- CTUサイズが128×128である場合に、ibcBufのサイズも128×128である;
- CTUサイズが64×64である場合に、ibcBufのサイズは256×64である;
- CTUサイズが32×32である場合に、ibcBufのサイズは512×32である。
【0038】
VPDUの幅及び高さは、min(ctbSize,64)であることが留意される。Wv=min(ctbSize,64)と表記する。
【0039】
仮想IBCバッファibcBufは、次のように保持される:
(1)各CTU行の復号化の初めに、値(-1)でibcBuf全体をリフレッシュする;
(2)ピクチャの左上隅に対するVPDU(xVPDU,yVPDU)の復号化の初めに、x=xVPDU%wIbcBuf,・・・,xVPDU%wIbcBuf+Wv-1;y=yVPDU%ctbSize,・・・,yVPDU%ctbSize+Wv-1で、ibcBuf[x][y]=-1をセットする;
(3)ピクチャの左上に対する(x,y)を含むCUを復号した後、ibcBuf[x%wIbcBut][y%ctbSize]=recSample[x][y]をセットする。
【0040】
故に、ビットストリーム制約は、単に:
ビットストリームコンフォーマンスの要件は、BVについて、ibcBuf[(x+bv[0])%wIbcBuf][(y+bv[1])%ctbSize]が-1に等しくてはならないことである
と記載され得る。
【0041】
IBC参照バッファの概念により、それはまた、サブブロックプロセスを含むインター補間及び動き補償プロセスへの参照を回避することによって、復号化プロセスについてのテキストを簡単にする。
【0042】
[2.7 VPDU]
仮想パイプラインデータユニット(VPDU)は、ピクチャ内の重なり合わないユニットとして定義される。ハードウェアデコーダにおいて、連続するVPDUは、同時に複数のパイプライン段によって処理される。VPDUサイズは、ほとんどのパイプライン段でバッファサイズにおおよそ比例するので、VPDUサイズを小さく保つことが重要である。ほとんどのハードウェアでコーダにおいて、VPDUサイズは最大変換ブロック(Transform Block,TB)サイズにセットされ得る。しかし、VVCでは、三分木(Ternary Tree,TT)及び二分木(Binary Tree)パーティションがVPDUサイズの増大を生じさせることがある。
【0043】
VPDUサイズを64×64ルーマサンプルとして保つために、次の規範的なパーティション制限(シンタックス通知変更を伴う。)がVTM-5.0では適用される:
- TT分割は、幅若しくは高さ又は幅及び高さの両方が128に等しいCUについては許可されない;
- N≦64として128×Nの(つまり、幅が128に等しく、高さが128よりも小さい)CUについては、水平BTは許されない;
- N≦64としてN×128の(つまり、高さが128に等しく、幅が128よりも小さい)CUについては、垂直BTは許されない。
【0044】
VVCにおいて、一般的に、VPDUの幅及び高さは、ルーマサンプルでのmin(64,CtbSizeY)であることが同意されている。故に、CTB/CTUサイズが64×64、128×128、又は256×256である場合に、VPDUサイズは64×64である。CTB/CTUサイズが32×32である場合に、VPDUサイズは32×32である。
【0045】
[2.8 イントラブロックコピーのためのバッファ管理及びブロックベクトルコーディング]
様々なIBCバッファ特徴及びその対応する管理についての詳細は、参照により本願に援用される国際出願第PCT/CN2019/093552号で記載されている。
【0046】
[2.9 JVET-M0427におけるインループリシェーピング(ILR)]
インループリシェーピング(In-Loop Reshaping,ILR)の基本的な考えは、原(第1領域にある)信号(予測/再構成信号)を第2領域(再成形された領域)に変換することである。
【0047】
インループルーマリシェーパは、ルックアップテーブル(LUT)の対として実装されるが、2つのLTUのうちの一方のみが通知されればよく、他方は、通知されたLUTから計算され得る。各LUTは、1次元の、10ビット、1024エントリマッピングテーブル(1D-LUT)である。1つのLUTは前方LUT FwdLUTであり、入力されたルーマ符号値Yiを変更値Yrにマッピングする。つまり、Yr=FwdLUT[Yi]である。もう1つのLUTは、逆LUT InvLUTであり、変更された符号値Yrをハット付きYiにマッピングする。つまり、
【数1】
である(ハット付きYiは、Yiの再構成値を表す。)。
【0048】
[2.9.1 PWLモデル]
概念上、区分線形(Piece-Wise Linear,PWL)は、次の方法で実装される。
【0049】
x1、x2を2つの入力ピボット点であると、y1、y2を1つの片についてのそれらの対応する出力ビポッド点であるとする。x1からx2の間のいずれかの入力値xに対する出力値yは、次の式:

y=((y2-y1)/(x2-x1))×(x-x1)+y1

によって補間され得る。固定点実施では、式は:

y=((m×x+2FP_PREC-1)>>FP_PREC)+c

と書き直され得る。ここで、mはスカラーであり、cはオフセットであり、FP_PRECは、精度を指定するための定数値である。
【0050】
CE-12ソフトウェアにおいて、PWLモデルは、1024エントリFwdLUT及びInvLUTマッピングテーブルを予め計算するために使用されるが、PWLモデルはまた、実施がLUTを予め計算せずにオン・ザ・フライで同じマッピング値を計算することも可能にする。
【0051】
[2.9.2 テストCE12-2]
[2.9.2.1 ルーマリシェーピング]
インループリシェーピングのテスト2(つまり、提案におけるCE12-2)は、インタースライス再構成におけるブロックごとのイントラ予測のための復号化レイテンシも除く、より複雑度の低いパイプラインを提供する。イントラ予測は、インタースライス及びイントラスライスの両方について、再成形された領域において実行される。
【0052】
イントラ予測は、スライスタイプにかかわらず、再成形された領域において常に実行される。そのような配置により、イントラ予測は、前のTU再構成が行われた直後に開始することができる。そのような配置はまた、スライス依存である代わりに、イントラモードの統一されたプロセスを提供することができる。図3は、モードに基づいたCE12-2復号化プロセスのブロック図を示す。
【0053】
CE12-2はまた、CE12-1の32片のPWLモデルの代わりに、ルーマ及びクロマ残差スケーリングのための16片の区分線形(PWL)モデルを試験する。
【0054】
インタースライス再構成は、CE12-2におけるインループルーマリシェーパを含む(明るい影付きのブロックは、再成形された領域における信号、つまり、ルーマ残差、イントラルーマ予測された信号、及びイントラルーマ再構成された信号、を示す。)。
【0055】
[2.9.2.2 ルーマ依存クロマ残差スケーリング]
ルーマ依存クロマ残差スケーリングは、固定点整数演算で実装される乗法プロセスである。クロマ残差スケーリングは、クロマ信号とのルーマ信号の相互作用を補償する。クロマ残差スケーリングは、TUレベルで適用される。より具体的には、次が適用される:
- イントラについては、再構成されたルーマが平均化される;
- インターについては、予測ルーマが平均化される。
【0056】
平均は、PWLモデルにおいてインデックスを識別するために使用される。インデックスは、スケーリング係数cScaleInvを識別する。クロマ残差は、その数を乗じられる。
【0057】
クロマスケーリング係数は、再構成されたルーマ値よりむしろ、前方マッピングされた予測されたルーマ値から計算されることが留意される。
【0058】
[2.9.2.3 ILRサイド情報の通知]
パラメータは、(現在)タイルグループヘッダで送信される(ALFと同様。)。これらは、伝えられるところによれば、40~100ビットを要する。
【0059】
次の仕様は、JVET-L1001のバージョン9に基づく。追加されたシンタックスは、「++」を前に付けられている。
【0060】
7.3.2.1において、シーケンスパラメータセットRBSPシンタックス
【表2】
【0061】
7.3.3.1において、一般的なタイルグループヘッダシンタックス
【表3】
【0062】
新しいシンタックステーブルタイルグループリシェーパモデルの追加:
【表4】
【0063】
[2.9.2.4 ILRの利用]
エンコーダ側で、各ピクチャ(又はタイルグループ)は、最初に、再成形された領域に変換される。また、全てのコーディングプロセスは、再成形された領域で実行される。イントラ予測については、隣接ブロックは、再成形された領域にあり、インター予測については、(復号化ピクチャバッファからの元の領域から生成された)参照ブロックは、最初に、再成形された領域に変換される。次いで、残差が生成され、ビットストリームにコーディングされる。
【0064】
ピクチャ(又はタイルグループ)全体が符号化/復号化を終えた後、再成形された領域におけるサンプルは、元の領域に変換され、次いで、デブロッキングフィルタ及び他のフィルタが適用される。
【0065】
予測信号に対する前方リシェーピングは、次の場合については無効にされる:
○ 現在のブロックがイントラコーディングされている;
○ 現在のブロックがCPR(Current Picture Referencing,別名Intra Block Copy,IBC)としてコーディングされている;
○ 現在のブロックが、インター-イントラ複合モード(Combined Inter-Intra mode,CIIP)としてコーディングされており、前方リシェーピングが、イントラ予測ブロックについて無効にされる。
【0066】
[3 既存の実施の欠点]
IBC仮想バッファの現在の設計においては、いくつかの問題が存在する。
(1)CTUサイズが128×128よりも大きいときにIBC仮想バッファをどのように保持すべきかが、定義されていない。
(2)仮想バッファサイズと参照サンプルのサイズとの間の関係が、不明である。
(3)CTU行のためのBV及びIBCモードのためのラインバッファが低減されることがある。
(4)サブピクチャが過剰に制限されることがある。
(5)クロマQPテーブルが、正しい方法で設計されないことがある。
【0067】
[4 IBCのための一般的な仮想バッファの例示的な方法]
vSizeによってVPDUの幅及び高さを表記する。例えば、vSize=min(64,CtbSizeY)である。ここで、ctbSizeYは、ルーマCTB/CTU幅/高さである。
【0068】
目下開示されている技術の実施形態は、既存の実施の欠点を解消し、それによって、より高いコーディング効率をビデオコーディングにもたらす。開示されている技術に基づいた、IBCのための一般的な仮想バッファの方法は、既存のビデオコーディング標準規格及び将来のビデオコーディング標準規格の両方を向上させることができ、様々な実施について記載されている以下の例で説明される。以下で与えられている開示されている技術の例は、一般概念を説明するものであり、限定として解釈されるよう意図されない。例において、別段明示的に示されない限り、これらの例で記載されている様々な特徴は、組み合わされてもよい。
【0069】
IBCバッファ関連
1.IBC仮想バッファ(例えば、ブロックベクトル又はマッピングされたサンプルが妥当であるかどうかを決定するために使用される。)のサイズは、VPDUサイズ、CTB/CTUサイズに依存してよい。
a.一例で、仮想バッファの幅×高さは固定であってよいが、仮想バッファの幅及び/又は高さは、VPDUサイズ及び/又はCTB/CTUサイズに依存してもよい。
b.一例で、仮想バッファの高さは、CTB/CTUの高さに等しくてもよい。
i.代替的に、更に、仮想バッファの幅は、(IBC仮想バッファサイズ/CTBの高さ)に等しくてもよい。
c.一例で、仮想バッファの幅は、CTB/CTUの幅に等しくてもよい。
d.一例で、仮想バッファの幅は、VPDU幅の1倍又は複数倍であってよい。
e.一例で、仮想バッファの高さは、VPDU高さの1倍又は複数倍であってよい。
【0070】
2.IBC BV探索エリアのためえの必要とされるメモリサイズと比較して、より大きいIBC仮想バッファサイズを割り当てることが提案される。
a.一例で、IBC仮想バッファサイズは、IBCに使用されるVPDUメモリの全体のサイズよりも大きくてよい。
i.一例で、もう1つのCTUがIBC仮想バッファに割り当てられてもよい。
b.一例で、IBC仮想バッファサイズの幅は、(128×128/ctbSizeY+ctbSizeY)であってよい。
c.一例で、IBC仮想バッファサイズの幅は、(128×128/ctbSizeY+ctbSizeY)であってよく、IBC仮想バッファサイズの高さは、ctbSizeYであってよい。
【0071】
3.IBCブロックの参照ブロックは、特定のVPDU行又はVPDU列内に完全にあるよう制約されてよい。
a.一例で、参照ブロックは、異なるVPDU行を横断することを許されなくてもよい。
b.一例で、参照ブロックは、異なるVPDU列を横断することを許されなくてもよい。
c.一例で、上VPDU行又は列は、ピクチャと相対的であってよい。
d.一例で、上VPDU行又は列は、IBC仮想バッファと相対的であってよい。
e.代替的に、更に、上記の方法は、BVによって指示される参照ブロックが2つ以上のCTU/CTBを横断するときに呼び出されてよい。
【0072】
4.IBCブロックの参照ブロックは、複数のVPDUを横断して/異なるVPDU行/VPDU列を横断してよい。ただし、追加の動作が、参照ブロック内のいくつかの予測値を充てんするために必要とされる場合がある。
a.一例で、いくつかのデフォルト値が、いくつかの予測値を充てんするために利用されてよい。
【0073】
5.範囲制約が、IBCモードで使用されるブロックベクトル(BV)及び/又はブロックベクトル差分(Block Vector Differences,BVD)に適用されてよい。
a.一例で、BV/BVDの許容範囲は、現在のブロックをカバーするCTU/CTBに対する座標などの、現在のIBCコーディングブロックの位置に依存してよい。
b.一例で、ブロックベクトルは、[-2,2-1]の範囲に制約されてよい。
c.一例で、精度変換後のブロックベクトル差分は、[-2,2-1]の範囲に制約されてよい。
d.一例で、精度変換後のブロックベクトル差分は、[-2+1,2-1]の範囲に制約されてよい。
e.ビットストリームで通知されたブロックベクトル差分は、[-2,2-1]の範囲に制約されてよい。
f.一例で、ビットストリームで通知されたブロックベクトル差分は、[-2+1,2-1]の範囲に制約されてよい。
g.一例で、mは、18又は17又は15にセットされる。
h.一例で、nは、17又は16又は14にセットされる。
i.一例で、m及び/又はnは、ブロックベクトル差分に関連した精度及び/又はBV/動きベクトル記憶のための精度に依存してよい。
j.一例で、ブロックベクトルは、インター予測モードに使用される動きベクトルと同じ範囲に制約されてよい。
k.一例で、ブロックベクトル差分は、インター予測モードに使用される動きベクトルと同じ範囲に制約されてよい。
l.一例で、コンフォーマンスビットストリームは、上記のサブビュレットが満足されることを満足すべきである。
i.代替的に、BV/BVDに対するクリッピングプロセスは、BV/BVDがブロックを符号化/復号化するために利用される前に、復号されたBV/BVDに適用されてよい。
【0074】
6.IBV仮想バッファにマッピングされる利用可能なサンプルの数は、制限されてよい。
a.一例で、バッファにマッピングされる利用可能なサンプルの最大数は、IBC仮想バッファサイズよりも小さくてよい。
b.一例で、IBC仮想バッファにマッピングされる利用可能なサンプルの最大数は、64×64よりも大きい。
c.一例で、IBC仮想バッファにマッピングされる利用可能なサンプルの数は、VPDU内のサンプルの数の1倍又は複数倍以下であるよう制限されてよい。
i.一例で、IBC仮想バッファにマッピングされる利用可能なサンプルの数は、CTU/CTBサイズが64×64よりも大きいとき、VPDU内のサンプルの数の三倍以下であるよう制限されてよい。
【0075】
7.IBC仮想バッファにマッピングされるIBC参照サンプルの利用不可能性マーキングは、VPDUの粒度で実行されてよい。
a.一例で、サンプルが利用不可とマークされる必要があるとき、同じVPDU内のサンプルも利用不可とマークされてよい。
b.一例で、1つ又は複数のVPDUが同時に利用不可とマークされてよい。
c.一例で、どのVPDUのサンプルが利用不可とマークされるかは、現在のVPDUの位置に依存してよい、
d.一例で、どのVPDUのサンプルが利用不可とマークされるかは、前の又は最も最近に復号されたVPDUの位置に依存してよい。
【0076】
8.CTU/CTBサイズが64×64よりも大きいとき、IBC参照は、現在のVPDU及び3つの最も最近に復号されたVPDUであってよい。
a.一例で、インデックスは、各VPDUの復号化順序を追跡するよう、仮想IBCバッファにマッピングされた各VPDUについて保持されてよい。
【0077】
9.カウンタが、バッファにマッピングされた利用可能なVPDUの数を追跡するよう保持されてよい。
a.一例で、カウンタは、各CTU行の復号化の初めに0にリセットされ、バッファにマッピングされた1つのVPDUが復号されると1ずつ増やされる。
b.一例で、カウンタが特定の値、例えば、3よりも大きいと、バッファにマッピングされた1つのVPDUのサンプルは利用不可とマークされてよく、カウンタは1だけ減じられてよい。
【0078】
10.CTU/CTBサイズが128×128であるとき、対応するIBC仮想バッファは、サイズが256×128であってよい。
a.代替的に、IBC仮想バッファは、サイズが(k×64)×128であってよく、k>2である。
【0079】
11.CTU/CTBサイズが256×256であるとき、対応するIBC仮想バッファは、参照サンプルの利用可能性を追跡するようサイズが64×256であってよく、つまり、ibcBufW=64及びibcBufH=256である。
a.一例で、左上が(x0,y0)であるVPDUを復号する前に、IBCバッファ内の対応するVPDU行(0,y0%256)は-1にセットされる。
【0080】
12.CTU/CTBサイズが256×256であるとき、対応するIBC仮想バッファは、参照サンプルの利用可能性を追跡するサイズが128×256であってよく、つまり、ibcBufW=128及びibcBufH=256である。
a.一例で、ただ1つのVPDUが、特定のVPDU行を除いたバッファ内の各VPDU行について保持されてよい(現在のVDPUを除く)。
i.一例で、ただ1つのVPDUが、最後のVPDU行を除いたバッファ内の各VPDU行について保持されてよい(現在のVDPUを除く)。
【0081】
13.IBCバッファは、CTU行の初めにリセットされなくてもよい。
a.一例で、上CTU行から受け継がれたIBC仮想バッファが、現在のCTU行の初期状態として使用されてよい。
b.代替的に、IBC仮想バッファは、CTU行の初めに部分的にリセットされてもよい。
i.一例で、上CTU行内のVPDUは、現在のIBCバッファにおいて受け継がれてもよく、一方、他のバッファ領域はリセットされてよい。
ii.一例で、上CTU行の最左下VPDUが、現在のIBCバッファにおいて受け継がれてもよく、一方、他のバッファ領域はリセットされてよい。
【0082】
14.バッファ内のサンプルを利用不可としてマークすべきかどうか及び/又はどのようにマークすべきかは、クロマブロック位置と無関係であってよい。
a.一例で、ルーマブロックがVPDU内の最初のブロックにある場合にのみ、IBCバッファ内の対応するサンプルは利用不可とマークされてよい。
b.一例で、クロマコーディングユニットを復号するときにバッファ内のサンプルをリセットすること又は利用不可とマークすることは許されない。
【0083】
15.IBC仮想バッファ内のサンプルをマークすべきかどうか及び/又はどのようにマークすべきかは、最も最近に復号されたVPDUの位置及びVPDUサイズに依存してよい。
a.一例で、IBC仮想バッファ内のサンプルを利用不可とマークすべきかどうか及び/又はどのようにマークすべきかは、ブリック/スライス/タイル/ピクチャの最も最近に復号されたVPDUの位置に依存してよい。
b.一例で、IBC仮想バッファ内のサンプルを利用不可とマークすべきかどうか及び/又はどのようにマークすべきかは、ブリック/スライス/タイル/ピクチャのCTU行内の最も最近に復号されたVPDUの位置に依存してよい。
c.一例で、IBC仮想バッファ内のどのサンプルを利用不可とマークすべきかは、現在のブロックの位置と無関係であってよい。
【0084】
IBCラインバッファ関連
16.CTU行にわたるブロックベクトル予測は許されない。
a.一例で、ブロックベクトル予測が現在のCTU行と比較して異なるCTU行からであるとき、それは利用不可と見なされ得る。
【0085】
17.CTU行にわたる現在のIBCブロックに対するデブロッキング決定は、他のブロックのブロックベクトル又は動きベクトルと無関係であってよい。
a.一例で、2つのブロックが異なるCTU行にあり、一方のブロックがIBCモードでコーディングされ、他方がIBC又はインターモードでコーディングされるとき、デブロッキング境界強さは常に1に等しくセットされ得る。
b.一例で、2つのブロックが異なるCTU行にあり、一方のブロックがIBCモードでコーディングされ、他方がIBC又はインターモードでコーディングされるとき、デブロッキング境界強さは常に0に等しくセットされ得る。
【0086】
18.CTU行にわたる現在のIBCブロックに対するデブロッキング決定は、他のブロックがIBCモード又はインターモードでコーディングされるかどうかと無関係であってよい。
a.一例で、2つのブロックが異なるCTU行にあり、一方のブロックがIBCモードでコーディングされ、他方がイントラモードでコーディングされないとき、デブロッキング境界強さは常に1に等しくセットされ得る。
【0087】
サブピクチャ関連
19.特定の条件の下で2つのサブピクチャの間の予測(例えば、動き/サンプル予測)を許すことが提案される。
a.一例で、第1サブピクチャの境界がピクチャ境界(又はコンフォーマンスウィンドウ境界)と一致する場合に、第2サブピクチャからの情報を使用することが許される。
i.代替的に、更に、サブピクチャ境界は左又は右サブピクチャ境界である。
ii.代替的に、更に、ピクチャ境界は左又は右ピクチャ境界である。
iii.一例で、第2サブピクチャの左(又は右)境界はピクチャの左(又は右)境界と一致し得る。
b.条件は、ピクチャラッピング(picture wrapping)が許される(例えば、sps_ref_wraparound_enabled_flagが1に等しい)場合にのみ真である。
【0088】
20.ピクチャラッピングはサブピクチャを除く。
a.一例で、ピクチャラッピングは、サブピクチャが使用される場合に有効にされる。
b.一例で、サブピクチャは、ピクチャラッピングが有効にされる場合に使用され得ない。
c.代替的に、ピクチャラッピングは、サブピクチャが使用されるときに有効にされ得る。
iv.一例で、ピクチャラッピングは、ピクチャ境界と一致する境界を有しているサブピクチャについて有効にされ得る。
【0089】
クロマQPテーブル関連
21.クロマQPテーブルの最小インデックスは、クロマ成分のビットデプスと無関係であってよい。
a.一例で、クロマQPテーブルの最小インデックスは、ルーマ成分のビットデプスに依存してよい。
b.一例で、クロマQPテーブルの最小インデックスは、QpBdOffset、すなわち、6*bit_depth_luma_minus8であってよい。
【0090】
上記の例は、ビデオデコーダ又はビデオエンコーダで実装され得る、以下で記載される方法、例えば、方法400に関連して組み込まれてよい。
【0091】
図4Aは、ビデオ処理の例示的な方法400のフローチャートを示す。方法400は、ステップ402で、参照ブロック内のピクセルに基づきコーディングされる現在のブロックに関連した仮想バッファのサイズに基づいて、仮想バッファにマッピングされた1つ以上のサンプル又はブロックベクトルの有効性に関して決定を行うことを含み、現在のピクチャは現在のブロック及び参照ブロックを含み、仮想バッファのサイズは仮想パイプラインデータユニット(VPDU)のサイズ、コーディングツリーブロック(Coding Tree Block,CTB)のサイズ又はコーディングツリーユニット(CTU)のサイズに基づく。
【0092】
方法400は、ステップ404で、決定に基づいて、現在のブロックと現在のブロックのビットストリーム表現との間の変換を実行することを含む。
【0093】
図4Bは、ビデオ処理の例示的な方法420のフローチャートを示す。方法420は、ステップ422で、参照ブロック内のピクセルに基づきコーディングされる現在のブロックについて、参照ブロックの1つ以上の参照サンプルを利用不可と指定することを含み、1つ以上の参照サンプルの夫々は、仮想バッファにマッピングされ、参照ブロックに関連した少なくとも現在の仮想パイプラインデータユニット(VPDU)において対応するサンプルを有し、現在のピクチャは現在のブロック及び参照ブロックを含む。
【0094】
方法420は、ステップ424で、指定に基づいて、現在のブロックと現在のブロックのビットストリーム表現との間の変換を実行することを含む。
【0095】
図4Cは、ビデオ処理の例示的な方法440のフローチャートを示す。方法400は、ステップ442で、参照ブロック内のピクセルに基づきコーディングされる現在のブロックについて、現在のブロックのコーディングツリーユニット(CTU)のサイズ又はコーディングツリーブロック(CTB)のサイズに基づいて、参照ブロックに関連した仮想バッファのサイズを決定することを含み、現在のピクチャは現在のブロック及び参照ブロックを含む。
【0096】
方法440は、ステップ444で、決定に基づいて、現在のブロックと現在のブロックのビットストリーム表現との間の変換を実行することを含む。
【0097】
[5 開示されている技術の実施例]
[5.1 実施形態#1]
CTUサイズが256×256であるとき、64×256のIBC仮想バッファibcBufが保持される。つまり、ibcBufW=64、ibcBufH=256である。VPDUサイズは64×64であり、現在のVPDUに加えて、3つの追加VPDUのオンチップメモリがIBC参照サンプルを記憶するために使用される。
【0098】
バッファibcBufは、CTU行の復号化の初めに-1にリセットされる。
【0099】
最初に、ピクチャの左上隅に対して左上位置(x0,y0)を有する新しいVPDUを復号すると、次が適用される:
1)x=x0,・・・,x0+63、y=y0,・・・,y0+63について、ibcBuf[x%ibcBufW][y%ibcBufH]=-1である。
2)CUを復号した後、ピクチャの左上隅に対するそのCU内の(x,y)について、ibcBuf[x%ibcBufW][y%ibcBufH]を、インループフィルタリング、例えば、SAO,デブロッキング、ALFの前のサンプル(x,y)の再構成された値としてセットする。
3)bvを考慮して、(x,y)のための参照は、ibcBuf[(x+bv[0])%ibcBufW][(y+bv[1])%IbcBufH]である。
【0100】
次の2つの条件が真でなければならないことが、ビットストリーム制約である。
1)ピクチャの左上に対して左上位置(x,y)を有するW×Hのブロックを考えると、(y%ibcBufH)+H<=ibcBufHである。
2)ibcBuf[(x+bv[0])%ibcBufW][(y+bv[1])%IbcBufH]は、x=0,・・・,W-1、y=0,・・・,H-1について、無効なピクセル値、例えば、-1を含むべきではない。
【0101】
[5.2 実施形態#2]
CTUサイズが256×256であるとき、128×256のIBC仮想バッファibcBufが保持される。つまり、ibcBufW=128、ibcBufH=256である。VPDUサイズは64×64であり、現在のVPDUに加えて、3つの追加VPDUのオンチップメモリがIBC参照サンプルを記憶するために使用される。
【0102】
バッファibcBufは、CTU行の復号化の初めに-1にリセットされる。xPrevVPDU=0及びyPrevVPDU=0である。
【0103】
最初に、ピクチャの左上隅に対して左上位置(x0,y0)を有する新しいVPDUを復号すると、次が適用される:
1)(yPrevVPDU+64)%ibcBufHが0に等しくない場合に、x=x0,・・・,x0+63、y=y0,・・・,y0+63について、ibcBuf[(x+xPrevVPDU-64)%ibcBufW][(y+yPrevVPDU)%ibcBufH]=-1である。
2)そうではない((yPrevVPDU+64)%ibcBufHが0に等しい)場合に、x=x0,・・・,x0+63、y=y0,・・・,y0+63について、ibcBuf[(x+xPrevVPDU)%ibcBufW][(y+yPrevVPDU)%ibcBufH]=-1である。
3)xPrevVPDU=x0及びyPrevVPDU=y0である。
【0104】
次の2つの条件が真でなければならないことが、ビットストリーム制約である。
1)ピクチャの左上に対して左上位置(x,y)を有するW×Hのブロックを考えると、(y%ibcBufH)+H<=ibcBufHである。
2)ibcBuf[(x+bv[0])%ibcBufW][(y+bv[1])%IbcBufH]は、x=0,・・・,W-1、y=0,・・・,H-1について、無効なピクセル値、例えば、-1を含むべきではない。
【0105】
[5.3 実施形態#3]
この実施形態は、ビュレット2を反映する。太字イタリック体でマークされている変更は、VVC草案6ドキュメントJVET-O2001-vEに基づく。
【表5】
【0106】
[5.4 実施形態#4]
この実施形態は、ビュレット3を反映する。
【0107】
ピクチャの左上に対する現在のブロックの左上位置として(xCb,yCb)を表記する。ブロックの幅及び高さは、夫々、W及びHである。ブロックのブロックベクトルは(xBv,yBv)である。
【0108】
ピクチャに対するVPDU行の制約:
ビットストリーム制約は、(xCb+xBv)/vSizeが(xCb+xBv+W-1/vSize)に等しくなければならないことである。
【0109】
ピクチャに対するVPDU列の制約:
ビットストリーム制約は、(yCb+yBv)/vSizeが(yCb+yBv+H-1/vSize)に等しくなければならないことである。
【0110】
IBCバッファに対するVPDU行の制約:
ビットストリーム制約は、((xCb+xBv)%IbcBufWidthY)/vSizeが(((xCb+xBv+W-1)%IbcBufWidthY)/vSize)に等しくなければならないことである。
【0111】
IBCバッファに対するVPDU列の制約:
ビットストリーム制約は、((yCb+yBv)%IbcBufHeightY)/vSizeが(((yCb+yBv+H-1)%IbcBufHeightY)/vSize)に等しくなければならないことである。
【0112】
[5.5 実施形態#5]
この実施形態は、IBC仮想バッファ内のサンプルを利用不可とマークすることがクロマブロックと無関係であってよいことを反映する。
太字イタリック体でマークされている変更は、JVET-O2001-vEに基づく。削除されたテキストは、二重括弧でマークされている(例えば、[[a]]は、文字「a」の削除を表す。)。
【表6】
【0113】
[5.6 実施形態#6]
【表7】
【0114】
[5.7 実施形態#7]
この実施形態は、サブピクチャ予測の許可の例を与える。JVET-O2001-vEと比較した変更は、太字イタリック体で強調表示されており、削除されたテキストは、二重括弧でマークされている(例えば、[[a]]は、文字「a」の削除を表す。)。
【表8】
【0115】
[5.8 実施形態#8]
この実施形態は、クロマQPテーブルの例示的な設計を示す。太字イタリック体でマークされている変更は、JVET-O2001-vEに基づく。
【表9】
【0116】
図6は、VPDU列およびVPDU行を横断する参照ブロックの例を示す。図6に示されるように、現在のCU(格子模様のブロック602)について、赤色で塗りつぶされたブロック(無地のブロック604)は、横断VPDU列参照ブロックであり、ブロック(対角縞模様のブロック606)は、横断VPDU行参照ブロックである。夫々の大きいブロックは64×64VPDUを示す、エリア(608)は、IBC参照のために使用され得る再構成されたピクセルを示している。
【0117】
図5は、ビデオ処理装置500のブロック図である。装置500は、ここで記載されている方法の1つ以上を実装するために使用され得る。装置500は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(IoT)レシーバ、などで具現化されてもよい。装置500は、1つ以上のプロセッサ502,1つ以上のメモリ504、及びビデオ処理ハードウェア506を含み得る。プロセッサ502は、本明細書で記載される1つ以上の方法(方法400を含むが限られない。)を実装するよう構成され得る。メモリ(複数のメモリ)504は、本明細書で記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア506は、ハードウェア回路にといて、本明細書で記載されるいくつかの技術を実装するために使用され得る。いくつかの実施形態において、ビデオ処理ハードウェア506は、プロセッサ502(例えば、グラフィクスコプロセッサ)内に部分的に又は完全に含まれてもよい。
【0118】
図7は、本明細書で開示される様々な技術が実装され得る、例となるビデオ処理システム700を示すブロック図である。様々な実施は、システム700のコンポーネントの一部又は全部を含んでもよい。システム700は、ビデオコンテンツを受ける入力部702を含み得る。ビデオコンテンツは、生の又は圧縮されていないフォーマット、例えば、8又は10ビットのマルチコンポーネントピクセル値で受け取られてもよく、あるいは、圧縮又は符号化されたフォーマットであってもよい。入力部702は、ネットワークインターフェース、ペリフェラルバスインターフェース、又はストレージインターフェースに相当してもよい。ネットワークインターフェースの例には、Ethernet(登録商標)、受動光ネットワーク(PON)などのような有線インターフェース、及びWi-Fi又はセルラーネットワークなどの無線インターフェースが含まれる。
【0119】
システム700は、本明細書で記載されている様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント704を含んでもよい。コーディングコンポーネント704は、ビデオのコーディングされた表現を生成するよう、入力部702からコーディングコンポーネント704の出力部へのビデオの平均ビットレートを低減し得る。コーディング技術は、従って、ビデオ圧縮又はビデオトランスコーディング技術と時々呼ばれる。コーディングコンポーネント704の出力は、コンポーネント706によって表されるように、保存されても、あるいは、接続された通信を介して伝送されてもよい。入力部702で受け取られたビデオの保存又は通信されたビットストリーム(又はコーディングされた)表現は、ピクセル値又は表示インターフェース710へ送られる表示可能なビデオを生成するコンポーネント708によって使用されてもよい。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ圧縮解除と時々呼ばれる。更に、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれる一方で、そのようなコーディングツール又は動作はエンコーダで使用され、コーディングの結果を入れ替える対応する復号化ツール又は動作は、デコーダによって実行されることになることが理解されるだろう。
【0120】
ペリフェラルバスインターフェース又は表示インターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はDisplayport(登録商標)などが含まれ得る。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又はビデオ表示を実行する能力がある他のデバイスなどの様々な電子デバイスで具現化されてもよい。
【0121】
図8は、本開示の技術を利用し得る、例となるビデオコーディングシステム100を表すブロック図である。
【0122】
図8に示されるように、ビデオコーディングシステム100は、発信元デバイス110及び送信先デバイス120を含んでよい。発信元デバイス110は、符号化されたビデオデータを生成し、ビデオ符号化デバイスと呼ばれ得る。送信先デバイス120は、発信元デバイス110によって生成された符号化されたビデオデータを復号することができ、ビデオ復号化デバイスと呼ばれ得る。
【0123】
発信元デバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含んでよい。
【0124】
ビデオソース112は、ビデオ捕捉デバイスなどのソース、ビデオコンテンツプロバイダからビデオデータを受け取るインターフェース、及び/又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、そのようなソースの組み合わせを含んでよい。ビデオデータは1つ以上のピクチャを有してもよい。ビデオエンコーダ114は、ビットストリームを生成するようビデオソース112からのビデオデータを符号化する。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信器を含んでよい。符号化されたビデオデータは、I/Oインターフェース116を介して送信先デバイス120に対してネットワーク130aを通じて直接に伝送されてよい。符号化されたビデオデータはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
【0125】
送信先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及び表示デバイス122を含んでよい。
【0126】
I/Oインターフェース126は、受信器及び/又はモデムを含んでよい。I/Oインターフェース126は、発信元デバイス110又は記憶媒体/サーバ130bから符号化されたビデオデータを取得してよい。ビデオデコーダ124は、符号化されたビデオデータを復号してよい。表示デバイス122は、復号されたビデオデータをユーザに表示してよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、あるいは、外付け表示デバイスとインターフェース接続するよう構成されて送信先デバイス120の外にあってもよい。
【0127】
ビデオエンコーダ114及びビデオデコーダ124は、HEVC(High Efficiency Video Coding)標準規格、VVC(Versatile Video Coding)標準規格、並びに他の現在の及び/又は更なる標準規格などのビデオ圧縮規格に従って作動してもよい。
【0128】
図9は、ビデオエンコーダ200の例を表すブロックであり、図8に表されているシステム100のビデオエンコーダ114であってよい。
【0129】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図9の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例において、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0130】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピ符号化ユニット214とを含んでよい。
【0131】
他の例において、ビデオエンコーダ200は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例において、予測ユニット202は、イントラブロックコピー(Intra Block Copy,IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在のビデオブロックが位置しているピクチャであるIBCモードで、予測を実行してよい。
【0132】
更に、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に集積されてもよいが、説明のために図9の例では別々に表されている。
【0133】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化してよい。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてよい。
【0134】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードの1つを選択し、結果として得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207へ、及び参照ピクチャとしての使用のために、符号化されたブロックを再構成する再構成ユニット212へ供給してよい。いくつかの例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ-インター複合予測(Combination of Intra and Inter Prediction,CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックの動きベクトルのための分解能(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0135】
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックの動き情報を生成してもよい。動き補償ユニット205は、動き情報と、現在のビデオブロックに関連したピクチャ以外のバッファ213からのピクチャの復号されたサンプルとに基づいて、現在のビデオブロックの予測されたビデオブロックを決定してもよい。
【0136】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスであるかどうかに応じて、現在のビデオブロックのために異なる動作を実行してもよい。
【0137】
いくつかの例において、動き推定ユニット204は、現在のビデオブロックのために一方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0又はリスト1の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してよい。動き推定ユニット204は、現在のビデオブロックの動き情報として参照インデックス、予測方向インジケータ、及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のブロックの予測されたビデオブロックを生成してもよい。
【0138】
他の例においては、動き推定ユニット204は、現在のビデオブロックのために双方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0内の参照ピクチャから探してもよく、また、現在のビデオブロックのためのもう1つの参照ビデオブロックをリスト1内の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在のビデオブロックの動き情報として現在のビデオブロックの参照インデックス及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のビデオブロックの予測されたビデオブロックを生成してもよい。
【0139】
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために動き情報のフルセットを出力してもよい。
【0140】
いくつかの例において、動き推定ユニット204は、現在のビデオの動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報を通知してもよい。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接ビデオブロックの動き情報と十分に類似していることを決定してもよい。
【0141】
一例において、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、現在のビデオブロックが他のビデオブロックと同じ動き情報を有していることをビデオデコーダ300に示す値を示してもよい。
【0142】
他の例においては、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、他のビデオブロック及び動きベクトル差分(Motion Vector Difference,MVD)を特定してもよい。動きベクトル差分は、現在のビデオブロックの動きベクトルと、特定されているビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在のビデオブロックの動きベクトルを決定するために、特定されているビデオブロックの動きベクトル及び動きベクトル差分を使用してもよい。
【0143】
上述されたように、ビデオエンコーダ200は、動きベクトルを予測的に通知してもよい。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例には、アドバンスド動きベクトル予測(Advanced Motion Vector Prediction,AMVP)及びマージモードシグナリングがある。
【0144】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行してもよい。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行する場合に、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックの復号されたサンプルに基づいて、現在のビデオブロックの予測データを生成し得る。現在のビデオブロックの予測データは、予測されたビデオブロック及び様々なシンタックス要素を含んでもよい。
【0145】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを減じること(例えば、マイナス符号によって示される。)によって、現在のビデオブロックの残差データを生成してもよい。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプルコンポーネントに対応する残差ビデオブロックを含んでもよい。
【0146】
他の例においては、例えば、スキップモードで、現在のビデオブロックの残差データは存在しない場合があり、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0147】
変換処理ユニット208は、現在のビデオブロックに関連した残差ビデオブロックに1つ以上の変換を適用することによって、現在のビデオブロックの1つ以上の変換係数ビデオブロックを生成してもよい。
【0148】
変換処理ユニット208が現在のビデオブロックに関連した変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連した1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連した変換係数ビデオブロックを量子化してもよい。
【0149】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに各々逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してもよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに加えて、バッファ213での記憶のために、現在のブロックに関連した再構成されたビデオブロックを生成してもよい。
【0150】
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作が、ビデオブロックにおいてビデオブロッキングアーチファクトを低減するよう実行されてもよい。
【0151】
エントロピ符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受け取ってもよい。エントロピ符号化ユニット214がデータを受け取るとき、エントロピ符号化ユニット214は、エントロピ符号化されたデータを生成し、そのエントロピ符号化されたデータを含むビットストリームを生成するよう、1つ以上のエントロピ符号化動作を実行してもよい。
【0152】
図10は、ビデオデコーダ300の例を表すブロック図であり、図8で表されているシステム100のビデオデコーダ124であってよい。
【0153】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図10の例で、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例で、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0154】
図10の例において、ビデオデコーダ300は、エントロピ復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例において、ビデオエンコーダ200(図9)に関して記載された符号化パスとは概して逆の復号化パスを実行してもよい。
【0155】
エントロピ復号化ユニット301は、符号化されたビットストリームを取り出し得る。符号化されたビットストリームは、エントロピコーディングされたビデオデータ(例えば、ビデオデータの符号化されたブロック)を含んでもよい。エントロピ復号化ユニット301は、エントロピコーディングされたビデオデータを復号してよく、エントロピ復号化されたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定してもよい。
【0156】
動き補償ユニット302は、場合により、補間フィルタに基づく補間を実行して、動き補償されたブロックを生成してもよい。サブピクセル精度で使用される補間フィルタのための識別子は、シンタックス要素に含まれてもよい。
【0157】
動き補償ユニット302は、参照ブロックのサブ整数ピクセルについて補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ200によって使用された補間フィルタを使用してもよい。動き補償ユニット302は、受け取られたシンタックス情報に従って、ビデオエンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して、予測ブロックを生成し得る。
【0158】
動き補償ユニット302は、符号化されたビデオシーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズと、符号化されたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報と、各インターコーディングされたブロックについての1つ以上の参照フレーム(及び参照フレームリスト)と、符号化されたビデオシーケンスを復号するための他の情報とを決定するために、シンタックス情報のいくつかを使用してもよい。
【0159】
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するよう、例えば、ビットストリームで受け取られたイントラ予測モードを使用してもよい。逆量子化ユニット304は、ビットストリームで供給されてエントロピ復号化ユニット301によって復号された量子化されたビデオブロック係数を逆量子化する、すなわち、量子化解除する。逆変換ユニット305は、逆変換を適用する。
【0160】
再構成ユニット306は、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックを残差ブロックに加算して、復号されたブロックを形成し得る。望まれる場合には、デブロッキングフィルタも、ブロッキネスアーチファクトを取り除くために、復号されたブロックにフィルタをかけるよう適用されてもよい。浮く号されたビデオブロックは、次いで、バッファ307に格納され、バッファ307は、その後の動き補償/イントラ予測のために参照ブロックを提供し、更には、復号されたビデオを表示デバイスでの提示のために生成する。
【0161】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にするとの決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが有効にされる場合に、エンコーダは、ビデオのブロックの処理においてそのツール又はモードを使用又は実装することになるが、ツール又はモードの使用に基づき、必ずしも、結果として得られるビットストリームを変更しなくてもよい。つまり、ビデオのブロックからビデオのビットストリーム表現への変換は、ビデオ処理ツール又はモードが決定又は判断に基づき有効にされる場合にそのツール又はモードを使用することになる。他の例においては、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビットストリームがそのビデオ処理ツール又はモードに基づき変更されていると知った上で、ビットストリームを処理することになる。つまり、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判断に基づき有効にされたビデオ処理ツール又はモードを用いて実行されることになる。
【0162】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを無効にするとの決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが無効にされる場合に、エンコーダは、ビデオのブロックからビデオのビットストリーム表現への変換においてそのツール又はモードを使用しない。他の例においては、ビデオ処理ツール又はモードが無効にされる場合に、デコーダは、決定又は判断に基づき無効にされたビデオ処理ツール又はモードを用いてビットストリームは変更されていないと知った上で、ビットストリームを処理することになる。
【0163】
本明細書中、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ圧縮解除を指し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現への変換中に、又はその逆も同様に、適用されてもよい。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるような、ビットストリーム内で同一位置にあるか又は異なった場所に広がっているかのどちらかであるビットに対応してもよい。例えば、マクロブロックは、変換及びコーディングされた誤差残余値に関して、更には、ビットストリーム内のヘッダ及び他のフィールドにおけるビットを用いて、符号化されてよい。
【0164】
以下に挙げられているものは、数ある問題の中でも特に、本明細書で記載されている技術的問題に対処することができる実施形態を提供する。第1の付記の組は、前のセクションで開示されている技術の特定の特徴及び態様を記載する。
【0165】
(付記1)
ビデオ処理の方法であって、
参照ブロック内のピクセルに基づきコーディングされる現在のブロックに関連した仮想バッファのサイズに基づいて、前記仮想バッファにマッピングされた1つ以上のサンプル又はブロックベクトルの有効性に関して決定を行うステップであり、現在のピクチャは前記現在のブロック及び前記参照ブロックを含み、前記仮想バッファのサイズは仮想パイプラインデータユニット(VPDU)のサイズ、コーディングツリーブロック(CTB)のサイズ又はコーディングツリーユニット(CTU)のサイズに基づく、ステップと、
前記決定に基づいて、前記現在のブロックと前記現在のブロックのビットストリーム表現との間の変換を実行するステップと
を有する方法。
【0166】
(付記2)
前記仮想バッファの高さ及び幅の積は一定であり、前記高さ又は前記幅は、前記VPDUのサイズ、前記CTBのサイズ又は前記CTUのサイズに基づく、
付記1に記載の方法。
【0167】
(付記3)
前記仮想バッファの幅は、前記CTBの幅又は前記CTUの幅に等しい、
付記1に記載の方法。
【0168】
(付記4)
前記仮想バッファの幅又は高さは、夫々、前記VPDUの幅又は高さのN倍であり、N≧1は整数である、
付記1に記載の方法。
【0169】
(付記5)
前記1つ以上のサンプルの最大数は、前記仮想バッファのサイズに満たない、
付記1に記載の方法。
【0170】
(付記6)
前記1つ以上のサンプルの最大数は、前記CTBのサイズ又は前記CTUのサイズが64×64よりも大きいとの決定される場合に不変である、
付記1に記載の方法。
【0171】
(付記7)
前記1つ以上のサンプルの数は、前記VPDU内のサンプルの数のN倍以下であり、N≧1は整数である、
付記1に記載の方法。
【0172】
(付記8)
前記CTBのサイズ又は前記CTUのサイズが64×64よりも大きいと決定される場合にN=3である、
付記7に記載の方法。
【0173】
(付記9)
ビデオ処理の方法であって、
参照ブロック内のピクセルに基づきコーディングされる現在のブロックについて、前記参照ブロックの1つ以上の参照サンプルを利用不可と指定するステップであり、前記1つ以上の参照サンプルの夫々は、仮想バッファにマッピングされ、前記参照ブロックに関連した少なくとも現在の仮想パイプラインデータユニット(VPDU)において対応するサンプルを有し、現在のピクチャは前記現在のブロック及び前記参照ブロックを含む、ステップと、
前記指定に基づいて、前記現在のブロックと前記現在のブロックのビットストリーム表現との間の変換を実行するステップと
を有する方法。
【0174】
(付記10)
前記現在のVPDU内の前記対応するサンプルを利用不可と指定するステップを更に有する、
付記9に記載の方法。
【0175】
(付記11)
前記対応するサンプルを指定することは、前記現在のVPDUの位置に基づく、
付記10に記載の方法。
【0176】
(付記12)
前記対応するサンプルを指定することは、前のVPDU又は最近復号されたVPDUの位置に基づく、
付記10に記載の方法。
【0177】
(付記13)
前記1つ以上の参照サンプルの夫々は、3つの最も最近に復号されたVPDUの夫々における対応するサンプルを有する、
付記9に記載の方法。
【0178】
(付記14)
ビデオ処理の方法440であって、
参照ブロック内のピクセルに基づきコーディングされる現在のブロックについて、前記現在のブロックのコーディングツリーユニット(CTU)のサイズ又はコーディングツリーブロック(CTB)のサイズに基づいて、前記参照ブロックに関連した仮想バッファのサイズを決定するステップであり、現在のピクチャは前記現在のブロック及び前記参照ブロックを含む、ステップと、
前記決定に基づいて、前記現在のブロックと前記現在のブロックのビットストリーム表現との間の変換を実行するステップと
を有する方法。
【0179】
(付記15)
前記仮想バッファのサイズは、前記CTB又は前記CTUのサイズが128×128であると決定される場合に256×128である、
付記14に記載の方法。
【0180】
(付記16)
前記仮想バッファのサイズは、前記CTB又は前記CTUのサイズが256×256であると決定される場合に64×256である、
付記14に記載の方法。
【0181】
(付記17)
前記仮想バッファのサイズは、前記CTB又は前記CTUのサイズが256×256であると決定される場合に128×256である、
付記14に記載の方法。
【0182】
(付記18)
前記現在のブロックを含む前記現在のピクチャ内の前記参照ブロック内のピクセルに基づき前記現在のブロックをコーディングすることは、イントラブロックコピー(IBC)動作であり、前記仮想バッファはIBC仮想バッファである、
付記1乃至17のうちいずれかに記載の方法。
【0183】
(付記19)
ビデオ処理の方法であって、
ビデオの現在のブロックのビットストリーム表現と前記現在のブロックとの間の変換のために、前記変換のためのブロックベクトル探索エリアの最小サイズよりも大きいイントラブロックコピー(IBC)仮想バッファサイズを割り当てるステップと、
前記割り当てに基づき前記変換を実行するステップと
を有する方法。
【0184】
(付記20)
前記IBC仮想バッファサイズは、前記変換のために使用される仮想パイプラインデータユニットメモリの全サイズよりも大きい、
付記19に記載の方法。
【0185】
(付記21)
前記IBC仮想バッファサイズの幅は、(128*128/ctbSizeY+CtbSizeY)である、
付記19乃至20のうちいずれかに記載の方法。
【0186】
(付記22)
ビデオ処理の方法であって、
ビデオの現在のブロックのビットストリーム表現と前記現在のブロックとの間の変換のために、ルールに基づいて、イントラブロック予測コーディングに基づいた前記変換のための参照ブロックのサイズを決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有し、
前記ルールは、仮想パイプラインデータユニット(VPDU)列又はVPDU行内にあるよう前記参照ブロックを制約する、
方法。
【0187】
(付記23)
前記ルールは、前記参照ブロックが異なるVPDU行にわたることを許されない、
付記22に記載の方法。
【0188】
(付記24)
前記ルールは、前記参照ブロックが異なるVPDU列にわたることを許さない、
付記22に記載の方法。
【0189】
(付記25)
前記VPDU列又は前記VPDU行は、前記現在のブロックを含むピクチャと相対的である、
付記22乃至24のうちいずれかに記載の方法。
【0190】
(付記26)
前記VPDU列又は前記VPDU行は、イントラブロックコピー仮想バッファと相対的である、
付記22乃至24のうちいずれかに記載の方法。
【0191】
(付記27)
前記変換は、前記現在のブロックから前記ビットストリーム表現を生成するビデオ符号化を有する、
付記1乃至26のうちいずれかに記載の方法。
【0192】
(付記28)
前記変換は、前記ビットストリーム表現から前記現在のブロックを生成するビデオ復号化を有する、
付記1乃至26のうちいずれかに記載の方法。
【0193】
(付記29)
ビデオシステム内の装置であって、
プロセッサと、
命令を有しているメモリと
を有し、
前記命令は、前記プロセッサによる実行時に、前記プロセッサに、付記1乃至28のうちいずれか1つに記載の方法を実装させる、
装置。
【0194】
(付記30)
非一時的なコンピュータ可読媒体に記憶されているコンピュータプログラム製品であって、
付記1乃至28のうちいずれか1つに記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
【0195】
(付記31)
本明細書で記載される方法、装置、又はシステム。
【0196】
第2の付記の組は、前のセクション(例えば、例となる項目13から21)で開示されている技術の特定の特徴及び態様について記載する。
【0197】
(付記1)
ビデオ処理の方法(例えば、図11Aに示される方法1110)であって、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに従って、前記現在のビデオブロックを予測するために使用される前記ビデオピクチャの参照領域の参照サンプル値をリセットすべきかどうか又はどのようにリセットすべきかを決定するステップ1112と、
前記決定に基づき前記変換を実行するステップ1114と
を有する方法。
【0198】
(付記2)
前記ルールは、前記参照領域の前記参照サンプル値が前記ビデオピクチャのコーディングツリーユニット(CTU)行の最初にリセットされないことを定める、
付記1に記載の方法。
【0199】
(付記3)
現在のCTU行の上にある上CTU行から受け継がれた前記参照領域は、前記ビデオピクチャの前記現在のCTU行の初期状態として使用される、
付記1に記載の方法。
【0200】
(付記4)
前記ルールは、前記参照領域の前記参照サンプル値が前記ビデオピクチャのコーディングツリーユニット(CTU)行の最初に部分的にリセットされることを定める、
付記1に記載の方法。
【0201】
(付記5)
前記ルールは、前記CTU行の上に位置している上CTU行の仮想パイプラインデータユニット(VPDU)が前記参照領域において受け継がれ、残りの参照領域がリセットされることを更に定める、
付記4に記載の方法。
【0202】
(付記6)
前記ルールは、前記CTU行の上に位置している上CTU行の最左下仮想パイプラインデータユニット(VPDU)が前記参照領域において受け継がれ、残りの参照領域がリセットされることを更に定める、
付記4に記載の方法。
【0203】
(付記7)
ビデオ処理の方法(例えば、図11Bに示される方法1120)であって、
ルーマブロック及び対応する1つ以上のクロマブロックを含むビデオのビデオピクチャの現在のビデオ領域と、前記ビデオのコーディングされた表現との間の変換のために、前記1つ以上のクロマブロックの位置から独立しているルールに基づき、前記現在のビデオ領域を予測するために使用される前記ビデオピクチャの参照領域の1つ以上の参照サンプルを利用不可としてマークすべきかどうか及び/又はどのようにマークすべきかを決定するステップ1122と、
前記決定に基づき前記変換を実行するステップ1124と
を有する方法。
【0204】
(付記8)
前記ルールは、前記ルーマブロックが現在の仮想パイプラインデータユニット(VPDU)内の第1ブロックである場合にのみ、前記参照領域内の前記1つ以上の対応するサンプルを利用不可としてマークすることを定める、
付記7に記載の方法。
【0205】
(付記9)
前記ルールは、前記変換中に前記1つ以上のクロマブロックを処理しているときに、前記参照領域の前記1つ以上の参照サンプルをリセットすること又は利用不可であるとしてマークすることが許されないことを定める、
付記7に記載の方法。
【0206】
(付記10)
ビデオ処理の方法(例えば、図11Cに示される方法1130)であって、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、最も最近に処理された仮想パイプラインデータユニット(VPDU)の位置及びVPDUのサイズに依存するルールに基づき、前記現在のビデオブロックを予測するために使用される前記ビデオピクチャの参照領域の1つ以上の参照サンプルにマークすべきかどうか及び/又はどのようにマークすべきかを決定するステップ1132と、
前記決定に基づき前記変換を実行するステップ1134と
を有する方法。
【0207】
(付記11)
前記ルールは、前記参照領域の前記1つ以上の参照サンプルを利用不可としてマークすべきかどうか及び/又はどのようにマークすべきかが前記ビデオのブリック、スライス、タイル、又はピクチャ内の最も最近に復号されたVPDUの位置に依存することを定める、
付記10に記載の方法。
【0208】
(付記12)
前記ルールは、前記参照領域の前記1つ以上の参照サンプルを利用不可としてマークすべきかどうか及び/又はどのようにマークすべきかが前記ビデオのブリック、スライス、タイル、又はピクチャのコーディングツリーユニット(CTU)行内の最も最近に復号されたVPDUの位置に依存することを定める、
付記10に記載の方法。
【0209】
(付記13)
前記ルールは、マークされる前記参照領域の前記1つ以上の参照サンプルが前記現在のビデオブロックの位置から独立して決定されることを定める、
付記10に記載の方法。
【0210】
(付記14)
ビデオ処理の方法(例えば、図11Dに示される方法1140)であって、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに従って、前記現在のビデオブロックを予測するために使用されるブロックベクトルに対する制約を決定するステップ1142と、
前記決定に基づき前記変換を実行するステップ1144と
を有し、
前記ブロックベクトルは、前記現在のビデオブロックと、前記現在のビデオブロックを予測的にコーディングするために使用される前記ビデオピクチャ内の参照領域との間の変位を示し、
前記ルールは、前記ビデオピクチャのコーディングツリーユニット(CTU)行を横断する前記ブロックベクトルが許されないことを定める、
方法。
【0211】
(付記15)
前記ルールは、前記CTU行とは異なる他のCTU行からの前記ブロックベクトルが前記現在のビデオブロックの予測のために適用されないことを更に定める、
付記14に記載の方法。
【0212】
(付記16)
ビデオ処理の方法(例えば、図11Eに示される方法1150)であって、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに基づき、前記ビデオピクチャのコーディングツリーユニット(CTU)行にわたって他のブロックとともに前記現在のビデオブロックのエッジの少なくとも一部のサンプルにデブロッキングフィルタを適用すべきかどうかを決定するステップ1152と、
前記決定に基づき前記変換を実行するステップ1154と
を有し、
前記現在のビデオブロックは、前記現在のビデオブロックの予測が前記現在のビデオブロックのビデオスライスからのサンプル値に基づき導出されるイントラブロックコピー(IBC)モードを用いてコーディングされる、
方法。
【0213】
(付記17)
前記ルールは、前記現在のビデオブロックをコーディングするための前記IBCモードの使用により、前記決定が前記他のブロックに対応する動きベクトル及び/又は前記他のブロックのコーディングモードから独立していることを定める、
付記16に記載の方法。
【0214】
(付記18)
前記ルールは、デブロッキング境界強さが、
1)前記現在のビデオブロック及び前記他のブロックが異なるCTU行のブロックである場合、及び
2)前記他のビデオブロックが前記IBCモード又はインターモードでコーディングされる場合に、
常に1にセットされることを定める、
付記17に記載の方法。
【0215】
(付記19)
前記ルールは、デブロッキング境界強さが、
1)前記現在のビデオブロック及び前記他のブロックが異なるCTU行のブロックである場合、及び
2)前記他のビデオブロックが前記IBCモード又はインターモードでコーディングされる場合に、
常に0にセットされることを定める、
付記17に記載の方法。
【0216】
(付記20)
前記ルールは、前記決定が、前記他のブロックが前記IBCモード又はインターモードを用いてコーディングされるかどうかから独立していることを定める、
付記16に記載の方法。
【0217】
(付記21)
前記ルールは、デブロッキング境界強さが、
1)前記現在のビデオブロック及び前記他のブロックが異なるCTU行のブロックである場合、及び
2)前記他のビデオブロックが前記インターモードでコーディングされない場合に、
常に1にセットされることを定める、
付記20に記載の方法。
【0218】
(付記22)
ビデオ処理の方法(例えば、図11Fに示される方法1160)であって、
ビデオのビデオピクチャの現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、ルールに従って、前記ビデオピクチャの第1サブピクチャ又は第2サブピクチャのうちの少なくとも1つを用いて前記現在のビデオブロックのための予測ブロックを生成するサブピクチャ予測の適用可能性を決定するステップ1162と、
前記決定に基づき前記変換を実行するステップ1164と
を有する方法。
【0219】
(付記23)
前記ルールは、前記第1サブピクチャの境界が前記ビデオピクチャの境界と一致する場合に、前記ビデオの前記第2サブピクチャからの情報を使用することを許すことを定める、
付記22に記載の方法。
【0220】
(付記24)
前記第1サブピクチャの境界は、前記第1サブピクチャの左又は右境界である、
付記23に記載の方法。
【0221】
(付記25)
前記ビデオピクチャの境界は、前記ビデオピクチャの左又は右境界である、
付記23に記載の方法。
【0222】
(付記26)
前記第2サブピクチャの左又は右境界は、前記ビデオピクチャの左又は右境界と一致する、
付記24に記載の方法。
【0223】
(付記27)
前記ルールは、ピクチャラッピングが許される場合にのみ、前記サブピクチャ予測が適用されることを定める、
付記22に記載の方法。
【0224】
(付記28)
前記コーディングされた表現は、1に等しいシンタックス要素sps_ref_wraparound_enabled_flagを含む、
付記27に記載の方法。
【0225】
(付記29)
前記ルールは、ピクチャラッピングが前記第1サブピクチャ及び前記第2サブピクチャを除くことを更に定める、
付記22に記載の方法。
【0226】
(付記30)
前記ルールは、前記ピクチャラッピングが有効にされる場合に、前記第1サブピクチャ及び前記第2サブピクチャが使用されないことを更に定める、
付記29に記載の方法。
【0227】
(付記31)
前記ルールは、前記第1サブピクチャ又は前記第2サブピクチャのうちの少なくとも1つが使用される場合に、ピクチャラッピングが有効にされることを更に定める、
付記22に記載の方法。
【0228】
(付記32)
前記ルールは、前記第1サブピクチャ又は前記第2サブピクチャのうちの少なくとも1つが前記ビデオピクチャの境界と一致する境界を有している場合に、前記ピクチャラッピングが有効にされることを更に定める、
付記31に記載の方法。
【0229】
(付記33)
ビデオ処理の方法(例えば、図11Gに示される方法1170)であって、
ルールに従って、ビデオのクロマ成分の現在のビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップ1172を有し、
前記ルールは、前記変換に使用されるクロマ量子化パラメータ(QP)テーブルの最小インデックスが前記クロマ成分のサンプルのビットデプスから独立していることを定める、
方法。
【0230】
(付記34)
前記ルールは、前記クロマQPテーブルの前記最小インデックスが前記ビデオのルーマ成分のサンプルのビットデプスに依存することを定める、
付記33に記載の方法。
【0231】
(付記35)
前記ルールは、前記クロマQPテーブルの前記最小インデックスが6*bit_depth_luma_minus8の値に等しいQpBdOffsetであることを定め、bit_depth_luma_minus8は、ルーマアレイのサンプルのビットデプスBitDepthYを示す、
付記33に記載の方法。
【0232】
(付記36)
前記変換は、前記ビデオを前記コーディングされた表現に符号化することを含む、
付記1乃至35のうちいずれかに記載の方法。
【0233】
(付記37)
前記変換は、前記コーディングされた表現を復号して前記ビデオを生成することを含む、
付記1乃至35のうちいずれかに記載の方法。
【0234】
(付記38)
付記1乃至37のうちいずれか一つ以上に記載の方法を実装するよう構成されたプロセッサを有するビデオ処理装置。
【0235】
(付記39)
実行される場合に、プロセッサに、付記1乃至37のうちいずれか一つ以上に記載の方法を実装させるプログラムコードを記憶しているコンピュータ可読媒体。
【0236】
(付記40)
付記1乃至37のうちいずれかに記載の方法に従って生成されたコーディングされた表現又はビットストリーム表現を記憶するコンピュータ可読媒体。
【0237】
上記から、目下開示されている技術の具体的な実施形態は、例示のために本明細書で記載されているのであって、様々な変更が、発明の範囲から逸脱せずに行われてもよい、ことが理解されるだろう。従って、目下開示されている技術は、添付の特許請求の範囲によることを除いて、限定されない。
【0238】
本明細書で記載されている主題及び機能動作の実装は、様々なシステムで、デジタル電子回路で、又は本明細書で開示されている構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、あるいは、それらの1つ以上の組み合わせで、実装可能である。本明細書で記載されている主題の実装は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のために又はその動作を制御するために有形的かつ非一時的なコンピュータ可読媒体上で符号化されたコンピュータプログラム命令の1つ以上のモジュール、として実装可能である。コンピュータ可読媒体は、機械読み出し可能な記憶デバイス、機械読み出し可能な記憶担体、メモリデバイス、機械読み出し可能な伝搬信号をもたらす組成物、又はそれらの1つ以上の組み合わせであることができる。「データ処理ユニット」又は「データ処理装置」との用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理する全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコード、を含むことができる。
【0239】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで実行されるようデプロイ可能である。
【0240】
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)によっても実行可能であり、装置は、そのようなものとして実装可能である。
【0241】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0242】
本明細書は、図面とともに、単に実例として見なされるべきであることが意図され、実例とは、例を意味する。本明細書で使用されるように、「又は」(or)の使用は、文脈中で別段明示されない限りは、「及び/又は」(and/or)を含むよう意図される。
【0243】
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで、実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0244】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が、示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0245】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
【0246】
[関連出願への相互参照]
願は、2019年9月23日付けで出願された国際特許出願第PCT/CN2019/107380号に対する優先権及びその利益を請求して2020年9月23日付けで出願された国際特許出願第PCT/CN2020/116959号に基づく。上記の全ての願はそれらの全文を参照により本願援用される。
図1
図2
図3
図4A
図4B
図4C
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図11E
図11F
図11G