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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-06-16
(54)【発明の名称】符号化映像における二次変換の使用
(51)【国際特許分類】
   H04N 19/12 20140101AFI20220609BHJP
   H04N 19/136 20140101ALI20220609BHJP
   H04N 19/176 20140101ALI20220609BHJP
   H04N 19/70 20140101ALI20220609BHJP
【FI】
H04N19/12
H04N19/136
H04N19/176
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021561889
(86)(22)【出願日】2020-04-23
(85)【翻訳文提出日】2021-10-15
(86)【国際出願番号】 CN2020086444
(87)【国際公開番号】W WO2020216299
(87)【国際公開日】2020-10-29
(31)【優先権主張番号】PCT/CN2019/083853
(32)【優先日】2019-04-23
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】特許業務法人栄光特許事務所
(72)【発明者】
【氏名】ジャン カイ
(72)【発明者】
【氏名】ジャン リー
(72)【発明者】
【氏名】リウ ホンビン
(72)【発明者】
【氏名】シュー ジジョン
(72)【発明者】
【氏名】ワン ユエ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC12
5C159TA37
5C159TB08
5C159TC24
5C159TC26
5C159UA02
5C159UA05
(57)【要約】
映像処理方法は、映像の1つのブロックと前記映像のビットストリーム表現との間での変換のために、前記ブロックの1つの寸法が1つの条件を満たす場合、前記ブロックの1つのサブブロックに対して縮小寸法による二次変換(例えば、逆低周波数非可分変換)を適用可能であると判定することを含む。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法は、前記ブロックの寸法から縮小されたものである。前記方法は、前記判定に基づいて前記変換を行うことをも含む。
【選択図】図17
【特許請求の範囲】
【請求項1】
映像処理方法であって、
映像のブロックと前記映像のビットストリーム表現との間での変換のために、前記ブロックの寸法が条件を満たす場合、前記ブロックの単一のサブブロックに対して縮小寸法による二次変換が適用可能であると判定することであって、前記二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われ、前記縮小寸法は、前記ブロックの寸法から縮小されたものである、判定することと、
前記判定することに基づいて前記変換を行うことと、
を含む方法。
【請求項2】
前記縮小寸法は、前記サブブロックの寸法に対応する、
請求項1に記載の方法。
【請求項3】
前記二次変換が適用可能である前記単一のサブブロックは、前記現在のブロックの左上のサブブロックである、
請求項1または2に記載の方法。
【請求項4】
前記単一のサブブロックは、M×Nの寸法を有し、
MおよびNは正の整数である、
請求項1~3のいずれか1項以上に記載の方法。
【請求項5】
M=N=4である、
請求項4に記載の方法。
【請求項6】
前記条件は、前記ブロックの前記寸法が4×HまたはW×4であり、H>8およびW>8であることを規定する、
請求項1~5のいずれか1項以上に記載の方法。
【請求項7】
(1)H>T1、または(2)W>T2のうちの少なくとも1つが満たされ、T1およびT2が8よりも大きい、または4よりも大きい、
請求項6に記載の方法。
【請求項8】
T1=T2=16である、
請求項6に記載の方法。
【請求項9】
(1)H<T1、または(2)W<T2のうちの少なくとも1つが満たされ、T1およびT2が8よりも大きい、請求項6に記載の方法。
【請求項10】
T1=T2=32である、請求項9に記載の方法。
【請求項11】
前記条件は、前記ブロックの前記寸法がM×HまたはW×Nであり、H≧NおよびW≧Mであることを規定する、
請求項1~5のいずれか1項以上に記載の方法。
【請求項12】
映像処理方法であって、
映像のブロックと前記映像のビットストリーム表現との間での変換のために、縮小寸法による二次変換が前記ブロックにおけるK×Lの寸法を有する領域に適用可能であることを判定することであって、KおよびLは正の整数であり、KはLに等しくなく、前記二次変換は、順方向一次変換と量子化ステップとの間、または逆量子化ステップと逆方向一次変換との間で行われ、前記縮小寸法は、前記ブロックの寸法から縮小されたものである、判定することと、
前記判定することに基づいて前記変換を行うことと、
を含む方法。
【請求項13】
前記縮小寸法は、前記領域の寸法に対応する、
請求項12に記載の方法。
【請求項14】
非ゼロ範囲外にある前記領域の係数は、ゼロに設定される、
請求項12または13に記載の方法。
【請求項15】
前記非ゼロ範囲は前記ブロックの左上の領域として表現され、
前記左上の領域は、M×Mの寸法を有し、MはKおよびL以下である、請求項14に記載の方法。
【請求項16】
映像処理方法であって、
映像のブロックと前記映像のビットストリーム表現との間での変換のために、前記ブロックの特徴に基づいて非ゼロ範囲を判定することであって、前記非ゼロ範囲は、縮小寸法による二次変換に関連付けられた係数をゼロに設定する範囲外に相当し、前記二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われ、前記縮小寸法は前記ブロックの寸法から縮小されたものである、判定することと、
前記判定することに基づいて前記変換を行うことと、
を含む、映像処理方法。
【請求項17】
前記ブロックの前記特徴は前記ブロックの色成分を含む、
請求項16に記載の方法。
【請求項18】
前記ブロックの輝度成分のための第1の非ゼロ範囲は、前記ブロックのクロマ成分のための第2の非ゼロ範囲とは異なる、
請求項17に記載の方法。
【請求項19】
前記ブロックの前記特徴は、前記ブロックの符号化された情報を含む、
請求項16に記載の方法。
【請求項20】
前記符号化された情報は、前記ブロックがイントラモードで符号化されたか、または非イントラモードで符号化されたかを示す情報を含む、
請求項19に記載の方法。
【請求項21】
前記符号化された情報は、前記ブロックがイントラモード、インターモードまたはインターブロックコピーモードで符号化されたかどうかを示す情報を含む、
請求項20に記載の方法。
【請求項22】
前記符号化された情報は、動き情報の参照ピクチャを含む、
請求項20に記載の方法。
【請求項23】
前記ブロックの前記特徴は、前記ブロックの量子化パラメータを含む、
請求項16に記載の方法。
【請求項24】
第1の非ゼロ範囲は第1の量子化パラメータに対応し、
第2の非ゼロ範囲は第2の量子化パラメータに対応し、
前記第1の非ゼロ範囲は、前記第1の量子化パラメータが前記第2の量子化パラメータ以上である場合、前記第2の非ゼロ範囲以下である、
請求項23に記載の方法。
【請求項25】
異なる非ゼロ範囲は、前記二次変換のための異なる変換行列に関連付けられる、
請求項16~24のいずれか1項以上に記載の方法。
【請求項26】
前記非ゼロ範囲は、シーケンスパラメータセット、ピクチャパラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニット(CTU)行、CTU、または符号化ユニットにおいて、前記ビットストリーム表現で信号通知される、
請求項16~25のいずれか1項以上に記載の方法。
【請求項27】
複数の非ゼロ範囲が前記二次変換に適用可能であり、
前記複数の非ゼロ範囲のうちの1つの選択を示す値は、シーケンスパラメータセット、ピクチャパラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニット(CTU)行、CTU、または符号化ユニットにおいて、前記ビットストリーム表現で信号通知される、
請求項16~26のいずれか1項以上に記載の方法。
【請求項28】
前記変換を行うことは、前記映像の前記ブロックに基づいて前記ビットストリーム表現を生成することを含む、
請求項1~27のいずれか1項以上に記載の方法。
【請求項29】
前記変換を行うことは、前記ビットストリーム表現から前記映像の前記ブロックを生成することを含む、
請求項1~27のいずれか1項以上に記載の方法。
【請求項30】
映像符号化方法であって、
縮小寸法による二次変換が、映像のブロックの2つの隣接するサブブロックに適用可能であることを判定することであって、前記2つの隣接するサブブロックの各々は、M×Nの寸法を有し、MおよびNは正の整数であり、前記二次変換は、順方向一次変換と量子化ステップとの間で行われ、前記縮小寸法は、前記ブロックの寸法から縮小されたものである、判定することと、
前記判定することに基づいて前記映像の符号化表現を生成することと、
を含む方法。
【請求項31】
前記縮小寸法は、前記2つの隣接するブロックの寸法に対応する、
請求項30に記載の方法。
【請求項32】
前記2つの隣接するサブブロックの係数を2×M×N個の要素を有する一次元ベクトルに配列することを含む、
請求項30または31に記載の方法。
【請求項33】
変換行列を使用して前記一次元ベクトルに前記二次変換を適用することにより、M×N個の変換要素を取得することを含み、
前記変換行列は、2×M×N個の要素の第1の寸法と、M×N個の要素の第2の寸法と、を有する、
請求項32に記載の方法。
【請求項34】
前記M×N個の変換要素を前記2つの隣接するサブブロックの第1のサブブロック内に再配列することを含む、
請求項33に記載の方法。
【請求項35】
前記2つの隣接するサブブロックの第2のサブブロックにおける要素をゼロに設定することを含む、
請求項34に記載の方法。
【請求項36】
前記順方向一次変換および前記二次変換の両方は、サブブロックレベルで行われる、
請求項30~35のいずれか1項以上に記載の方法。
【請求項37】
映像復号化方法であって、
縮小寸法による二次変換が、映像のブロックの2つの隣接するサブブロックに適用可能であることを判定することであって、前記2つの隣接するサブブロックの各々は、M×Nの寸法を有し、MおよびNは正の整数であり、前記二次変換は、逆量子化ステップと逆方向一次変換との間で行われ、前記縮小寸法は、前記ブロックの寸法から縮小されたものである、判定することと、
前記判定することに従って、前記映像の符号化表現を構文解析することで、前記映像の前記ブロックを生成することと、
を含む方法。
【請求項38】
前記縮小寸法は、前記2つの隣接するブロックの寸法に対応する、
請求項37に記載の方法。
【請求項39】
前記2つの隣接するサブブロックの第1のサブブロックの係数をM×N個の要素を有する一次元ベクトルに配列することを含む、
請求項37または38に記載の方法。
【請求項40】
変換行列を使用して前記一次元ベクトルに前記二次変換を適用することにより、2×M×N個の変換要素を取得することを含み、
前記変換行列は、M×N個の要素の第1の寸法と、2×M×N個の要素の第2の寸法と、を有する、
請求項39に記載の方法。
【請求項41】
前記2×M×N個の変換要素を前記2つの隣接するサブブロック内に再配列することを含む、
請求項40に記載の方法。
【請求項42】
M=N=4である、
請求項30~41のいずれか1項以上に記載の方法。
【請求項43】
前記縮小寸法による前記二次変換は、低周波数非可分変換を含み、
前記低周波数は前記縮小寸法に対応する、
請求項1~42のいずれか1項以上に記載の方法。
【請求項44】
処理装置と、これに命令を備えた非一時的メモリと、を含む映像システムの装置であって、
前記処理装置による実行時の前記命令は、前記処理装置に請求項1~43のいずれか1項に記載の方法を実施させる、
装置。
【請求項45】
非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、
請求項1~43のいずれか1項に記載の方法を実行するためのプログラムコードを含む、
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2019年4月23日出願の国際特許出願第PCT/CN2019/083853号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
この特許文献は、映像符号化技術、デバイスおよびシステムに関する。
【背景技術】
【0003】
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本明細書は、映像または画像の復号化または符号化中に二次変換(低周波数非可分変換とも呼ばれる)を使用する様々な実施形態および技術を説明する。
【0005】
1つの例示的な態様において、映像処理の方法が開示される。この方法は、映像のブロックと映像のビットストリーム表現との間での変換のために、縮小寸法による逆方向二次変換からの出力値が、[min,max]の範囲内に含まれるように制約されていることを判定することを含む。逆方向二次変換は、逆量子化ステップと逆方向一次変換との間のブロックに適用可能である。縮小寸法はブロックの寸法から縮小され、minおよびmaxは整数値である。前記方法は、判定に基づいて変換を行うことをも含む。
【0006】
別の例示的な態様において、映像処理の方法が開示される。この方法は、映像のブロックと前記映像のビットストリーム表現との間での変換のために、二次変換が適用可能なサブブロックの数に基づいて、前記ブロックのサブブロックに縮小寸法による前記二次変換を適用する方法を判定することを含む。前記二次変換は、順方向一次変換と量子化ステップとの間、あるいは逆量子化ステップと逆方向一次変換との間のブロックに適用可能である。前記縮小寸法とはブロックの寸法から縮小されたものである。前記方法は、判定に基づいて変換を行うことをも含む。
【0007】
別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の1つのブロックと前記映像のビットストリーム表現との間での変換のために、前記ブロックの1つの寸法が1つの条件を満たす場合、前記ブロックの1つのサブブロックに対して縮小寸法による二次変換を適用可能であると判定することを含む。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。前記方法は、判定に基づいて変換を行うことをも含む。
【0008】
別の例示的な態様において、映像処理の方法が開示される。この方法は、映像のブロックと前記映像のビットストリーム表現との間での変換のために、縮小寸法による二次変換を前記ブロックにおけるK×Lの寸法を有する領域に適用可能であることを判定することを含む。KおよびLは正の整数であり、KはLでない。二次変換は、順方向一次変換と量子化ステップとの間、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。前記方法は、判定に基づいて変換を行うことをも含む。
【0009】
別の例示的な態様において、映像処理の方法が開示される。この方法は、映像のブロックとこの映像のビットストリーム表現との間での変換のために、このブロックの特徴に基づいて非ゼロ範囲を判定することを含む。非ゼロ範囲とは、縮小寸法による二次変換に関連付けられた係数をゼロに設定する範囲外に相当する。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。前記方法は、判定に基づいて変換を行うことをも含む。
【0010】
別の例示的な態様において、映像符号化の方法が開示される。この方法は、縮小寸法による二次変換が、1つの映像ブロックの2つの隣接するサブブロックに適用可能であることを判定することを含む。前記2つの隣接するサブブロックの各々は、M×Nの寸法を有し、MおよびNは正の整数である。前記二次変換は、順方向一次変換と量子化ステップとの間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。この方法は、前記判定に基づいて前記映像の符号化表現を生成することも含む。
【0011】
別の例示的な態様において、映像復号化の方法が開示される。この方法は、縮小寸法による二次変換が、1つの映像ブロックの2つの隣接するサブブロックに適用可能であることを判定することを含む。前記2つの隣接するサブブロックの各々は、M×Nの寸法を有し、MおよびNは正の整数である。前記二次変換は、逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。この方法は、また、前記判定に従って、前記映像の符号化表現を構文解析することで、前記映像の前記ブロックを生成することを含む。
【0012】
別の例示的な態様において、映像処理の方法が開示される。この方法は、映像のブロックと前記映像のビットストリーム表現との間での変換のために、規則に従って、前記ブロックに関連付けられた特徴に基づいて、前記ブロックに縮小寸法による二次変換を適用するかどうかを判定することを含む。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。前記方法は、判定に基づいて変換を行うことをも含む。
【0013】
別の例示的な態様において、映像処理の方法が開示される。この方法は、映像のブロックと前記映像のビットストリーム表現との間での変換のために、前記ブロックに適用可能な、縮小寸法による二次変換のための1つ以上の変換行列の係数のビット精度制約を判定することを含む。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。前記方法は、判定に基づいて変換を行うことをも含む。
【0014】
別の例示的な態様において、映像処理の方法が開示される。この方法は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するための制約規則を判定することと、前記制約規則に基づいて、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。縮小寸法による二次変換は、前記変換中に一次変換と共に特定の順序で適用される。
【0015】
別の例示的な態様において、映像処理の別の方法が開示される。この方法は、現在の映像ブロックと近傍の映像領域のビットストリーム表現と、前記現在の映像ブロックの画素と、前記近傍の領域の画素との間での変換中、縮小寸法による二次変換を選択的に適用するための制約規則を判定することと、この制約規則に従って、縮小寸法による二次変換を適用することによってこの変換を行うことを含む。縮小寸法による前記二次変換は、前記現在の映像ブロックおよび近傍の映像領域の寸法から縮小された寸法を有する。縮小寸法による二次変換は、前記変換中に一次変換と共に特定の順序で適用される。
【0016】
さらに別の例示的な態様において、映像処理の別の方法が開示される。この方法は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するためのゼロ化規則を判定することと、前記ゼロ化規則に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。ゼロ化規則は、縮小寸法による二次変換に使用される係数の最大数を規定する。
【0017】
さらに別の例示的な態様において、映像処理の別の方法が開示される。この方法は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するためのゼロ化規則を判定することと、前記ゼロ化規則に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。ゼロ化規則は、縮小寸法による二次変換に使用される係数の最大数を規定する。
【0018】
さらに別の例示的な態様において、映像処理の別の方法が開示される。この方法は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するための条件を判定することと、前記条件に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。この条件は、ビットストリーム表現で信号通知される。
【0019】
さらに別の例示的な態様において、映像処理の別の方法が開示される。この方法は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するためのゼロ化規則を判定することと、前記条件に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。この変換は、共存規則に基づいて、位置依存イントラ予測(PDPC)を選択的に適用することを含む。
【0020】
さらに別の例示的な態様において、映像処理の別の方法が開示される。この方法は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を適用することと、前記条件に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。前記適用は、変換中にイントラ予測のために近傍のサンプルを使用することを制御する。
【0021】
さらに別の例示的な態様において、映像処理の別の方法が開示される。この方法は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用することと、前記条件に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。前記選択的に適用することは、前記変換の間、量子化行列の使用を制御する。
【0022】
さらに別の例示的な態様において、映像エンコーダが開示される。この映像エンコーダは、上述した方法の1つ以上を実装するように構成された処理装置を備える。
【0023】
さらに別の例示的な態様において、映像デコーダが開示される。この映像デコーダは、上述した方法の1つ以上を実装するように構成された処理装置を備える。
【0024】
さらに別の例示的な態様において、コンピュータ可読媒体が開示される。媒体は、媒体に記憶された上述した方法の1つ以上を実装するためのコードを含む。
【0025】
これらの、および他の態様は、本明細書で説明される。
【図面の簡単な説明】
【0026】
図1】エンコーダブロック図の例を示す。
図2】67個のイントラ予測モードの例を示す。
図3A】広角イントラ予測のための参照サンプルの例を示す。
図3B】広角イントラ予測のための参照サンプルの例を示す。
図4】45度を超える方向において不連続となる課題の例を示す図である。
図5A】斜めおよび隣接する角イントラモードに適用されるPDPCで使用されるサンプルの例を示す図である。
図5B】斜めおよび隣接する角イントラモードに適用されるPDPCで使用されるサンプルの例を示す図である。
図5C】斜めおよび隣接する角イントラモードに適用されるPDPCで使用されるサンプルの例を示す図である。
図5D】斜めおよび隣接する角イントラモードに適用されるPDPCで使用されるサンプルの例を示す図である。
図6】4×8および8×4ブロックの分割の例を示す。
図7】4×8、8×4、4×4を除くすべてのブロックの分割の例を示す。
図8】1つの4×8のサンプルのブロックを2つの独立した復号化可能な領域に分割する。
図9】垂直方向予測モジュールを有する4×Nのブロックに対してスループットを最大にするように、画素の行を処理する例示的な順序を示す。
図10】二次変換の例を示す。
図11】提案された縮小二次変換(RST)の例を示す。
図12】順方向および逆方向(または逆方向)縮小変換の例を示す。
図13】16×48行列を有する順方向RST8×8処理の例を示す。
図14】非ゼロ要素のために位置17~64を走査する例を示す。
図15】サブブロック変換モードSBT-VおよびSBT-Hを示す。
図16】本特許明細書に記載される技術を実現するためのハードウェアプラットフォームの一例を示すブロック図である。
図17】映像処理の方法の一例を示すフローチャートである。
図18】開示された技術を実装することができる例示的な映像処理システムを示すブロック図である。
図19】本技術による映像処理のための例示的な方法のフローチャートである。
図20】本技術による映像処理のための別の例示的な方法のフローチャートである。
図21】本技術による映像処理のための別の例示的な方法のフローチャートである。
図22】本技術による映像処理のための別の例示的な方法のフローチャートである。
図23】本技術による映像処理のための別の例示的な方法のフローチャートである。
図24A】本技術による映像符号化のための例示的な方法のフローチャートである。
図24B】本技術による映像復号化のための例示的な方法のフローチャートである。
図25】本技術による映像処理のための別の例示的な方法のフローチャートである。
図26】本技術による映像処理のためのさらに別の例示的な方法のフローチャートである。
【発明を実施するための形態】
【0027】
本明細書では、理解を容易にするために章の見出しを使用しており、1つの章に開示された実施形態をその章にのみ限定するものではない。さらに、特定の実施形態は、VVC(Versatile Video Coding)または他の特定の映像コーデックを参照して説明されたが、開示された技術は、他の映像符号化技術にも適用可能である。さらに、いくつかの実施形態は映像符号化ステップを詳細に説明しているが、符号化を復号化する、対応するステップはデコーダによって実行されることが理解されよう。さらに、映像処理という用語は、映像符号化または圧縮、映像の復号化または展開、および映像の画素がある圧縮形式から別の圧縮形式へ、または別の圧縮ビットレートで表現される映像のコード変換を含む。
【0028】
1.概要
【0029】
本明細書は、映像符号化技術に関する。具体的には、映像符号化における変換に関する。HEVCのような既存の映像符号化規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像符号化規格または映像コーデックにも適用可能である。
【0030】
2.初期の協議
【0031】
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC[1]規格を共同で作った。H.262以来、映像符号化規格は、時間予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。HEVCを超えた将来の映像符号化技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode) [2]と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJoint Video Expert Team(JVET)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
【0032】
2.1 色空間およびクロマサブサンプリング
【0033】
色空間はカラーモデル(またはカラーシステム)としても知られ、色の範囲を数字のタプル(tuple)として簡単に記述する抽象的な数学モデルであり、一般的に、3または4つの値または色成分(例えばRGB)である。基本的には、色空間は座標系とサブ空間とを精緻化したものである。
【0034】
映像圧縮の場合、最も頻繁に使用される色空間は、YCbCrおよびRGBである。
【0035】
CYBCRorY’CBCR と呼ばれるYCbCr,Y’CbCr,またはY Pb/Cb Pr/Crは、カラー画像のパイプライン映像およびデジタル写真システムの一部として使用される色空間のファミリーである。Y’は輝度成分であり、CBおよびCRは青色差および赤色差色成分である。Y’(素数を有する)はYとは区別され、Yは輝度であり、ガンマ補正されたRGB原色に基づいて光強度が非線形に符号化されることを意味する。
【0036】
クロマサブサンプリングは、人間の視覚システムが、輝度よりも色差の方が知覚が低いことを利用して、輝度情報よりもクロマ情報の方が解像度が低くなるように実装して画像を符号化する方法である。
【0037】
2.1.1 フォーマット 4:4:4
【0038】
3つのY’CbCr成分の各々は、同じサンプルレートを有し、従って、クロマサブサンプリングは存在しない。このスキームは、ハイエンドのフィルムスキャナーや映画のポストプロダクションで使用されることがある。
【0039】
2.1.2 フォーマット 4:2:2
【0040】
2つのクロマ成分は、輝度のサンプルレートの半分でサンプリングされ、水平クロマ解像度が半分にされる。これにより、視覚的にほとんどまたは全く差がなく、非圧縮の映像信号の帯域幅を1/3に低減してもよい。
【0041】
2.1.3 フォーマット 4:2:0
【0042】
4:2:0では、水平サンプリングは4:1:1に比べて2倍になるが、このスキームではCbおよびCrチャネルを各1行おきのラインでのみサンプリングするので、垂直解像度は半分になる。従って、データレートは同じである。CbおよびCrはそれぞれ水平および垂直方向の両方向に2倍にサブサンプリングされる。異なる水平および垂直位置を有する4:2:0スキームの3つの変形がある。
【0043】
MPEG-2において、CbおよびCrは水平方向に共座している。Cb、Crは垂直方向の画素間に位置する(格子間に位置する)。
【0044】
JPEG/JFIFにおいて、H.261、およびMPEG-1、Cb、およびCrは、交互の輝度サンプルの中間の格子間に位置する。
【0045】
4:2:0 DVにおいて、CbおよびCrは、水平方向に共座している。垂直方向において、それらは交互に並ぶ線上に共座している。
【0046】
2.2 典型的な映像コーデックの符号化フロー
【0047】
図1は、3つのインループフィルタリングブロック、すなわち非ブロック化フィルタ(DF)、サンプル適応オフセット(SAO)およびALFを含むVVCのエンコーダブロック図の例を示す。DF(予め規定されたフィルタを使用する)とは異なり、SAOおよびALFは、現在のピクチャのオリジナルサンプルを利用し、オフセットを追加し、且つ有限インパルス応答(FIR)フィルタを適用することによって、オフセットおよびフィルタ係数を信号通知する符号化側情報とともに、元のサンプルと再構成サンプルとの間の平均二乗誤差をそれぞれ低減する。ALFは、各ピクチャの最後の処理ステージに位置し、前のステージで生成されたアーチファクトを捕捉し、修正しようとするツールと見なすことができる。
【0048】
2.3 67個のイントラ予測モードを有するイントラモード符号化
【0049】
自然映像に表される任意のエッジ方向をキャプチャするために、指向性イントラモードの数は、HEVCで使用されるように、33から65に拡張される。追加の指向性モードは、図2において点線の矢印で示され、平面モードとDCモードは同じままである。これらのより密度の高い指向性イントラ予測モードは、すべてのブロックサイズ、および輝度およびクロマイントラ予測の両方に適用される。
【0050】
従来のアンギュラ・イントラ予測方向は、図2に示すように、時計回り方向に45度から-135度まで規定される。VTM2において、いくつかの従来の角度イントラ予測モードは、非正方形のブロックのために、広角イントラ予測モードに適応的に置き換えられる。置換されたモードは、元の方法を使用して信号通知され、構文解析後、広角モードのインデックスに再マッピングされる。イントラ予測モードの総数は変化せず、例えば、67であり、イントラモードの符号化は変化しない。
【0051】
前記HEVCにおいて、すべてのイントラ符号化されたブロックは正方形の形状を有し、その辺の各々の長さは2の累乗である。このように、DCモードを使用してイントラ予測子を生成するのに、除算演算を必要としない。VVV2において、ブロックは長方形であってもよく、一般的な場合、ブロックごとに除算演算を使用することが必要である。DC予測のための除算演算を回避するために、長辺のみを使用して非正方形のブロックの平均を計算する。
【0052】
2.4 非正方形のブロックのための広角イントラ予測
【0053】
従来の角度イントラ予測方向は、時計回り方向に45度から-135度まで規定される。VTM2において、いくつかの従来の角度イントラ予測モードは、非正方形のブロックのために、広角イントラ予測モードに適応的に置き換えられる。置換されたモードは、元の方法を使用して信号通知され、構文解析後、広角モードのインデックスに再マッピングされる。あるブロックのためのイントラ予測モードの総数は変化せず、例えば、67であり、イントラモード符号化は変化しない。
【0054】
これらの予測方向を支援するために、長さ2W+1の上側基準および長さ2H+1の左側基準を図3A図3Bに示すように定義する。
【0055】
広角方向モードにおける置換モードのモード数は、ブロックのアスペクト比に依存する。置換されたイントラ予測モードを表1に示す。
【0056】
【表1】
【0057】
図4に示すように、垂直方向に隣接する2つの予測サンプルは、広角イントラ予測において、2つの隣接しない参照サンプルを使用してもよい。そこで、広角予測にローパス参照サンプルフィルタリングおよびサイドスムージングを適用し、gapΔpα増加のマイナスの影響を低減する。
【0058】
2.5 位置依存イントラ予測
【0059】
VTM2において、平面モードのイントラ予測の結果は、位置依存イントラ予測(PDPC)法によってさらに修正される。PDPCは、フィルタリングされていない境界参照サンプルと、フィルタリングされた境界参照サンプルを有するHEVCスタイルのイントラ予測とを組み合わせることを呼び出すイントラ予測方法である。PDPCは信号通知なしで以下のイントラモードに適用される:プラナー、DC、水平、垂直、左下の角度モードとその隣接する8つの角度モード、右上の角度モードとその隣接する8つの角度モード。
【0060】
以下の式に従って、イントラ予測モード(直流、平面、角度)および参照サンプルの線形結合を使用して、予測サンプル前置(x,y)を予測する。
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6
式中、Rx,-1,R-1,yは、現在のサンプル(x,y)の左上および上に位置する参照サンプルをそれぞれ表し、R-1,-1は、現在のブロックの左上隅に位置する参照サンプルを表す。
【0061】
PDPCをDC、プレーナ、水平、垂直イントラモードに適用する場合、HEVC DCモード境界フィルタまたは水平/垂直モードエッジフィルタの場合に必要とされるように、追加の境界フィルタは必要とされない。
【0062】
図5A図5Dは、様々な予測モードに適用されるPDPCのための参照サンプル(Rx,-1,R-1,yおよびR-1,-1)の定義を示す。予測サンプルpred(x’,y’)は、予測ブロック内の(x’,y’)に位置する。参照サンプルRx,-1の座標xは、x=x’+y’+1で表され、参照サンプルR-1,yの座標yは、同様にy=x’+y’+1で表される。
【0063】
図5A図5Dは、斜めおよび隣接する角イントラモードに適用されるPDPCで使用されるサンプルを示す。
【0064】
PDPC重みは予測モードに依存し、表2に示される。
【0065】
【表2】
【0066】
2.6 イントラサブブロック分割(ISP)
【0067】
いくつかの実施形態において、ISPは、表3に示すように、輝度イントラ予測ブロックを垂直または水平にブロックサイズの寸法により2個または4個のサブパーティションに分割することが提案される。図6および図7は、これら2つの可能性の例を示す。すべてのサブパーティションは、少なくとも16個のサンプルを有するという条件を満たす。
【0068】
【表3】
【0069】
図6は、4×8および8×4ブロックを分割する例を示す。
【0070】
図7は、4×8、8×4、および4×4を除くすべてのブロックを分割する例を示す。
【0071】
これらのサブパーティションの各々について、エンコーダが送信した係数をエントロピー復号化し、その後、量子化および反転変換した後、残差信号を生成する。そして、サブパーティションをイントラ予測し、最後に、予測信号に残差信号を加えることで、対応する再構成サンプルを得る。従って、各サブパーティションの再構成値は、次のサブパーティションの予測を生成するために利用可能となり、この処理等を繰り返す。すべてのサブパーティションは、同じイントラモードを共有する。
【0072】
イントラモードおよび利用される分割に基づいて、2つの異なるクラスの処理順序が使用され、これらを通常順および逆順と呼ぶ。通常順では、処理対象の第1のサブパーティションは、CUの左上のサンプルを含み、その後、下方向(水平分割)または右方向(垂直分割)に続くサブパーティションである。その結果、サブパーティション予測信号を生成するために使用する参照サンプルは、ラインの左上に位置するのみである。一方、逆の処理順序は、CUの左下のサンプルを含むサブパーティションから始まり、上へ続くか、またはCUの右上のサンプルを含むサブパーティションから始まり、左へ続く。
【0073】
2.7 ブロック差動パルスコード変調符号化(BDPCM)
【0074】
現在の画素を予測するために左(A)(または上(B))の画素を使用する水平(または垂直)予測モジュールの形状により、ブロックを最もスループット効率よく処理する方法は、1つの列(またはライン)のすべての画素を並列に処理し、これらの列(またはライン)を順次処理することである。スループットを向上させるために、我々は、以下の処理を導入する。すなわち、このブロックにおいて選択された予測子が垂直である場合、幅4のブロックを水平フロンティアで二分割し、このブロックにおいて選択された予測子が水平である場合、高さ4のブロックを垂直フロンティアで二分割する。
【0075】
1つのブロックを分割する場合、1つの領域からのサンプルに対して別の領域からの画素を使用して予測を計算することはできず、このような状況が発生した場合、予測画素を予測方向の参照画素に置き換える。これについては、垂直方向に予測された4×8個のブロック内の現在の画素Xの異なる位置について、図8に示されている。
【0076】
図8は、1つの4×8個のサンプルブロックを2つの独立した復号化可能な領域に分割する例を示す。
【0077】
この特性の結果によって、図9に示すように、4×4ブロックを2サイクルで処理することができ、4×8または8×4ブロックを4サイクルで処理してもよい。
【0078】
図9は、垂直方向予測モジュールを有する4×N個のブロックに対してスループットを最大にするように、画素の行を処理する順序の例を示す。
【0079】
表4に、ブロックのサイズに依存して、ブロックを処理するのに必要なサイクル数をまとめる。なお、両寸法がともに8以上である任意のブロックに対して、1サイクル当たり8画素以上の処理できるということは自明である。
【0080】
【表4】
【0081】
2.8 量子化残差ドメインBDPCM
【0082】
いくつかの実施形態において、量子化残差ドメインBDPCM(以下、RBDPCMと称する)が提案される。イントラ予測は、イントラ予測と同様に、予測方向(水平または垂直予測)にサンプルコピーすることで、ブロック全体で予測する。残差を量子化し、量子化された残差とその予測子(水平または垂直)量子化値との間のデルタを符号化する。
【0083】
サイズM(行)×N(列)のブロックについて、ri,j,0≦i≦M-1、0≦j≦N-1を、上または左ブロックの境界サンプルからのフィルタリングされていないサンプルを使用して、水平方向(予測ブロックに対して左隣の画素値を1ラインずつコピーする)または垂直方向(予測ブロックにおける各ラインに上隣のラインをコピーする)にイントラ予測を行った後の予測残差とする。Q(r)、0≦i≦M-1、0≦j≦N-1は、残差rの量子化バージョンを表し、この場合、残差は、元のブロックと予測ブロック値との間の差である。次に、ブロックDPCMが量子化された残差サンプルに適用され、その結果、要素r を有する修正されたM×N個の配列Rが得られる。垂直BDPCMが信号通知されると、以下のようになる。
【0084】
【数1】
【0085】
水平予測の場合、類似した規則が適用され、残差量子化サンプルは、以下の式によって得られる。
【0086】
【数2】
【0087】
残差量子化サンプルr i,jはデコーダに送られる。
【0088】
デコーダ側では、上記の計算を逆にして、Q(ri,j)、0≦i≦M-1、0≦j≦N-1を生成する。垂直予測の場合、以下である。
【0089】
【数3】
【0090】
水平方向の場合、以下である。
【0091】
【数4】
【0092】
逆量子化された残差Q-1(Q(ri,j))をイントラブロック予測値に加算し、再構成されたサンプル値を生成する。
【0093】
このスキームの主な利点は、逆方向のDPCMを、係数の構文解析中にオンザフライで行うことができ、係数の構文解析中に予測子を追加するだけで済むこと、または、構文解析後に行うことができることである。
【0094】
量子化された残差ドメインBDPCMにおいては、常に変換スキップが使用される。
【0095】
2.9 VVCにおける複数の変換セット(MTS)
【0096】
VTM4において、サイズが64×64までの大きなブロックサイズの変換が有効化され、これは、主に高解像度映像、例えば、1080pおよび4Kシーケンスに有用である。サイズ(幅または高さ、または幅と高さの両方)が64である変換ブロックに対して、高周波数変換係数をゼロにし、低周波数係数のみを保持する。例えば、M×N変換ブロックの場合、ブロック幅をM、ブロック高さをNとすると、Mが64である場合、左32列の変換係数のみが保持される。同様に、Nが64である場合、変換係数の上位32行のみが保持される。大きなブロックに対して変換スキップモードを使用する場合、値をゼロ化することなくブロック全体を使用する。
【0097】
HEVCで使用されてきたDCT-IIに加え、インター符号化ブロックおよびイントラ符号化ブロックの両方の残差符号化のために、複数の変換選択(MTS)スキームが使用される。これは、DCT8/DST7から選択された複数の変換を使用する。新しく導入された変換行列は、DST-VIIおよびDCT-VIIIである。選択されたDST/DCTの基本関数を以下の表に示す。
【0098】
【表5】
【0099】
変換行列の直交性を維持するために、変換行列はHEVCにおける変換行列よりも正確に量子化される。変換係数の中間値を16ビットの範囲内に維持するために、水平変換後および垂直変換後、すべての係数は10ビットを有することになる。
【0100】
MTSスキームを制御するために、SPSレベルにおいて、イントラおよびインターに対してそれぞれ別個の有効化フラグを規定する。SPSにおいてMTSが有効化されると、MTSが適用されているかどうかを示すように、CUレベルフラグが信号通知される。ここで、MTSは輝度に対してのみ適用される。MTS CUレベルフラグは、以下の条件が満たされる場合に信号通知される。
【0101】
- 幅および高さが共に32以下
【0102】
- CBF フラグが 1である
【0103】
MTS CUフラグがゼロである場合、DCT2が両方向に適用される。しかしながら、MTS CUフラグが1である場合、2つの他のフラグが追加的に信号通知され、それぞれ水平方向および垂直方向の変換タイプを示す。表3-10に示すように、マッピングテーブルを変換し、信号通知する。行列精度を変換する場合、8ビットの一次変換コアを使用する。そのため、HEVCで使用されるすべての変換コアは、4点DCT-2、DST-7、8点、16点、32点DCT-2など、同じに保たれる。また、64ポイントDCT-2、4ポイントDCT-8、8ポイント、16ポイント、32ポイントDST-7、DCT-8などの他の変換コアは、8ビットの一次変換コアを使用する。
【0104】
【表6】
【0105】
大きなサイズのDST-7およびDCT-8の複雑性を低減するために、サイズ(幅または高さ、または幅と高さの両方)が32であるDST-7およびDCT-8ブロックに対して、高周波数変換係数をゼロ化する。16×16個の低周波数領域内の係数のみが保持される。
【0106】
HEVCにおけるように、ブロックの残差は、変換スキップモードで符号化してもよい。構文符号化の冗長性を回避するために、CUレベルMTS_CU_flagがゼロでない場合、変換スキップフラグは信号通知されない。変換スキップのブロックサイズの制限は、JEM4におけるMTSの場合と同じであり、ブロックの幅および高さが両方とも32以下である場合、変換スキップがCUに適用可能であることを示す。
【0107】
2.10 縮小二次変換(RST)の例
【0108】
2.10.1 非可分二次変換(NSST)の例
【0109】
いくつかの実施形態において、非可分変換とも呼ばれる二次変換は、順方向一次変換と量子化(エンコーダにおいて)の間、および逆量子化と逆方向一次変換(デコーダ側において)の間に適用される。図10に示すように、ブロックサイズにより4×4(または8×8)の二次変換を行う。例えば、4×4の二次変換は、小さなブロック(例えば、min(幅、高さ)<8)に適用され、8×8の二次変換は、8×8ブロック当たりより大きなブロック(例えば、min(幅、高さ)>4)に適用される。
【0110】
図10は、JEMにおける二次変換の例を示す。
【0111】
以下、入力を例として使用して、非可分変換の適用について説明する。非可分変換を適用するために、4×4インプットブロックXを用いる。
【0112】
【数5】
【0113】
まず、ベクトルX(右矢印はベクトル記号)として表現される。
【0114】
【数6】
【0115】
非可分変換は、F=T・Xとして計算され、ここで、Fは、変換係数ベクトルを示し、Tは、16×16変換行列である。その後、そのブロック(水平、垂直、斜め)の走査順を使用して、16×1の係数ベクトルFを4×4のブロックに再編成する。インデックスが小さい係数は、4×4係数ブロックにおいて、走査インデックスが小さくなるように配置される。全体で35個の変換セットがあり、1つの変換セット当たり3つの非可分変換行列(カーネル)が使用される。イントラ予測モードから変換セットへのマッピングは、予め規定される。各変換セットに対して、選択された非可分二次変換候補は、明示的に信号通知された二次変換インデックスによってさらに規定される。このインデックスは、変換係数の後、イントラCUごとに1回、ビットストリームで信号通知される。
【0116】
2.10.2 縮小二次変換(RST)/低周波数非可分変換(LFNST)の例
【0117】
低周波数非可分変換(LFNST)とも呼ばれる縮小二次変換(RST)を、4つの変換セット(35個の変換セットの代わりに)のマッピングとして導入した。いくつかの実施形態において、8×8個のブロックおよび4×4個のブロックに対してそれぞれ16×64個(16×48にさらに低減されてもよい)の行列および16×16個の行列が用いられる。表記の便宜のために、16×64(さらに16×48に低減されてもよい)変換をRST8×8として、16×16変換をRST4×4として表す。図11はRSTの例を示す。
【0118】
図11は、提案された縮小二次変換(RST)の例を示す。
【0119】
RST計算
【0120】
縮小変換(RT)の主な考えは、N寸法ベクトルを異なる空間におけるR寸法ベクトルにマッピングすることであり、ここで、R/N(R<N)が縮小率である。
【0121】
RT行列は、R×N行列であり、以下の通りである。
【0122】
【数7】
【0123】
変換のR個の行は、N寸法空間のR個の基底であるとする。RTのための逆変換行列は、その順方向変換の転置である。順方向および逆方向室温の例を図12に示す。
【0124】
図12は、順方向および逆方向縮小変換の例を示す。
【0125】
いくつかの実施形態において、4の低減係数(1/4のサイズ)を有するRST8×8が適用される。従って、従来の8×8の非可分変換行列サイズである64×64の代わりに、16×64の直接行列が使用される。すなわち、デコーダ側において、64×16逆RST行列を使用して、8×8の左上の領域にコア(一次)変換係数を生成する。順RST8×8は、16×64(または8×8ブロックの場合、8×64)個の行列を使用し、所与の8×8領域内の左上の4×4領域のみに非ゼロ係数を生成する。換言すると、RSTが適用される場合、左上の4×4領域を除く8×8領域は、ゼロ係数のみを有することになる。RST4×4の場合、16×16(または4×4ブロックの場合、8×16)個の直接行列乗算が適用される。
【0126】
以下の2つの条件を満たす場合、条件付きで反転RSTを適用する。
【0127】
a.ブロックサイズが所与の閾値以上である(W>=4&H>=4)。
【0128】
b.変換スキップモードフラグがゼロである。
【0129】
変換係数ブロックの幅(W)および高さ(H)の両方が4よりも大きい場合、RST8×8を変換係数ブロックの左上の8×8個の領域に適用する。そうでない場合、RST4×4が、変換係数ブロックの左上の最小(8,W)×最小(8,H)領域に適用される。
【0130】
RSTインデックスが0である場合、RSTは適用されない。そうでない場合、RSTが適用され、そのカーネルにRSTインデックスが選択される。RST選択方法およびRSTインデックスの符号化については後述する。
【0131】
さらに、RSTは、イントラスライスおよびインタースライスの両方において、且つ輝度およびクロマの両方に対して適用される。デュアルツリーが有効化される場合、輝度およびクロマのためのRSTインデックスは、別個に信号通知される。インタースライス(デュアルツリーが無効化される)の場合、単一のRSTインデックスが信号通知され、輝度およびクロマの両方に使用される。
【0132】
いくつかの実施形態において、新しいイントラ予測モードとして、イントラサブパーティション(ISP)を採用した。ISPモードが選択された場合、すべての実行可能な分割ブロックにRSTが適用されたとしても、性能の向上は限界であったため、RSTは無効化され、RSTインデックスは信号通知されない。さらに、ISP予測された残差のためにRSTを無効化することにより、符号化の複雑性を低減してもよい。
【0133】
RST選択
【0134】
RST行列は、4つの変換セットから選択され、各々の変換セットは2つの変換からなる。どの変換セットを適用するかは、イントラ予測モードから以下のように判定される。
【0135】
(1) 3つのCCLMモードの1つが示された場合、変換セット0が選択される。
【0136】
(2) そうでない場合、次の表に従って、変換セットの選択を行う。
【0137】
【表7】
【0138】
IntraPredModeと呼ばれる、表にアクセスするためのインデックスは、広角イントラ予測に使用される変換済みモードインデックスである、[-14,83]の範囲を有する。
【0139】
縮小寸法のRST行列
【0140】
さらに簡単にすると、同じ変換セット構成を有する16×64個の行列の代わりに16×48個の行列を適用し、各々の行列は、右下4×4ブロック(図13)を除く左上8×8ブロックの3つの4×4ブロックから48個の入力データを取り込む。
【0141】
図13は、16×48行列を有する順方向RST8×8処理の例を示す。
【0142】
RST信号通知
【0143】
R=16の順方向RST8×8は、16×64行列を使用し、所与の8×8領域内の左上の4×4領域のみに非ゼロ係数を生成する。換言すると、RSTが適用される場合、左上の4×4領域を除く8×8領域は、ゼロ係数のみを生成する。その結果、左上の4×4(図14に示す)以外の8×8ブロック領域内にいずれかの非ゼロ要素が検出された場合、RSTが適用されなかったことを意味するため、RSTインデックスは符号化されない。このような場合、RSTインデックスはゼロであると推測される。
【0144】
図14は、非ゼロ要素のために位置17~64を走査する例を示す。
【0145】
ゼロ化範囲
【0146】
通常、4×4サブブロックに対して反転RSTを適用する前に、4×4サブブロックにおける任意の係数は、非ゼロであってもよい。しかしながら、場合によっては、サブブロックに反転RSTを適用する前に、4×4サブブロックにおけるいくつかの係数がゼロでなければならないことに留意されたい。
【0147】
nonZeroSizeを変数とする。なお、RSTを反転させる前に1-D配列に並び替える場合、インデックスがnonZeroSize以上の係数は、いずれも0である必要がある。
【0148】
nonZeroSizeが16である場合、左上の4×4サブブロックにおける係数にゼロ化制約はない。
【0149】
いくつかの実施形態において、現在のブロックのサイズが4×4または8×8であるとき、nonZeroSizeは8に設定する。他のブロック寸法の場合、nonZeroSizeは16に設定する。
【0150】
RSTの例の説明
【0151】
以下の表および説明において、本明細書に記載される特定の実施形態に適応するように、現在の構文に加えられる可能性がある変更を示すために、太字のイタリック体が使用される。
【0152】
【表8】
【0153】
【表9】
【0154】
【表10】
【表11】
【0155】
シーケンスパラメータセットRBSP意味論
・・・・・・
sps_st_enabled_flag1が等しい場合、st_idxがイントラ符号化ユニットの残差符号化構文に含まれている可能性があり、sps_st_enabled_flagが0である場合、st_idxがイントラ符号化ユニットの残差符号化構文に含まれていないことを示す。
・・・・・・
【0156】
符号化ユニット構文
・・・・・・
st_idx[x0][y0]選択された変換セットにおける2つの候補カーネル間にどの二次変換カーネルを適用するかを示す。st_idx[x0][y0]が0である場合、二次変換を適用しないことを示す。配列インデックスx0,y0は、ピクチャの左上サンプルに対する、考慮される変換ブロックの左上サンプルの位置(x0,y0)を規定する。
st_idx[x0][y0]が存在しない場合、st_idx[x0][y0]は0に等しいと推測される。
【0157】
スケーリングされた変換係数の変換処理
【0158】
一般
【0159】
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度変換ブロックの左上のサンプルを規定する輝度位置(xTbY,yTbY)
現在の変換ブロックの幅を規定する変数nTbW、
現在の変換ブロックの高さを規定する変数nTbH、
- 現在のブロックの色成分を規定する変数cIdx、
- スケーリングされた変換係数の(nTbW)x(nTbH)array d[x][y]、但しx=0..nTbW-1,y=0..nTbH-1.
【0160】
この処理の出力は、残差サンプルの(nTbW)x(nTbH)配列r[x][y]である。但し、x=0..nTbW-1、y=0..nTbH-1
【0161】
st_idx[xTbY][yTbY]が0でない場合、以下が適用される。
1. 変数nStSize、log2StSize、numStX、numStY、およびnonZeroSizeは、以下のように導出される。
- nTbWおよびnTbHの両方が8以上である場合、log2StSizeを3に設定し、nStOutSizeを48に設定する。
- そうでない場合、log2StSizeを2に設定し、nStOutSizeを16に設定する。
- nStSizeを(1<<log2StSize)に設定する。
- nTbHが4に等しく、かつnTbWが8よりも大きい場合、numStXは2に設定する。
- そうでない場合、numStXは1に設定する。
- nTbWが4に等しく、かつnTbHが8よりも大きい場合、numStYセットは2である。
- そうでない場合、numStYセットは1である。
- nTbWおよびnTbHの両方が4であるか、またはnTbWおよびnTbHの両方が8である場合、nonZeroSizeを8に設定する。
- そうでない場合、nonZeroSizeは16に設定する。
2. xSbIdx=0..numStX-1、ySbIdx=0..numStY-1の場合、以下が適用される。
- x=0..nonZeroSize-1の場合の変数配列u[x]は、次のように導出される。
xC=(xSbIdx<<log2StSize)+DiagScanOrder[log2StSize][log2StSize][x][0]
yC=(ySbIdx<<log2StSize)+DiagScanOrder[log2StSize][log2StSize][x][1]
u[x]=d[xC][yC]
- x=0..nonZeroSize-1のu[x]は,スケーリングされた変換係数の変換入力長nonZeroSize,変換出力長nStOutSize,x=0..nonZeroSize-1のリストu[x]の入力として,8.7.4.4で規定された一次元変換処理を起動することにより、nonZeroSize-1,変換セット選択用インデックスstPredModeIntra、変換セット内の変換選択用インデックスst_idx[xTbY][yTbY]を入力として、また、x=0...nStOutSize-1のリストv[x]を出力として、x=0..nStOutSize-1の変数配列v[x]に変換される。変数stPredModeIntraは、clause8.4.4.2.1に規定されるpredModeIntraに設定される。
- 配列d[(xSbIdx<<log2StSize)+x][(ySbIdx<<<log2StSize)+y]withx=0..nStSize-1,y=0..nStSize-1は、以下のように導出される。
- stPredModeIntraが34以下であるか、またはINTRA_LT_CCLM、INTRA_T_CCLM、またはINTRA_L_CCLMである場合、以下が適用される。
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y]=
(y<4)?v[x+(y<<log2StSize)]:((x<4)?v[32+x+((y-4)<<2)]:
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y])
- そうでない場合、以下が適用される。
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y]=
(y<4)?v[y+(x<<log2StSize)]:((x<4)?v[32+(y-4)+(x<<2)]:
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y])
【0162】
二次変換処理
【0163】
この処理への入力は以下の通りである。
- 変換出力の長さを規定する変数nTrS、
- 変換入力の長さを規定する変数nonZeroSize、
- j=0..nonZeroSize-1の場合の変換入力x[j]のリスト、
- 変換セットを選択するためのインデックスを規定する変数stPredModeIntra、
- 1つのセットにおける変換選択のためのインデックスを規定する変数stIdx。
【0164】
この処理の出力は、変換されたサンプルy[i]のリストであり、この場合、i=0..nTrS-1である。
8.7.4.5章で規定されている変換行列の導出処理は、入力として変換出力長nTrS、変換セット選択用インデックスstPredModeIntra、変換セット内の変換選択用インデックスstIdx、出力として変換行列secTransMatrixを用いて行われる。
i=0..nTrS-1とした場合、変換済みサンプルのリストy[i]は、以下のように導出される。
【0165】
【数8】
【0166】
二次変換マトリックス導出処理
【0167】
この処理への入力は以下の通りである。
- 変換出力の長さを規定する変数nTrS、
- 変換セットを選択するためのインデックスを規定する変数stPredModeIntra、
- 指定された変換セットにおける変換選択のためのインデックスを規定する変数stIdx。
【0168】
この処理の出力が変換行列secTransMatrixである。
変数stTrSetIdxは、以下のように導出される。
【0169】
【表12】
【0170】
変換行列secTransMatrixは、nTrS、stTrSetIdx、stIdxに基づいて、以下のように導出される。
- nTrSが16であり、stTrSetIdxが0であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが16であり、stTrSetIdxが0であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが16であり、stTrSetIdxが1であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが16であり、stTrSetIdxが1であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが16であり、stTrSetIdxが2であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが16であり、stTrSetIdxが2であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが16であり、stTrSetIdxが3であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが16であり、stTrSetIdxが3であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが0であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが0であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが1であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが1であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが2であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが2であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが3であり、stIdxが1である場合、以下が適用される。
secTransMatrix[m][n]=・・・
- nTrSが48であり、stTrSetIdxが3であり、stIdxが2である場合、以下が適用される。
secTransMatrix[m][n]=・・・
【0171】
2.11 HEVCにおける逆量子化のクリッピング
【0172】
HEVCにおいて、スケーリングされた変換係数d’は、d’=Clip3(coeffMin,coeffMax,d)として計算され、式中、dは、クリッピング前のスケーリングされた変換係数である。
【0173】
輝度成分の場合、coeffMin=CoeffMinY;coeffMax=CoeffMaxYとなる。クロマ成分の場合、coeffMin=CoeffMinC;coeffMax=CoeffMaxC;となる。ここで、以下である。
【0174】
CoeffMinY=-(1<<(extended_precision_processing_flag?Max(15,BitDepthY+6):15))
【0175】
CoeffMinC=-(1<<(extended_precision_processing_flag?Max(15,BitDepthC+6):15))
【0176】
CoeffMaxY=(1<<(extended_precision_processing_flag?Max(15,BitDepthY+6):15))-1
【0177】
CoeffMaxC=(1<<(extended_precision_processing_flag?Max(15,BitDepthC+6):15))-1
【0178】
extended_precision_processing_flagは、SPSにおいて信号通知される構文要素である。
【0179】
2.12 アフィン線形重み付きイントラ予測(ALWIP、別名行列ベースイントラ予測、MIP)
【0180】
いくつかの実施形態において、2回の試験が行われる。テスト1において、ALWIPは、8Kバイトのメモリ制限と、1サンプル当たり最大4回の乗算とを備えるように設計される。テスト2は、テスト1と同様であるが、メモリ要件およびモデルアーキテクチャの点で設計をさらに簡略化する。
【0181】
* すべてのブロック形状のための単一のセットの行列およびオフセットベクトル。
【0182】
* すべてのブロック形状に対してモード数を19に減らす。
【0183】
* メモリ要件を5760個の10ビット値、すなわち7.20キロバイトに低減する。
【0184】
* 予測サンプルの線形補間は、第1のテストにおけるような反復補間に取って代わって、1つの方向につき1つのステップで行われる。
【0185】
2.13 サブブロック変換
【0186】
cu_cbfが1である相互予測CUの場合、cu_sbt_flagは、残差ブロック全体または残差ブロックのサブ部分が復号化されたかどうかを示すように信号通知されてもよい。前者の場合、インターMTS情報をさらに構文解析し、CUの変換タイプを判定する。後者の場合、残差ブロックの一部は推測適応変換で符号化され、残差ブロックの他の部分はゼロ化される。SBTは、コンバインドインターイントラモードには適用されない。
【0187】
サブブロック変換において、SBT-VおよびSBT-H(常にDCT-2を使用するクロマTB)における輝度変換ブロックに対して位置依存変換が適用される。SBT-HとSBT-Vの2つの位置は、異なるコア変換に関連付けられる。具体的には、SBT位置ごとに水平方向および垂直方向の変換を図15で規定する。例えば、SBT-V位置0の水平および垂直変換は、それぞれDCT-8およびDST-7である。残差TUの片側が32よりも大きい場合、対応する変換をDCT-2として設定する。従って、サブブロック変換は、1つのブロックのTUタイリング、cbf、並びに残差ブロックの水平および垂直変換を一緒に規定し、これは、1つのブロックの主な残差がこのブロックの片側にある場合の構文ショートカットと見なすことができる。
【0188】
図15は、サブブロック変換モードSBT-VおよびSBT-Hを示す。
【0189】
3.実施形態が解決しようとする課題の例
【0190】
現在の設計において、以下のような問題がある。
【0191】
(1) MTS/RSTにおけるクリッピングおよびシフト/丸め演算は、最適でない場合がある。
【0192】
(2) 2つの隣接する4×4ブロックに適用されるRSTは、コストがかかる場合がある。
【0193】
(3) RSTは、異なる色成分に対して異なる方法で行われてもよい。
【0194】
(4) RSTは、スクリーンコンテンツの符号化にはうまく機能しない場合がある。
【0195】
(5) RSTと他の符号化ツールとの間の相互作用は不明である。
【0196】
(6) RSTの変換行列をより効率的に記憶させてもよい。
【0197】
(7) RSTに量子化行列をどのように適用するかは不明である。
【0198】
4. 例示的な実施形態および技術
【0199】
以下に列記される実施形態は、一般的な概念を説明するための例であると考えられるべきである。これらの実施形態は狭い意味で解釈されるべきではない。さらに、これらの実施形態は、任意の方法で組み合わせることができる。
【0200】
以下の説明において、符号化された情報には、予測モード(例えば、イントラ/インター/IBCモード)、動きベクトル、参照ピクチャ、インター予測方向、イントラ予測モード、コンバインドイントラインター予測(CIIP)モード、ISPモード、アフィンイントラモード、採用されている変換コア、変換スキップフラグなど、例えば、ブロックを符号化する際に必要な情報が含まれていてもよい。
【0201】
以下の説明において、SatShift(x,n)は、以下のように定義される。
【0202】
【数9】
【0203】
Shift(x,n)は、Shift(x,n)=(x+offset0)>>nとして定義される。
【0204】
一例において、offset0および/またはoffset1は、(1<<n)>>1または(1<<(n-1))に設定される。別の例において、offset0および/またはoffset1は、0に設定される。
【0205】
別の例において、offset0=offset1=((1<<n)>>1)-1または((1<<(n-1)))-1である。
【0206】
Clip3(min,max,x)は、以下のように定義される。
【0207】
【数10】
【0208】
1. RSTを反転させた後は、出力値を[MinCoef,MaxCoef]の範囲にクリップするべきであり、ここで、MinCoefおよび/またはMaxCoefは、可変であってもよい2つの整数値である。
a. 一例において、逆量子化後の係数を[QMinCoef,QMaxCoef]の範囲に包括的にクリップすると、MinCoefはQMinCoefに等しく設定されてもよく、および/またはMaxCoefはQMaxCoefに設定されてもよい。
b. 一例において、MinCoefおよび/またはMaxCoefは、色成分に依存してもよい。
i. 一例において、MinCoefおよび/またはMaxCoefは、対応する色成分のビット深度に依存してもよい。
c. 一例において、MinCoefおよび/またはMaxCoefは、ブロック形状(例えば、正方形または非正方形)および/またはブロック寸法に依存してもよい。
d. 一例において、SPS、PPS、スライスヘッダ/タイルグループヘッダ/CTU/CU等において、MinCoefおよび/またはMaxCoefの候補値の値または選択が信号通知してもよい。
e. 一例において、輝度成分の場合、MinCoefおよび/またはMaxCoefは、以下のように導出してもよい。
MinCoef=-(1<<(extended_precision_processing_flag?Max(15,BitDepthY+6):15))
MaxCoef=(1<<(extended_precision_processing_flag?Max(15,BitDepthY+6):15))-1
、ここで、BitDepthYは、輝度成分のビット深度であり、extended_precision_processing_flagは、SPSなどにおいて信号通知してもよい。
f. 一例において、成分として、MinCoefおよび/またはMaxCoefは、以下のように導出してもよい。
MinCoef=-(1<<(extended_precision_processing_flag?Max(15,BitDepthC+6):15))
MaxCoef=(1<<(extended_precision_processing_flag?Max(15,BitDepthC+6):15))-1,
ここで、BitDepthCはクロマ成分のビット深度であり、extended_precision_processing_flagは、SPSなどにおいて信号通知してもよい。
g. いくつかの実施形態において、MinCoefは、-(1<<15)であり、MaxCoefは、(1<<15)-1である。
h. 一例において、適合ビットストリームは、順方向RSTの後の変換係数が所与の範囲内にあることを満足するものとする。
【0209】
2. M×N個の係数サブブロックに対して順方向RSTを適用するおよび/またはRSTを反転させる方法は、順方向RSTおよび/または反転RSTが例えばM=N=4に適用されるサブブロックの数に依存してもよいことが提案される。
a. 一例において、ゼロ化範囲は、RSTが適用されるサブブロックインデックスに依存してもよい。
i. 代替的に、ゼロ化範囲は、RSTが適用されるサブブロックの数に依存してもよい。
b. 一例において、1つの係数ブロック全体において、順方向RSTを適用するおよび/またはRSTを反転させるS個のサブブロックが存在する場合、第1のサブブロックおよび第2のサブブロックの係数に順方向RSTを適用するおよび/またはRSTを反転させる方法は異なってもよく、この場合、S<1、例えば、S=2である。例えば、第1のM×Nサブブロックは、左上のM×Nサブブロックであってもよい。
i. 一例において、2.10章に記載するようなnonZeroSizeは、第1のM×N個の係数サブブロック(nonZeroSize0と表される)と、第2のM×N個の係数サブブロック(nonZeroSize1と表される)とで異なってもよい。
1) 一例において、nonZeroSize0は、nonZeroSize1よりも大きくてもよい。例えば、nonZeroSize0=16およびnonZeroSize1=8である。
ii. 一例において、2.10章に記載されるようなnonZeroSizeは、前方RSTおよび/または反転RSTが適用されるべき1つのM×Nサブブロックのみである場合、または前方RSTおよび/または反転RSTが適用されるべき2つ以上のM×Nサブブロックがある場合には異なっていてもよい。
1) 一例において、順方向RSTおよび/または逆方向RSTに適用されるべきM×N個のサブブロックが複数ある場合、nonZeroSizeは8に等しくてもよい。
【0210】
3. 現在のブロックのサイズが4×HまたはW×4であり、H>8であり、W>8である場合、1つのM×N個のサブブロック(例えば、左上のM×N個のサブブロック)の係数のみに順方向RSTを適用し、且つ/またはRSTを逆にすることが提案される。例えば、M=N=4
a. 一例において、H>T1および/またはW>T2、例えば、T1=T2=16である場合、順方向RSTおよび/または反転RSTは、1つのM×N個の係数サブブロックのみに適用される。
b. 一例において、H<T1および/またはW<T2、例えばT1=T2=32である場合、順方向RSTおよび/または逆方向RSTは、1つのM×N個の係数サブブロックのみに適用される。
c. 一例において、順方向RSTおよび/または逆方向RSTは、すべてのH>8および/またはW>8の場合、1つのM×N個の係数サブブロックのみに適用される。
d. 一例において、現在のブロックのサイズがM×HまたはW×Nであり、ここで、H≧Nであり、W≧Mである場合、順方向RSTおよび/または逆方向RSTは、1つのM×N個のサブブロック(例えば、左上のM×N個のサブブロック)のみに適用される。例えば、M=N=4
【0211】
4. RSTは、非正方形領域に適用されてもよい。領域のサイズをK×Lで表し、この場合、KがLと等しくないとする。
a. さらに、代替的に、非ゼロ係数の最大数が満たされるように、順方向RSTの後に変換係数にゼロ化を適用してもよい。
i. 一例において、変換係数が左上のM×M領域の外側に位置し、MがK以下であり、MがLよりも大きくない場合、変換係数は0に設定してもよい。
【0212】
5. 2つの隣接するM×N個のサブブロックにおける係数が、単一の順方向RSTおよび/または逆方向RSTに関与し得ることが提案される。例えば、M=N=4。
a. 一例において、以下のような1つ以上の動作は、エンコーダにおいて実行してもよい。動作は順に従って実行してもよい。
i. 2つの隣接するM×N個のサブブロックにおける係数を、2×M×N個の要素を有する1-Dベクトルに再配置する。
ii. 1-Dベクトルに、2×M×N列、M×N行(またはM×N列、2×M×N行)の変換行列を有する順方向RSTを適用する。
iii. M×N個の要素を有する変換された1-Dベクトルは、第1のM×N個のサブブロック(例えば、左上のサブブロック)に再配置する。
iv. 第2のM×Nサブブロックにおけるすべての係数は、ゼロとして設定してもよい。
b. 一例において、以下のような1つ以上の動作は、デコーダにおいて実行してもよい。動作は順に従って実行してもよい。
i. 第1のM×Nサブブロック(例えば、左上のサブブロック)における係数を、M×N個の要素を有する1-Dベクトルに再配置する。
ii. 1-Dベクトルに、M×N列、2×M×N行(または2×M×N列、M×N行)の変換行列を有する反転RSTを適用する。
iii. 2×M×N個の要素を有する変換された1-Dベクトルを、2つの隣接するM×N個のサブブロックに再配置する。
c. 一例において、1つのブロックは、K(K>1)個のサブブロックに分割されてもよく、主メジャーおよび二次変換は、共に、サブブロックレベルで行ってもよい。
【0213】
6. ゼロ化範囲(例えば、2.10章に記載のように、nonZeroSize)は、色成分に依存してもよい。
a. 一例において、同じブロック寸法の場合、輝度およびクロマ成分の場合、この範囲が異なってもよい。
【0214】
7. ゼロ化範囲(例えば、2.10章に記載されるようなnonZeroSize)は、符号化された情報に依存してもよい。
a. 一例において、それは、イントラモードまたは非イントラモード等の符号化モードに依存してもよい。
b. 一例において、それは、符号化モード、例えば、イントラモード、インターモード、またはIBCモードに依存してもよい。
c. 一例において、それは参照ピクチャ/動き情報に依存してもよい。
【0215】
8. 具体的なブロック寸法のゼロ化範囲(例えば、2.10章に記載のように、nonZeroSize)は、量子化パラメータ(QP)に依存してもよいことが提案される。
a. 一例において、QPがQPAである場合、nonZeroSizeは非ZeroSizeAに等しく、QPがQPBである場合、nonZeroSizeは非ZeroSizeBであると仮定する。QPAがQPB以上である場合、nonZeroSizeAはnonZeroSizeB以下である。
b. 異なるnonZeroSizeのために、異なる変換/inv変換行列を使用してもよい。
【0216】
9. SPS、PPS、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、CTU行、CTU、CU、または任意の映像データユニットなどにおいて、ゼロ化範囲(例えば、2.10章に記載のようなnonZeroSize)を信号通知できることが提案される。
a. 代替的に、複数の範囲を定義してもよい。そして、SPS、PPS、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、CTUの行、CTU、CU等において、どの候補の非ゼロサイズが選択されたかの指示を信号通知してもよい。
【0217】
10. RSTを適用するかどうか、および/またはどのように適用するかは、カラーフォーマット、および/または別個の平面符号化の使用法、および/または色成分に依存してもよい。
a. 一例において、RSTは、クロマ成分(例えば、Cbおよび/またはCr)に適用されなくてもよい。
b. 一例において、カラーフォーマットが4:0:0である場合、RSTはクロマ成分に適用されなくてもよい。
c. 一例において、別個の平面符号化が使用される場合、RSTはクロマ成分に適用されなくてもよい。
d. 一例において、特定のブロック寸法のためのnonZeroSizeは、色成分に依存してもよい。
i. 一例において、クロマ成分のnonZeroSizeは、同じブロック寸法の場合、輝度成分のnonZeroSizeより小さくてもよい。
【0218】
11. RST制御情報(例えば、RSTが適用されるかどうか、および/またはどの変換行列グループが選択されるか)は、単一の符号化構造ツリーで符号化される場合、輝度およびクロマ成分について別個に信号通知してもよいことが提案される。
【0219】
12. RSTを適用するかどうか、およびどのように適用するかは、現在のブロックおよび/または近傍のブロックの符号化された情報(例えば、符号化モード)に依存してもよい。
a. 一例において、RSTは、1つまたは複数の特定のイントラ予測モードに使用できない。
i. 例えば、LMモードにRSTを使用できない。
ii. 例えば、LM-TモードにおいてRSTを使用できない。
iii. 例えば、LM-AモードではRSTを使用できない。
iv. 例えば、RSTは、広角イントラ予測モードには使用できない。
v. 例えば、RSTは、BDPCMモードまたは/およびDPCMモードまたは/またはRBDPCMモードに使用できない。
vi. 例えば、ALWIPモードではRSTを使用できない。
vii. 例えば、RSTは、特定の角度イントラ予測モード(例えば、DC、平面、垂直、水平等)に使用できない。
viii. 例えば、RSTは、LMモードおよび/またはLM-Tモードおよび/またはLM-Aモードにおける輝度成分に使用してもよいが、クロマ成分には使用されなくてもよい。
ix. 例えば、ジョイントクロマ残差符号化が適用される場合、RSTはクロマ成分に使用されなくてもよい。
b. RSTを適用できない場合、現在のブロックにおける情報関連RSTを示すための構文要素は、信号通知されなくてもよい。
【0220】
13. RSTは、イントラ符号化されていないブロックに適用されてもよいことが提案される。
a. 一例において、RSTは、インター符号化ブロックに適用してもよい。
b. 一例において、RSTは、イントラブロックコピー(IBC)符号化ブロックに適用してもよい。
c. 一例において、RSTは、インター・イントラ結合予測(CIIP)で符号化されたブロックに適用してもよい。
【0221】
14. RSTは異なるレベルで制御してもよいことが提案される。
a. 例えば、RST(例えば、制御フラグ)が適用可能であるかどうかを示す情報は、PPS、スライスヘッダ、ピクチャヘッダ、タイルグループヘッダ、タイル、CTU行、CTUにおいて信号通知してもよい。
b. RSTが適用可能であるかどうかは、標準的なプロファイル/レベル/層に依存してもよい。
【0222】
15. 位置依存イントラ予測組み合わせ(PDPC)が適用されるかどうかは、RSTが適用されるかどうかに依存してもよいことが提案される。
a. 一例において、現在のブロックがRSTを適用した場合、PDPCを適用しなくてもよい。
b. 一例において、現在のブロックがRSTを適用した場合、PDPCを適用してもよい。
c. 代替的に、RSTが適用されるかどうかは、PDPCが適用されるかどうかに依存してもよい。
i.一例において、PDPCが適用される場合、RSTは適用されない。
ii. RSTを適用できない場合、現在のブロックにおける情報関連RSTを示すための構文要素は、信号通知されなくてもよい。
【0223】
16. イントラ予測に使用される近傍のサンプルをフィルタリングするかどうかは、RSTが適用されるかどうかに依存してもよいことが提案される。
a. 一例において、現在のブロックがRSTを適用した場合、近傍のサンプルをフィルタリングしなくてもよい。
b. 一例において、現在のブロックがRSTを適用した場合、近傍のサンプルをフィルタリングしてもよい。
c. 代替的に、RSTが適用されるかどうかは、イントラ予測に使用される近傍のサンプルがフィルタリングされるかどうかに依存してもよい。
i. 一例において、イントラ予測に使用される近傍のサンプルをフィルタリングする場合、RSTは適用されない。
ii. 一例において、イントラ予測に使用される近傍のサンプルをフィルタリングしない場合、RSTは適用されない。
iii. RSTを適用できない場合、現在のブロックにおける情報関連RSTを示すための構文要素は、信号通知されなくてもよい。
【0224】
17. 現在のブロックを変換スキップ(transform skip)で符号化する場合、RSTを適用してもよいことが提案される。
a. 例えば、主変換はスキップされるが、二次変換を依然として適用してもよい。
b. 変換スキップモードで使用される二次変換行列は、非変換スキップモードで使用される二次変換行列とは異なっていてもよい。
【0225】
18. RSTに使用される変換行列は、8未満のビット幅で記憶させてもよいことが提案される。例えば、RSTに使用される変換行列は、ビット幅6または4で記憶させてもよい。
【0226】
19. RSTに使用される変換行列は、予測方式で記憶させてもよいことが提案される。
a. 一例において、RSTのための第1の変換行列における第1の要素は、RSTのための第1の変換行列における第2の要素によって予測されてもよい。
i. 例えば、2つの素子の差を記憶させてもよい。
ii. 例えば、この差は、ビット幅が8未満、例えば6または4で記憶させてもよい。
b. 一例において、RSTのための第1の変換行列における第1の要素は、RSTのための二次変換行列における第2の要素によって予測されてもよい。
i. 例えば、2つの素子の差を記憶させてもよい。
ii. 例えば、この差は、ビット幅が8未満、例えば6または4で記憶させてもよい。
【0227】
20. RSTのための第1の変換行列は、RSTのための二次変換行列から導出してもよいことが提案される。
a. 一例において、RSTのための二次変換行列の部分要素を抽出し、RSTのための第1の変換行列を構築してもよい。
b. 一例において、RSTのための第1の変換行列は、RSTのための二次変換行列の全体または一部を回転または反転させることによって導出されてもよい。
c. 一例において、RSTのための第1の変換行列は、RSTのための二次変換行列に対してダウンサンプリングまたはアップサンプリングを行うことによって導出される。
【0228】
21. 現在のブロックにおける情報に関連するRSTを示すための構文要素は、剰余(変換されてもよい)を信号通知する前に、信号通知してもよいことが提案される。
a. 一例において、情報関連RSTの信号通知は、残差を構文解析する時に計数される非ゼロまたはゼロ係数に依存しなくてもよい。
b. 一例において、残差を構文解析する時に、非ゼロまたはゼロ係数を計数しなくてもよい。
c. 一例において、RSTによってすべてゼロに設定されたサブブロックのための符号化ブロックフラグ(cbf)は、信号通知されず、0であると推測してもよい。
d. 一例において、RSTによってゼロに設定された係数の有意なフラグは、信号通知されず、0であると推測してもよい。
e. 剰余ブロックを構文解析するための走査順序は、RSTを適用するかどうか、およびどのように適用するかに依存してもよい。
i. 一例において、RSTによってゼロに設定された係数は、走査されなくてもよい。
f. 剰余ブロックを構文解析する算術符号化コンテキストは、RSTを適用するかどうか、およびどのように適用するかに依存してもよい。
【0229】
22. 量子化行列を適用するかどうか、およびどのように適用するかは、RSTを適用するかどうか、およびどのように適用するかに依存してもよいことが提案される。
a. 一例において、RSTが適用されるかどうかに関わらず、異なる量子化行列が適用されてもよい。
b. 代替的に、RSTを適用するかどうか、およびどのように適用するかは、量子化行列を適用するかどうか、およびどのように適用するかに依存してもよい。
i. 一例において、ブロックに量子化行列を適用する場合、RSTを適用しなくてもよい。
【0230】
23. 量子化された係数/残差にRSTを適用してもよいことが提案される。
a. 一例において、RSTは、変換スキップが使用される場合、残差に適用されてもよい。
b. 一例において、RSTは、1つのブロックの量子化変換係数に適用されてもよい。
24. RSTはサブブロック変換ブロックに適用されてもよいことが提案される。
a. 一例において、RSTは、サブブロック変換によって生成された左上の係数に適用してもよい。
【0231】
図16は、映像処理装置1600のブロック図である。装置1600は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置1600は、スマートフォン、タブレット、コンピュータ、IoT(モノのインターネット)受信機等により実施されてもよい。装置1600は、1つ以上の処理装置1602と、1つ以上のメモリ1604と、映像処理ハードウェア1606と、を含んでもよい。1つまたは複数のプロセッサ1602は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)1604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア1606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
【0232】
図17は、映像処理の方法1700の一例を示すフローチャートである。この方法1700は、現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するための制約規則を判定する(1702)ことを含む。方法1700は、制約規則に従って縮小寸法による二次変換を適用することで変換を行うこと(1704)を含む。縮小寸法による二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有する。縮小寸法による二次変換は、前記変換中に一次変換と共に特定の順序で適用される。
【0233】
追加の実施形態および技術は、以下の実施例に記載されるとおりである。
【0234】
1.現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するための制約規則を判定することと、前記制約規則に従って縮小寸法による前記二次変換を適用することで前記変換を行うことと、含み、縮小寸法による前記二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有し、縮小寸法による前記二次変換は、前記変換中に一次変換と共に特定の順序で適用される、映像処理方法。
【0235】
2. 前記変換は、前記現在の映像ブロックを前記ビットストリーム表現に符号化することを含み、前記特定の順序は、まず前記一次変換を順方向に適用することと、続いて縮小寸法による前記二次変換を順方向に選択的に適用することと、続いて前記二次変換の出力を順方向に縮小寸法で量子化することとを含む、実施例1に記載の方法。
【0236】
3. 前記変換は、前記ビットストリーム表現から前記現在の映像ブロックを復号化することを含み、前記特定の順序は、まず前記ビットストリーム表現に逆量子化を適用することと、続いて逆方向に縮小寸法による前記二次変換を選択的に適用することと、続いて逆方向に縮小寸法による前記二次変換の出力に前記逆方向の前記一次変換を適用することと、を含む、実施例1に記載の方法。
【0237】
4. 前記制約規則は、[MinCoef,MaxCoef]の範囲に逆方向に縮小寸法による前記二次変換の出力の範囲をクリップすることを規定し、包括的に、この場合、MinCoefおよび/またはMaxCoefは、前記現在の映像ブロックの条件の関数である2つの整数値である、実施例1~3のいずれかに記載の方法。
【0238】
5. 前記現在の映像ブロックの前記条件が、前記現在の映像ブロックによって表現される色または輝度成分のタイプである、実施例4に記載の方法。
【0239】
6. 前記制約規則は、前記現在の映像ブロックの1つ以上のM×N個のサブブロックに、縮小寸法による前記二次変換を適用し、前記現在の映像ブロックの残りのサブブロックをゼロ化することを規定する、実施例1に記載の方法。
【0240】
7. 前記制約規則は、前記現在の映像ブロックの異なるサブブロックに対して、縮小寸法による前記二次変換を異なるように適用することを規定する、実施例1に記載の方法。
【0241】
8. 前記制約規則は、サイズが4×HまたはW×4である前記現在の映像ブロックに起因して、前記現在の映像ブロックのちょうど1つのM×Nサブブロックに、縮小寸法による前記二次変換を適用することを規定し、この場合、Hは、整数画素における高さであり、Wは、整数画素における幅である、実施例1~5のいずれかに記載の方法。
【0242】
9.H>8またはW>8である、実施例8に記載の方法。
【0243】
10. 前記現在の映像ブロックが映像の非正方形領域である、実施例1~9のいずれかに記載の方法。
【0244】
11. 前記制約規則は、前記一次変換の順方向変換係数をゼロ化するか、またはゼロ係数を二次変換の逆方向出力にパディングすることを規定する、実施例2または3に記載の方法。
【0245】
実施例1~5のさらなる実施形態は、第4章の項目1に記載する。実施例6~7のさらなる実施形態は、第4章の項目2に記載する。実施例8~9のさらなる実施形態は、章4の項目3に記載する。実施例10~11のさらなる実施形態は、第4章の項目4に記載する。
【0246】
12.現在の映像ブロックと近傍の映像領域のビットストリーム表現と、前記現在の映像ブロックの画素と、前記近傍の領域の画素との間での変換中、縮小寸法による二次変換を選択的に適用するための制約規則を判定することと、前記制約規則に従って縮小寸法による前記二次変換を適用することで前記変換を行うことと、含み、縮小寸法による前記二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有し、縮小寸法による前記二次変換は、前記変換中に一次変換と共に特定の順序で適用される、映像処理方法。
【0247】
13. 前記近傍の映像領域は、前記現在の映像ブロックの左上のブロックを含む、実施例12に記載の方法。
【0248】
14. 前記現在の映像ブロックおよび前記近傍の映像領域は、親映像ブロックのサブブロックに対応する、実施例12に記載の方法。
【0249】
実施例12~14のさらなる実施形態は、第4章の項目5に記載する。
【0250】
15. 現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するためのゼロ化規則を判定することと、前記ゼロ化規則に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含み、縮小寸法による二次変換は、現在の映像ブロックの寸法から縮小された寸法を有し、前記ゼロ化規則は、縮小寸法による二次変換に使用される係数の最大数を規定する、映像処理方法。
【0251】
16. 前記係数の最大数は、前記現在の映像ブロックの成分識別の関数である、実施例15に記載の方法。
【0252】
17. 輝度映像ブロックとクロマ映像ブロックとでは、前記係数の最大数が異なる、実施例16に記載の方法。
【0253】
18. 前記ゼロ化規則は、前記現在の映像ブロックの符号化された情報の関数であるゼロ化範囲を規定する、実施例15~17のいずれかに記載の方法。
【0254】
19.前記ゼロ化規則は、前記現在の映像ブロックの量子化パラメータの関数であるゼロ化範囲を規定する、実施例15~17のいずれかに記載の方法。
【0255】
20. シーケンスパラメータセットレベルまたはピクチャパラメータセットレベルに含まれるフィールド、またはピクチャヘッダ、スライスヘッダ、またはタイルグループヘッダ、または符号化ツリーユニット行、符号化ツリーユニット、または符号化ユニット若しくは映像データユニットレベルのフィールドによって、前記ビットストリーム表現における前記ゼロ化範囲を示す、実施例15~19のいずれかに記載の方法。
【0256】
実施例15~17のさらなる実施形態は、第4章の項目6に記載する。実施例18のさらなる実施形態は、第4章の項目7に記載する。実施例19のさらなる実施形態は、第4章の項目8に記載する。実施例20のさらなる実施形態は、第4章の項目9に記載する。
【0257】
21. 現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を選択的に適用するための条件を判定することと、前記条件に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含み、縮小寸法による二次変換は、現在の映像ブロックの寸法から縮小された寸法を有し、前記条件は、前記ビットストリーム表現で信号化される、映像処理方法。
【0258】
22.前記条件は、カラーフォーマットであるか、または別個の平面符号化の使用であるか、または前記現在の映像ブロックの色同一性に基づく、実施例21に記載の方法。
【0259】
実施例21~22のさらなる実施形態は、第4章の項目10に記載する。
【0260】
23. 前記条件は、クロマ成分と輝度成分とで別個にビットストリーム表現で信号通知される、実施例21~22のいずれかに記載の方法。
【0261】
実施例23のさらなる実施形態は、第4章の項目11に記載する。
【0262】
24. 前記条件は、前記現在の映像ブロックおよび近傍の映像領域の符号化された情報に依存する、実施例21~23のいずれかに記載の方法。
【0263】
25. 前記条件は、特定のイントラ予測モードを使用して符号化される前記現在の映像ブロックに適用することを排除する、実施例24に記載の方法。
【0264】
実施例24~25のさらなる実施形態は、第4章の項目12に記載する。
【0265】
26. 前記条件は、インター符号化される前記現在の映像ブロックに適用することを規定する、実施例24に記載の方法。
【0266】
27. 前記条件は、イントラブロックコピーモードを使用して符号化される前記現在の映像ブロックに適用することを規定する、実施例24に記載の方法。
【0267】
実施例25~26のさらなる実施形態は、第4章の項目13に記載する。
【0268】
28. 前記条件が、前記レベル内のすべてのブロックが前記条件に準拠するようなレベルで前記ビットストリーム表現で信号通知され、前記レベルは、シーケンスパラメータセットレベル、またはピクチャパラメータセットレベル、またはピクチャヘッダ、スライスヘッダ、またはタイルグループヘッダ、または符号化ツリーユニット行、符号化ツリーユニット、または符号化ユニット若しくは映像データユニットレベルである、実施例21に記載の方法。
【0269】
実施例28のさらなる実施形態は、第4章の項目14に記載する。
【0270】
29. 21.前記条件は、前記現在の映像ブロックが変換スキップモードを使用して符号化されることである、実施例21に記載の方法。
【0271】
実施例29のさらなる実施形態は、第4章の項目17に記載する。
【0272】
30. 現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換の間に、縮小寸法による二次変換を選択的に適用し、条件に従って縮小寸法による前記二次変換を適用することで、前記変換を行うことを含み、縮小寸法による前記二次変換は、前記現在の映像ブロックの寸法から寸法が低減されている。この変換は、共存規則に基づいて、位置依存イントラ予測組み合わせ(PDPC)を選択的に適用することを含む、映像処理方法。
【0273】
31. 共存規則は、前記二次変換を適用することによって、前記現在の映像ブロックにPDPCを適用することを排除する、実施例30に記載の方法。
【0274】
32. 共存規則は、前記二次変換を適用することによって、前記現在の映像ブロックに前記PDPCを適用することを規定する、実施例30に記載の方法。
【0275】
33. 前記二次変換を選択的に適用するステップは、前記PDPCを使用する前記現在の映像ブロックに対して行われる、実施例30に記載の方法。
【0276】
実施例30~33のさらなる実施形態は、第4章の項目15に記載する。
【0277】
34. 現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を適用することと、前記条件に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含み、縮小寸法による前記二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有し、前記適用することは、前記変換中にイントラ予測のための近傍のサンプルの使用を制御する、映像処理方法。
【0278】
実施例34のさらなる実施形態は、第4章の項目16に記載する。
【0279】
35. 現在の映像ブロックのビットストリーム表現と前記現在の映像ブロックの画素との間での変換中、縮小寸法による二次変換を適用することと、前記条件に従って、縮小寸法による前記二次変換を適用することによってこの変換を行うことを含み、縮小寸法による前記二次変換は、前記現在の映像ブロックの寸法から縮小された寸法を有し、前記選択的に適用することは、前記変換中に量子化行列の使用を制御する、映像処理方法。
【0280】
36. 前記量子化行列の使用は、前記二次変換を適用することによってのみ発生する、実施例35に記載の方法。
【0281】
実施例35~36のさらなる実施形態は、第4章の項目22に記載する。
【0282】
37. 前記一次変換および前記二次変換は、ビット幅が8未満の変換行列として記憶される、実施例1~36のいずれかに記載の方法。
【0283】
38. 前記一次変換および前記二次変換は、予測変換行列として記憶される、実施例1~36のいずれかに記載の方法。
【0284】
39. 前記一次変換は、第1の規則を使用して前記二次変換から派生可能である、または前記二次変換は、第2の規則を使用して前記一次変換から派生可能である、実施例1~36のいずれかに記載の方法。
【0285】
40. 前記ビットストリーム表現は、前記現在の映像ブロックのための残差情報の前に、前記二次変換または前記一次変換に関する情報を含む、実施例1~36のいずれかに記載の方法。
【0286】
実施例37~40のさらなる実施形態は、第4章の項目18、19、20、および21に記載する。
【0287】
41. 実施例1~40の1つ以上に実装するように構成された処理装置を備える映像処理装置。
【0288】
42.前記コードが記憶されたコンピュータ読み取り可能な媒体であって、前記コードが処理装置によって実行されると、前記処理装置に、実施例1~40の1つ以上に記載の方法を実装させる。
【0289】
前記開示された技術は、縮小寸法二次変換の使用を含む技法を使用して圧縮効率を向上させるために、映像エンコーダまたはデコーダに実施され得ることが理解される。
【0290】
図18は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1800を示すブロック図である。様々な実装形態は、システム1800のモジュールの一部又は全部を含んでもよい。システム1800は、映像コンテンツを受信するための入力ユニット1802を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチモジュール画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力ユニット1902は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、受動光ネットワーク(PON)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0291】
システム1800は、本明細書に記載される様々な符号化又は符号化方法を実装することができる符号化モジュール1804を含んでもよい。符号化モジュール1804は、入力ユニット1802からの映像の平均ビットレートを符号化モジュール1804の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化モジュール1804の出力は、モジュール1806によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力ユニット1802において受信された、記憶された又は通信された映像のビットストリーム(又は符号化)表現は、モジュール1808によって使用されて、表示インターフェースユニット1810に送信される画素値又は表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像伸張(映像展開)と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作又はツールと呼ぶが、符号化ツール又は動作は、エンコーダで使用され、対応する復号化ツール又は動作であり符号化の結果を逆にするものは、デコーダによって行われることが理解されよう。
【0292】
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0293】
図19は、本技術による映像処理のための例示的な方法1900のフローチャートである。方法1900は、動作1910において、映像のブロックと映像のビットストリーム表現との間での変換のために、縮小寸法による逆方向二次変換からの出力値が、[min,max]の範囲内に含まれるように制約されていることを判定することを含む。逆方向二次変換は、逆量子化ステップと逆方向一次変換との間のブロックに適用可能である。縮小寸法はブロックの寸法から縮小され、minおよびmaxは整数値である。方法1900は、動作1920において、その判定に基づいて変換を行うことを含む。いくつかの実施形態において、縮小寸法の逆方向二次変換は、低周波数が縮小寸法に対応する逆低周波数非可分変換を含む。
【0294】
いくつかの実施形態において、逆量子化ステップの後の係数は、[qmin,qmax]に制限され、qminおよびqmaxは正の整数である。(1)minがqminであるか、または(2)maxがqmaxであるかのうちの少なくとも1つが満たされる。いくつかの実施形態において、前記範囲は前記ブロックの色成分に基づく。いくつかの実施形態において、minまたはmaxのうち少なくとも1つは色成分のビット深度に基づく。いくつかの実施形態において、この範囲はブロックの形状に基づく。いくつかの実施形態において、この範囲は、ブロックが正方形であるかまたは非正方形であるかに基づく。いくつかの実施形態において、前記範囲は前記ブロックの寸法に基づく。いくつかの実施形態において、前記ビットストリーム表現においてminまたはmaxのうち少なくとも1つが信号通知される。いくつかの実施形態において、前記範囲はシーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニットまたは符号化ユニットにおいて信号通知される。
【0295】
いくつかの実施形態において、minは、ブロックの輝度成分に対して、-(1<(extended_precision_processing_flag?Max(15,BitDepthY+6):15))であり、maxは、前記ブロックの輝度成分に対して(1<<(extended_precision_processing_flag?Max(15,BitDepthY+6):15))である。BitDepthYは、輝度成分のビット深度であり、extended_precision_processing_flagは、ビットストリーム表現において信号通知される変数である。
【0296】
いくつかの実施形態において、minは、ブロックの輝度成分に対して、-(1<(extended_precision_processing_flag?Max(15,BitDepthC+6):15))であり、maxは、前記ブロックのクロマ成分に対して(1<<(extended_precision_processing_flag?Max(15,BitDepthC+6):15))である。BitDepthCは、輝度成分のビット深度であり、extended_precision_processing_flagは、前記ビットストリーム表現において信号通知される変数である。
【0297】
いくつかの実施形態において、minは、-(1<<15)に等しく、maxは、-(1<<15)-1である。
【0298】
いくつかの実施形態において、extended_precision_processing_flagは、シーケンスパラメータセットにおいて信号通知される。いくつかの実施形態において、順方向一次変換と量子化ステップとの間に適用可能な二次変換後のブロックの係数は、ある範囲内に制限される。
【0299】
図20は、本技術による映像処理のための例示的な方法2000のフローチャートである。方法2000は、動作2010において、映像のブロックと映像のビットストリーム表現との間での変換のために、二次変換が適用可能なサブブロックの数に基づいて、ブロックのサブブロックに縮小寸法による二次変換を適用する方法を判定することを含む。前記二次変換は、順方向一次変換と量子化ステップとの間、あるいは逆量子化ステップと逆方向一次変換との間のブロックに適用可能である。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2000は、また、動作2020において、その判定に基づいて変換を行うことを含む。
【0300】
いくつかの実施形態において、前記縮小寸法による前記二次変換は、前記低周波数が縮小寸法に対応する前記低周波数非可分変換を含む。いくつかの実施形態において、前記縮小寸法は前記サブブロックの寸法に対応する。
【0301】
いくつかの実施形態において、サブブロック寸法は4×4であってもよい。いくつかの実施形態において、前記サブブロックは、サブブロックインデックスに関連付けられる。非ゼロ範囲外にあるサブブロックの係数をゼロに設定し、サブブロックインデックスに基づいて前記ゼロ化範囲を判定する。いくつかの実施形態において、非ゼロ範囲外にある前記サブブロックの係数は、ゼロに設定される。前記非ゼロ範囲は、二次変換が適用可能なサブブロックの数に基づいて判定される。
【0302】
いくつかの実施形態において、二次変換が適用可能なサブブロックの数は1より多い。第1の方法で第1のサブブロックに前記二次変換を適用し、第2の方法で第2のサブブロックに前記第1の方法とは異なる第2の方法で二次変換を適用する。いくつかの実施形態において、第1の非ゼロ範囲外にある前記第1のサブブロックの係数は、ゼロに設定される。前記第2の非ゼロ範囲の外側にある第2のサブブロックの係数は、ゼロに設定され、前記第1の非ゼロ範囲は、前記第2の非ゼロ範囲と異なる。いくつかの実施形態において、前記第1の非ゼロ範囲は、前記第2の非ゼロ範囲よりも大きい。いくつかの実施形態において、前記第1の非ゼロ範囲は16として表現され、前記第2の非ゼロ範囲は8として表される。
【0303】
いくつかの実施形態において、前記二次変換が1つのサブブロックのみに適用される場合、第1の非ゼロ範囲外の前記1つのみのサブブロックのみの係数をゼロに設定する。前記低周波数非可分変換が複数のサブブロックに適用される場合、第2の非ゼロ範囲外の前記複数のサブブロックの係数は、ゼロに設定される。いくつかの実施形態において、前記第1の非ゼロ範囲は、前記第2の非ゼロ範囲とは異なる。いくつかの実施形態において、前記第2の非ゼロ範囲は8で表現される。
【0304】
図21は、本技術による映像処理のための例示的な方法のフローチャートである。方法2100は、動作2110において、映像の1つのブロックとこの映像のビットストリーム表現とを変換するために、このブロックの1つの寸法が1つの条件を満たす場合、このブロックの1つのサブブロックに対して縮小寸法による二次変換を適用可能であると判定することを含む。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2100は、また、動作2120において、その判定に基づいて変換を行うことを含む。
【0305】
いくつかの実施形態において、前記縮小寸法は前記サブブロックの寸法に対応する。いくつかの実施形態において、二次変換が適用可能である単一のサブブロックは現在のブロックの左上のサブブロックである。いくつかの実施形態において、単一のサブブロックは、M×Nの寸法を有し、MおよびNは正の整数である。いくつかの実施形態において、M=N=4である。いくつかの実施形態において、前記条件は、前記ブロックの寸法が4×HまたはW×4であり、H>8であり、W>8であることを規定する。いくつかの実施形態において、(1)H>T1、または(2)W>T2のうちの少なくとも1つが満たされ、T1およびT2が8よりも大きい。いくつかの実施形態において、T1=T2=16である。いくつかの実施形態において、(1)H<T1、または(2)W<T2のうちの少なくとも1つが満たされ、T1およびT2が8よりも大きい。いくつかの実施形態において、T1=T2=32である。いくつかの実施形態において、前記条件は、前記ブロックの寸法がM×HまたはW×Nであり、H≧NおよびW≧Mであることを規定する。
【0306】
図22は、本技術による映像処理のための例示的な方法のフローチャートである。方法2200は、動作2210において、映像のブロックと前記映像のビットストリーム表現との間での変換のために、縮小寸法による二次変換を前記ブロックにおけるK×Lの寸法を有する領域に適用可能であることを判定することを含む。KおよびLは正の整数であり、KはLでない。二次変換は、順方向一次変換と量子化ステップとの間、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2200は、また、動作2220において、その判定に基づいて変換を行うことを含む。
【0307】
いくつかの実施形態において、前記縮小寸法は前記領域の寸法に対応する。いくつかの実施形態において、非ゼロ範囲外にある前記領域の係数は、ゼロに設定される。いくつかの実施形態において、前記非ゼロ範囲は前記ブロックの左上の領域として表現され、前記左上の領域はM×Mの寸法を有し、MはKおよびL以下である。
【0308】
図23は、本技術による映像処理のための例示的な方法のフローチャートである。方法2300は、動作2310において、映像のブロックとこの映像のビットストリーム表現との間での変換のために、このブロックの特徴に基づいて非ゼロ範囲を判定することを含む。非ゼロ範囲とは、縮小寸法による二次変換に関連付けられた係数をゼロに設定する範囲外に相当する。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2300は、また、動作2320において、その判定に基づいて変換を行うことを含む。
【0309】
いくつかの実施形態において、前記ブロックの特徴は前記ブロックの色成分を含む。いくつかの実施形態において、前記ブロックの輝度成分のための第1の非ゼロ範囲は、前記ブロックのクロマ成分のための第2の非ゼロ範囲とは異なる。いくつかの実施形態において、前記ブロックの特徴は前記ブロックを符号化された情報を含む。いくつかの実施形態において、前記符号化された情報は、前記ブロックがイントラモードで符号化されたものであるか或いは非イントラモードで符号化されたものであるかを示す情報を含む。いくつかの実施形態において、前記符号化された情報は、前記ブロックがイントラモード、インターモードまたはインターブロックコピーモードで符号化されているかを示す情報を含む。いくつかの実施形態において、前記符号化された情報は動き情報の参照ピクチャを含む。いくつかの実施形態において、ブロックの特徴はブロックの量子化パラメータを含む。いくつかの実施形態において、第1の非ゼロ範囲は第1の量子化パラメータに対応し、第2の非ゼロ範囲は第2の量子化パラメータに対応し、前記第1の非ゼロ範囲は、前記第1の量子化パラメータが前記第2の量子化パラメータ以上である場合、前記第2の非ゼロ範囲以下である。
【0310】
いくつかの実施形態において、異なる非ゼロ範囲は、二次変換のための異なる変換行列に関連付けられる。いくつかの実施形態において、非ゼロ範囲は、シーケンスパラメータセット、ピクチャパラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニット(CTU)行、CTU、または符号化ユニットにおいて、ビットストリーム表現で信号通知される。いくつかの実施形態において、複数の非ゼロ範囲が前記二次変換に適用可能であり、前記複数の非ゼロ範囲のうちの1つの選択を示す値は、シーケンスパラメータセット、ピクチャパラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、符号化ツリーユニット(CTU)行、CTU、または符号化ユニットにおいて、前記ビットストリーム表現で信号通知される。
【0311】
いくつかの実施形態において、前記変換を行うことは、映像の前記ブロックに基づいてビットストリーム表現を生成することを含む。いくつかの実施形態において、変換を行うことは、ビットストリーム表現から映像の前記ブロックを生成することを含む。
【0312】
図24Aは、本技術による映像符号化のための例示的な方法のフローチャートである。方法2400は、動作2410において、縮小寸法による二次変換が、1つの映像ブロックの2つの隣接するサブブロックに適用可能であることを判定することを含む。前記2つの隣接するサブブロックの各々は、M×Nの寸法を有し、MおよびNは正の整数である。前記二次変換は、順方向一次変換と量子化ステップとの間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2400は、動作2420において、前記判定に基づいて前記映像の符号化表現を生成することをさらに含む。
【0313】
いくつかの実施形態において、前記縮小寸法は前記2つの隣接するブロックの寸法に対応する。いくつかの実施形態において、前記方法は、前記2つの隣接するサブブロックの係数を2×M×N個の要素を有する一次元ベクトルに配列することを含む。いくつかの実施形態において、前記方法は、変換行列を使用して前記一次元ベクトルに二次変換を適用することにより、M×N個の変換要素を取得することを含む。前記変換行列は、2×M×N個の要素の第1の寸法と、M×N個の要素の第2の寸法とを有する。いくつかの実施形態において、前記方法は、2×M×N個の変換された素子を2つの隣接するサブブロックの第1のサブブロック内に再配列することを含む。いくつかの実施形態において、この方法は、前記2つの隣接するサブブロックの第2のサブブロックにおける要素をゼロに設定することを含む。いくつかの実施形態において、前記順方向一次変換および前記二次変換の両方は、サブブロックレベルで行われる。
【0314】
図24Bは、本技術による映像復号化のための例示的な方法のフローチャートである。方法2450は、動作2460において、縮小寸法による二次変換が、1つの映像ブロックの2つの隣接するサブブロックに適用可能であることを判定することを含む。前記2つの隣接するサブブロックの各々は、M×Nの寸法を有し、MおよびNは正の整数である。前記二次変換は、逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2450は、また、動作2470において、前記判定に従って、前記映像の符号化表現を構文解析することで、前記映像の前記ブロックを生成することを含む。
【0315】
いくつかの実施形態において、前記縮小寸法は前記2つの隣接するブロックの寸法に対応する。いくつかの実施形態において、前記方法は、前記2つの隣接するサブブロックの第1のサブブロックの係数を2×M×N個の要素を有する一次元ベクトルに配列することを含む。前記いくつかの実施形態において、前記方法は、変換行列を使用して前記一次元ベクトルに二次変換を適用することにより、2×M×N個の変換済み要素を取得することを含む。前記変換行列は、M×N個の要素の第1の寸法と、2×M×N個の要素の第2の寸法とを有する。いくつかの実施形態において、前記方法は、2×M×N個の変換された素子を2つの隣接するサブブロックに再配列することを含む。いくつかの実施形態において、M=N=4である。
【0316】
いくつかの実施形態において、前記縮小寸法による前記二次変換は、前記低周波数が縮小寸法に対応する前記低周波数非可分変換を含む。
【0317】
図25は、本技術による映像処理のための例示的な方法のフローチャートである。方法2500は、動作2510において、映像のブロックと前記映像のビットストリーム表現との間での変換のために、規則に従って、前記ブロックに関連付けられた特徴に基づいて、前記ブロックに縮小寸法による二次変換を適用するかどうかを判定することを含む。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2500は、動作2520において、その判定に基づいて変換を行うことを含む。
【0318】
いくつかの実施形態において、前記ブロックに関連付けられた特徴は前記ブロックの符号化された情報または近傍のブロックの符号化された情報を含む。いくつかの実施形態において、前記規則は、符号化された情報が前記ブロックまたは前記近傍のブロックが1つ以上の特定の符号化モードで符号化されていることを示す場合、前記二次変換を前記ブロックに適用可能でないことを規定する。いくつかの実施形態において、前記1つ以上の特定符号化モードは、リニアモード(LM)、LM-Tモード、LM-Aモード、広角イントラ予測モード、ブロック差動パルス符号変調(BDPCM)モード、差動パルス符号変調(DPCM)モード、残差ドメイン差動パルス符号変調(RBDPCM)モード、行列ベースイントラ予測(MIP)モード、または角度イントラ予測モードのうち少なくとも1つを含む。いくつかの実施形態において、前記規則は、ブロックが結合クロマ残差符号化モードで符号化される場合、前記二次変換を前記ブロックのクロマ成分に適用可能でないことを規定する。前記結合クロマ残差符号化モードでの前記ブロックの符号化は、前記ブロックのクロマ成分に関連付けられた残差の平均である結合残差を判定することを含む。いくつかの実施形態において、前記規則は、前記二次変換が前記ブロックの輝度成分に適用可能であり、且つLMモード、LM-TモードまたはLM-Aモードで符号化される前記ブロックのクロマ成分に適用不可能であることを規定する。
【0319】
いくつかの実施形態において、前記ブロックに関連付けられた前記特徴は、量子化または前記逆量子化ステップの後の前記ブロックの係数または残差を含む。いくつかの実施形態において、前記規則は、ブロックを符号化するために変換スキップモードを使用する場合、前記二次変換を前記残差に適用することを規定する。変換スキップモードは、前記順方向または前記逆方向一次変換をスキップするモードである。いくつかの実施形態において、前記規則は、前記二次変換を前記ブロックの量子化変換された係数に適用することを規定する。
【0320】
いくつかの実施形態において、前記ブロックに関連付けられた前記特徴は、前記ブロックがイントラ符号化ツールを使用して符号化されたものであるかどうかを特徴とする。いくつかの実施形態において、前記規則は、前記ブロックがインター符号化ツールを使用して符号化される場合、二次変換が前記ブロックに適用可能であることを規定する。いくつかの実施形態において、前記規則は、前記ブロックがイントラブロックコピー符号化ツールを使用して符号化される場合、二次変換が前記ブロックに適用可能であることを規定する。いくつかの実施形態において、前記規則は、インター・イントラ予測符号化ツールを用いてブロックを符号化する場合、前記二次変換を前記ブロックに適用可能であることを規定する。
【0321】
いくつかの実施形態において、前記ブロックに関連付けられた前記特徴は、前記ブロックのクロマフォーマットに関連付けられた情報を含む。いくつかの実施形態において、前記規則は、前記二次変換が前記ブロックのクロマ成分に適用可能でないことを規定する。いくつかの実施形態において、前記規則は、前記ブロックのクロマフォーマットが4:0:0である場合、前記二次変換を前記ブロックのクロマ成分に適用可能でないことを規定する。いくつかの実施形態において、前記規則は、クロマフォーマットのクロマ成分が別個に符号化される場合、前記二次変換を前記ブロックのクロマ成分に適用可能でないことを規定する。いくつかの実施形態において、前記規則は前記二次変換が前記ブロックに適用可能であることを規定する。ブロックの1つの寸法に関連付けられた二次変換の非ゼロ範囲は、ブロックの色成分に基づいて判定され、この非ゼロ範囲は、ブロックの係数がゼロに設定される範囲外である。いくつかの実施形態において、ブロックの同じ寸法の場合、ブロックのクロマ成分の第1の非ゼロ範囲は、ブロックの輝度成分の第2の非ゼロ範囲より小さい。
【0322】
いくつかの実施形態において、位置依存イントラ予測(PDPC)符号化ステップをブロックに適用することができるかは、前記二次変換が適用可能であるかに基づいて判定される。いくつかの実施形態において、前記PDPC符号化ステップは、前記二次変換がブロックに適用可能である場合には適用されない。いくつかの実施形態において、前記PDPC符号化ステップは、前記二次変換がブロックに適用可能である場合に適用可能である。
【0323】
いくつかの実施形態において、前記ブロックに関連付けられた特徴は、位置依存イントラ予測(PDPC)符号化ステップが前記ブロックに適用可能であるかを含む。いくつかの実施形態において、前記規則は、前記PDPC符号化ステップが適用可能である場合、前記ブロックに前記二次変換を適用しないことを規定する。いくつかの実施形態において、イントラ予測符号化ステップのために前記ブロックの近傍のサンプルをフィルタリングするかどうかは、前記二次変換が前記ブロックに適用可能であるかどうかに基づいて判定される。いくつかの実施形態において、前記二次変換が前記ブロックに適用される場合、近傍のサンプルはフィルタリングされない。いくつかの実施形態において、前記二次変換が前記ブロックに適用される場合、近傍のサンプルをフィルタリングする。
【0324】
いくつかの実施形態において、このブロックに関連付けられた特徴は、このブロックに適用されるイントラ予測符号化ステップのために、このブロックの近傍のサンプルをフィルタリングするかどうかを含む。いくつかの実施形態において、前記規則は、近傍のサンプルをフィルタリングする場合、前記二次変換が適用可能でないことを規定する。いくつかの実施形態において、前記規則は、近傍のサンプルをフィルタリングしない場合、前記二次変換が適用可能でないことを規定する。
【0325】
いくつかの実施形態において、前記ブロックに関連付けられた特徴は、前記ブロックが順方向または逆方向一次変換をスキップする変換スキップモードで符号化されるかを含む。いくつかの実施形態において、前記ブロックは前記変換スキップモードで符号化され、前記二次変換は前記ブロックに適用可能である。いくつかの実施形態において、変換スキップモードが有効化されるときの二次変換のための第1の変換行列は、変換スキップモードが無効化されるときの二次変換のための二次変換行列とは異なる。いくつかの実施形態において、量子化行列がブロックに適用可能であるかどうかは、前記二次変換が適用されるかどうかに基づいて判定される。いくつかの実施形態において、二次変換が適用可能である場合は第1の量子化行列が適用可能であり、二次変換が適用不可能である場合は第2の異なる量子化行列が適用可能である。
【0326】
いくつかの実施形態において、前記ブロックに関連付けられた特徴は、前記量子化行列が前記ブロックに適用可能であるかを含む。いくつかの実施形態において、前記規則は、前記量子化行列を適用する場合、前記二次変換を適用可能でないことを規定する。いくつかの実施形態において、前記ブロックに関連付けられた特徴は、サブブロックレベル変換が前記ブロックに適用可能であるかどうかを含む。いくつかの実施形態において、前記規則は、前記二次変換が前記サブブロックレベル変換により生成された前記ブロックの左上のサブブロックの係数に適用可能であることを規定する。いくつかの実施形態において、前記量子化ステップまたは前記逆量子化ステップの後、残差ブロックを構文解析するための走査順序は、前記二次変換がブロックに適用されるかどうかに基づいて判定される。いくつかの実施形態において、前記二次変換によりゼロに設定された係数は走査されない。いくつかの実施形態において、前記量子化または前記逆量子化ステップの後、残差ブロックを構文解析するための算術符号化コンテキストは、前記二次変換が前記ブロックに適用されるかどうかに基づいて判定される。
【0327】
いくつかの実施形態において、二次変換に関する情報は、ビットストリーム表現において1つ以上のレベルで信号通知され、この1つ以上のレベルは、ピクチャパラメータセット、スライス、ヘッダ、ピクチャヘッダ、タイルグループヘッダ、タイル、符号化ツリーユニット行、または符号化ツリーユニットを含む。いくつかの実施形態において、二次変換が適用可能であるかどうかは、情報が信号通知される前記1つ以上のレベルに基づく。いくつかの実施形態において、前記情報は1つの符号化ツリーユニット内で符号化された1つの輝度成分と1つのクロマ成分とで別個に信号通知される。いくつかの実施形態において、前記二次変換がブロックに適用可能でない場合、前記二次変換に関する1つ以上の構文要素は、前記ブロックの前記ビットストリーム表現において排除される。いくつかの実施形態において、前記ビットストリーム表現における量子化変換された残差の前に、前記二次変換に関する1つ以上の構文要素を信号通知する。いくつかの実施形態において、前記1つ以上の構文要素は、前記量子化残差を構文解析する時に判定された複数の係数とは独立して信号通知される。いくつかの実施形態において、前記量子化残差を構文解析するとき、前記係数の数はカウントされない。いくつかの実施形態において、前記二次変換によりすべてのサブブロックを示す構文フラグをゼロに設定することは、前記ビットストリーム表現において排除され、前記構文フラグの値が0であることを意味する。いくつかの実施形態において、前記二次変換により係数を示す構文フラグをゼロに設定することは、前記ビットストリーム表現において排除され、前記構文フラグの値が0であることを意味する。
【0328】
図26は、本技術による映像処理のための例示的な方法のフローチャートである。方法2600は、動作2610において、映像のブロックと前記映像のビットストリーム表現との間での変換のために、前記ブロックに適用可能な、縮小寸法による二次変換のための1つ以上の変換行列の係数のビット精度制約を判定することを含む。二次変換は、順方向一次変換と量子化ステップとの間で、または逆量子化ステップと逆方向一次変換との間で行われる。前記縮小寸法とはブロックの寸法から縮小されたものである。方法2600は、また、動作2620において、その判定に基づいて変換を行うことを含む。
【0329】
いくつかの実施形態において、前記ビット精度制約は、前記1つ以上の変換行列の係数が8より小さいビット幅で記憶可能であることを含む。いくつかの実施形態において、前記ビット精度制約は、前記変換行列の係数が前記1つ以上の変換行列間の関連付けに基づいて記憶可能であることを含む。いくつかの実施形態において、変換行列における第1の要素と第2の要素との間の差が記憶され、前記第1の要素は前記第2の要素に基づいて導出される。いくつかの実施形態において、第1の変換行列における第1の要素と二次変換行列における第2の要素との間の差が記憶され、前記第1の要素は前記第2の要素に基づいて導出される。いくつかの実施形態において、前記差は8より小さいビット幅で表現される。いくつかの実施形態において、前記ビット幅は6または4である。
【0330】
いくつかの実施形態において、前記縮小寸法による前記二次変換は、前記低周波数が縮小寸法に対応する前記低周波数非可分変換を含む。
【0331】
いくつかの実施形態において、前記変換を行うことは、映像の前記ブロックに基づいてビットストリーム表現を生成することを含む。いくつかの実施形態において、変換を行うことは、ビットストリーム表現から映像の前記ブロックを生成することを含む。
【0332】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効化される場合、エンコーダは、1つの映像ブロックを処理する際にこのツールまたはモードを使用するまたは実装するが、このツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効化される場合に、この映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
【0333】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを無効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが無効にされている場合、エンコーダは、映像のブロックを映像のビットストリーム表現に変換する際に、このツールまたはモードを使用しない。別の例において、映像処理ツールまたはモードが無効にされている場合、デコーダは、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用してビットストリームが修正されていないことを知って、ビットストリームを処理する。
【0334】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換および符号化された誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。
【0335】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品、たとえば、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブル処理装置、コンピュータ、または複数の処理装置、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0336】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0337】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0338】
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上の処理装置を含む。一般的に、処理装置は、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するための処理装置と、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0339】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0340】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0341】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
図1
図2
図3A
図3B
図4
図5A
図5B
図5C
図5D
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24A
図24B
図25
図26
【手続補正書】
【提出日】2021-10-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像データ処理方法であって、
映像の現在のブロックと前記映像のビットストリームとの間での変換のために、二次変換が現在のブロックに適用可能であることを判定することであって、前記二次変換が、順方向二次変換及び逆方向二次変換のうちの少なくとも1つを含み、前記順方向二次変換は、順方向一次変換と量子化との間で実行され、逆方向二次変換は、逆量子化と逆方向一次変換との間で実行される、判定することと、
少なくとも1つの第1の条件を満たす前記現在のブロックの寸法に応じて、前記二次変換が前記現在のブロックの単一のサブブロックに適用可能であることを判定することであって、前記少なくとも1つの第1の条件は、前記現在のブロックの前記寸法が4×H又はW×4であり、H>8且つW>8である、判定することと、
前記判定に基づいて前記変換を実行することと、
を含む方法。
【請求項2】
前記二次変換が適用可能な単一のサブブロックが、前記現在のブロックの左上のサブブロックである、
請求項1に記載の方法。
【請求項3】
前記単一のサブブロックは、M×Nの寸法を有し、
M及びNは、正の整数である、
請求項1または2に記載の方法。
【請求項4】
M=N=4である、
請求項3に記載の方法。
【請求項5】
少なくとも1つの第2の条件を満たす前記現在のブロックの寸法に応じて、前記二次変換が前記現在のブロックの単一のサブブロックに適用可能であることを判定することであって、前記少なくとも1つの第2の条件は、前記現在のブロックの前記寸法が4×H又はW×4であり、H=8およびW=8であることを含む、判定すること、を更に含む、
請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記二次変換のための行列は、4つの変換セットから選択され、
前記4つの変換セットのそれぞれは、2つの変換行列からなる、
請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記現在のブロックがクロマブロックであることと、3つのクロスコンポーネントの線形モデルのイントラ予測モードの1つが前記現在のブロックに使用されていることと、に応じて、変換セット0が、前記現在のブロックに選択される、
請求項6に記載の方法。
【請求項8】
前記二次変換を適用するかどうかは、ブロックの符号化モードに依存する、
請求項1から7のいずれか1項に記載の方法。
【請求項9】
前記ブロックが非イントラ予測モードで符号化されていることに応じて、前記二次変換が、前記ブロックに適用されない、
請求項8に記載の方法。
【請求項10】
ブロックが変換スキップモードで符号化されていることに応じて、前記二次変換が、前記ブロックに適用されない、
請求項8に記載の方法。
【請求項11】
前記二次変換がブロックに適用されていないことに応じて、前記ブロック内の前記二次変換に関連する情報を示す構文要素が、ビットストリームに含まれない、
請求項1から10のいずれか1項に記載の方法。
【請求項12】
前記変換は、前記映像を前記ビットストリームに符号化することを含む、
請求項1から11のいずれか1項に記載の方法。
【請求項13】
前記変換は、前記ビットストリームから前記映像を復号化することを含む、
請求項1から11のいずれか1項に記載の方法。
【請求項14】
処理装置と、前記処理装置上の命令を有する非一時的メモリと、を含む映像データ処理装置であって、
前記処理装置による実行時の前記命令は、前記処理装置に、
映像の現在のブロックと前記映像のビットストリームとの間での変換のために、二次変換が現在のブロックに適用可能であることを判定することであって、前記二次変換が、順方向二次変換及び逆方向二次変換のうちの少なくとも1つを含み、前記順方向二次変換は、順方向一次変換と量子化との間で実行され、逆方向二次変換は、逆量子化と逆方向一次変換との間で実行される、判定することと、
少なくとも1つの第1の条件を満たす前記現在のブロックの寸法に応じて、前記二次変換が前記現在のブロックの単一のサブブロックに適用可能であることを判定することであって、前記少なくとも1つの第1の条件は、前記現在のブロックの前記寸法が4×H又はW×4であり、H>8且つW>8である、判定することと、
前記判定に基づいて前記変換を実行することと、
を実行させる、装置。
【請求項15】
命令を格納する非一時的なコンピュータ可読記憶媒体であって、
前記命令は、処理装置に、
映像の現在のブロックと前記映像のビットストリームとの間での変換のために、二次変換が現在のブロックに適用可能であることを判定することであって、前記二次変換が、順方向二次変換及び逆方向二次変換のうちの少なくとも1つを含み、前記順方向二次変換は、順方向一次変換と量子化との間で実行され、逆方向二次変換は、逆量子化と逆方向一次変換との間で実行される、判定することと、
少なくとも1つの第1の条件を満たす前記現在のブロックの寸法に応じて、前記二次変換が前記現在のブロックの単一のサブブロックに適用可能であることを判定することであって、前記少なくとも1つの第1の条件は、前記現在のブロックの前記寸法が4×H又はW×4であり、H>8且つW>8である、判定することと、
前記判定に基づいて前記変換を実行することと、
を実行させる、記憶媒体。
【請求項16】
映像処理装置によって実行される方法によって生成される映像のビットストリームを格納する非一時的なコンピュータ可読記録媒体であって、
前記方法は、
二次変換が映像の現在のブロックに適用可能であることを判定することであって、前記二次変換が、順方向二次変換及び逆方向二次変換のうちの少なくとも1つを含み、前記順方向二次変換は、順方向一次変換と量子化との間で実行され、前記逆方向二次変換は、逆量子化と逆方向一次変換との間で実行される、判定することと、
少なくとも1つの第1の条件を満たす前記現在のブロックの寸法に応じて、前記二次変換が前記現在のブロックの単一のサブブロックに適用可能であることを判定することであって、前記少なくとも1つの第1の条件は、前記現在のブロックの前記寸法が4×H又はW×4であり、H>8且つW>8である、判定することと、
前記判定に基づいて前記映像の前記ビットストリームを生成することと、
を含む、記録媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
関連出願の相互参照
本願は、2020年4月23日出願の国際特許出願PCT/CN2020/086444号の国内段階であり、2019年4月23日出願の国際特許出願PCT/CN2019/083853号の優先権および利益を主張する。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【国際調査報告】