(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】イントラ予測の方法及び装置
(51)【国際特許分類】
H04N 19/105 20140101AFI20231011BHJP
H04N 19/593 20140101ALI20231011BHJP
H04N 19/186 20140101ALI20231011BHJP
H04N 19/176 20140101ALI20231011BHJP
【FI】
H04N19/105
H04N19/593
H04N19/186
H04N19/176
(21)【出願番号】P 2021518662
(86)(22)【出願日】2019-09-30
(86)【国際出願番号】 CN2019109733
(87)【国際公開番号】W WO2020069667
(87)【国際公開日】2020-04-09
【審査請求日】2021-06-01
(32)【優先日】2018-10-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-10-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-10-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-10-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】マー,シアーン
(72)【発明者】
【氏名】チェン,ジエンローァ
(72)【発明者】
【氏名】ジャオ,イン
(72)【発明者】
【氏名】ヤーン,ハイタオ
【審査官】鉢呂 健
(56)【参考文献】
【文献】米国特許出願公開第2018/0176594(US,A1)
【文献】米国特許出願公開第2014/0233650(US,A1)
【文献】MA, Xiang et al.,CE3: CCLM/MDLM using simplified coefficients derivation method (Test 5.6.1, 5.6.2 and 5.6.3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, [JVET-L0340_r1],JVET-L0340 (version 2),ITU-T,2018年09月29日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0340-v2.zip>: JVET-L0340_r1.docx: pp.1-6
【文献】MA, Xiang et al.,CE3-related: Classification-based mean value for CCLM coefficients derivation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, [JVET-L0342_r2],JVET-L0342 (version 3),ITU-T,2018年10月02日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0342-v3.zip>: JVET-L0342_r2.docx: pp.1-5
【文献】HAN, Yu et al.,Decoder-Side Direct Mode Prediction,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 5th Meeting: Geneva, CH, 12-20 January 2017, [JVET-E0027],JVET-E0027 (version 3),ITU-T,2017年01月10日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/5_Geneva/wg11/JVET-E0027-v3.zip>: JVET-E0027.doc: pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
線形モデルを使用してイントラ予測を行うための方法であって、当該方法は、
現在のクロマブロックに対応するルマブロックを決定するステップと、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定するステップであって、Lは正の整数である、ステップと、
前記現在のクロマブロックの
前記決定したL個の利用可能なクロマ参照サンプ
ルに基づいて、前記ルマブロックのルマ参照サンプルを取得するステップであって、前記ルマブロックの前記取得したルマ参照サンプルは、ダウンサンプリングしたルマ参照サンプルであり、前記現在のクロマブロックの前記
決定したL個の利用可能なクロマ参照サンプルは、前記現在のクロマブロックのL個の上部の隣接クロマサンプル、前記現在のクロマブロックのL個の左側の隣接クロマサンプル、又は前記現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルを含み、L1+L2=Lで
ある、ステップと、
前記ルマ参照サンプルと、該ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算するステップと、
該線形モデル係数と、前記ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、前記現在のクロマブロックの予測を取得するステップと、を含む、
方法。
【請求項2】
L個の利用可能なクロマ参照サンプルを前記決定するステップは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の上部の隣接クロマサンプルが利用可能であると決定するステップを含み、
1
<L<W2であり、W2は上部の参照サンプル範囲を示し、L及びW2は正の整数であり、前記L個の上部の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項1に記載の方法。
【請求項3】
W2は2*W又はW+Hのいずれかに等しく、Wは前記現在のクロマブロックの幅を表し、Hは前記現在のクロマブロックの高さを表す、請求項2に記載の方法。
【請求項4】
L個の利用可能なクロマ参照サンプルを前記決定するステップは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の左側の隣接クロマサンプルが利用可能であると決定するステップを含み、
1
<L<H2であり、H2は左側の参照サンプル範囲を示し、L及びH2は正の整数であり、前記L個の左側の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項1に記載の方法。
【請求項5】
H2は2*H又はW+Hのいずれかに等しく、Wは前記現在のクロマブロックの幅を表し、Hは前記現在のクロマブロックの高さを表す、請求項4に記載の方法。
【請求項6】
L個の利用可能なクロマ参照サンプルを前記決定するステップは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルが利用可能であると決定するステップを含み、
1
<L1
<W2であり、1
<L2
<H2であり、W2は上部の参照サンプル範囲を示し、H2は左側の参照サンプル範囲を示し、L1、L2、W2、及びH2は正の整数であり、L1+L2=Lであり、前記L1個の上部の隣接クロマサンプル及び前記L2個の左側の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項1に記載の方法。
【請求項7】
前記ルマ参照サンプルは、
前記ルマブロックの上にあり、且つ前記
決定したL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより、又は
前記ルマブロックの左側にあり、且つ前記
決定したL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される、請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
前記ルマブロックの前記ダウンサンプリングしたルマブロックは、前記現在のクロマブロックに対応する、前記ルマブロックの再構成されたルマブロックをダウンサンプリングすることにより取得される、請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
前記ルマ参照サンプルが前記ルマブロックの上の隣接サンプルのみに基づいて取得される場合であって、前記現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている場合に、前記ルマブロックの前記再構成されたバージョンの再構成した隣接ルマサンプルの1行のみが、前記ルマ参照サンプルを取得するために使用される、請求項8に記載の方法。
【請求項10】
前記ルマ参照サンプルと、該ルマ参照サンプルに対応する前記クロマ参照サンプルとに基づいて、線形モデル係数を前記計算するステップは、
前記ルマ参照サンプルに基づいて、最大ルマ値及び最小ルマ値を決定するステップと、
前記最大ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第1のクロマ値を取得するステップと、
前記最小ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第2のクロマ値を取得するステップと、
前記第1のクロマ値、前記第2のクロマ値、前記最大ルマ値、及び前記最小ルマ値に基づいて、線形モデル係数を計算するステップと、を含む、請求項1乃至9のいずれか一項に記載の方法。
【請求項11】
前記最大ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第1のクロマ値を前記取得するステップは、前記最大ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて第1のクロマ値を取得するステップを含み、
前記最小ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第2のクロマ値を前記取得するステップは、前記最小ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて第2のクロマ値を取得するステップを含む、請求項10に記載の方法。
【請求項12】
線形モデルを使用してイントラ予測を行うための方法であって、当該方法は、
現在のクロマブロックに対応するルマブロックを決定するステップと、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定するステップであって、Lは正の整数である、ステップと、
前記現在のクロマブロックの
前記決定したL個の利用可能なクロマ参照サンプルを決定することに基づいて、前記ルマブロックのルマ参照サンプルを取得するステップであって、前記ルマブロックの前記取得したルマ参照サンプルは、前記
決定したL個の利用可能なクロマ参照サンプルに対応する、前記ルマブロックの隣接サンプルをダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである、ステップと、
前記ルマ参照サンプルと、該ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算するステップと、
該線形モデル係数と、前記ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、前記現在のクロマブロックの予測を取得するステップと、を含む、
方法。
【請求項13】
ビデオデータを符号化するための装置であって、当該装置は、
ビデオデータメモリと、
ビデオエンコーダと、を有しており、
該ビデオエンコーダは、
現在のクロマブロックに対応するルマブロックを決定することと、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することであって、Lは正の整数である、ことと、
前記現在のクロマブロックの
前記決定したL個の利用可能なクロマ参照サンプルを決定することにより、前記ルマブロックのルマ参照サンプルを取得することであって、前記ルマブロックの前記取得したルマ参照サンプルは、前記
決定したL個の利用可能なクロマ参照サンプルに対応する、前記ルマブロックの隣接サンプルをダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである、取得することと、
前記ルマ参照サンプルと、該ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデルの線形モデル係数を計算することと、
該線形モデル係数と、前記ルマブロックのダウンサンプリングバージョンの値とに基づいて、前記現在のクロマブロックの予測を取得することと、を行うように構成される、
装置。
【請求項14】
ビデオデータを復号化するための装置であって、当該装置は、
ビデオデータメモリと、
ビデオデコーダと、を有しており、
該ビデオデコーダは、
現在のクロマブロックに対応するルマブロックを決定することと、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することであって、Lは正の整数である、ことと、
前記現在のクロマブロックの
前記決定したL個の利用可能なクロマ参照サンプルを決定することに基づいて、前記ルマブロックのルマ参照サンプルを取得することであって、前記ルマブロックの前記取得したルマ参照サンプルは、ダウンサンプリングしたルマ参照サンプルであり、前記現在のクロマブロックの前記
決定したL個の利用可能なクロマ参照サンプルは、前記現在のクロマブロックのL個の上部の隣接クロマサンプル、前記現在のクロマブロックのL個の左側の隣接クロマサンプル、又は前記現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルを含み、L1+L2=Lで
ある、ことと、
前記ルマ参照サンプルと、該ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算することと、
該線形モデル係数と、前記ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、前記現在のクロマブロックの予測を取得することと、を行うように構成される、
装置。
【請求項15】
L個の利用可能なクロマ参照サンプルを
前記決定することは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の上部の隣接クロマサンプルが利用可能であると決定することを含み、
1
<L<W2であり、W2は上部の参照サンプル範囲を示し、L及びW2は正の整数であり、前記L個の上部の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項13又は14に記載の装置。
【請求項16】
W2は2*W又はW+Hのいずれかに等しく、Wは前記現在のクロマブロックの幅を表し、Hは前記現在のクロマブロックの高さを表す、請求項15に記載の装置。
【請求項17】
L個の利用可能なクロマ参照サンプルを
前記決定することは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の左側の隣接クロマサンプルが利用可能であると決定することを含み、
1
<L<H2であり、H2は左側の参照サンプル範囲を示し、L及びH2は正の整数であり、前記L個の左側の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される
、請求項13又は14に記載の装置。
【請求項18】
H2は2*H又はW+Hのいずれかに等しく、Wは前記現在のクロマブロックの幅を表し、Hは前記現在のクロマブロックの高さを表す、請求項17に記載の装置。
【請求項19】
L個の利用可能なクロマ参照サンプルを
前記決定することは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルが利用可能であると決定することを含み、
1
<L1
<W2であり、1
<L2
<H2であり、W2は上部の参照サンプル範囲を示し、H2は左側の参照サンプル範囲を示し、L1、L2、W2、及びH2は正の整数であり、L1+L2=Lであり、前記L1個の上部の隣接クロマサンプル及び前記L2個の左側の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項13又は14に記載の装置。
【請求項20】
前記ルマ参照サンプルは、
前記ルマブロックの上にあり、且つ前記
決定したL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより、又は
前記ルマブロックの左側にあり、且つ前記
決定したL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される、請求項13乃至19のいずれか一項に記載の装置。
【請求項21】
前記ルマブロックの前記ダウンサンプリングしたルマブロックは、前記現在のクロマブロックに対応する、前記ルマブロックの再構成されたルマブロックをダウンサンプリングすることにより取得される、請求項13乃至20のいずれか一項に記載の装置。
【請求項22】
前記ルマ参照サンプルが前記ルマブロックの上の隣接サンプルのみに基づいて取得される場合であって、前記現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている場合に、前記ルマブロックの前記再構成されたバージョンの再構成した隣接ルマサンプルの1行のみが、前記ルマ参照サンプルを取得するために使用される、請求項21に記載の装置。
【請求項23】
線形モデルを使用してイントラ予測を行うための機器であって、当該機器は、
現在のクロマブロックに対応するルマブロックを決定し、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定し、前記現在のクロマブロックの
前記決定したL個の利用可能なクロマ参照サンプルを決定することに基づいて、前記ルマブロックのルマ参照サンプルを取得するように構成された決定ユニットであって、
Lは正の整数であり、前記ルマブロックの前記取得したルマ参照サンプルは、ダウンサンプリングしたルマ参照サンプルであり、前記現在のクロマブロックの前記
決定したL個の利用可能なクロマ参照サンプルは、前記現在のクロマブロックのL個の上部の隣接クロマサンプル、前記現在のクロマブロックのL個の左側の隣接クロマサンプル、又は前記現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルを含み、L1+L2=Lで
ある、決定ユニットと、
前記ルマ参照サンプルと、該ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算し、該線形モデル係数と、前記ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、前記現在のクロマブロックの予測を取得するように構成されたイントラ予測処理ユニットと、を有する、
機器。
【請求項24】
前記決定ユニットは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の上部の隣接クロマサンプルが利用可能であると決定するように構成され、
1
<L<W2であり、W2は上部の参照サンプル範囲を示し、L及びW2は正の整数であり、前記L個の上部の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項23に記載の機器。
【請求項25】
W2は2*W又はW+Hのいずれかに等しく、Wは前記現在のクロマブロックの幅を表し、Hは前記現在のクロマブロックの高さを表す、請求項24に記載の機器。
【請求項26】
前記決定ユニットは、
前記現在のクロマブロックの上部の隣接クロマサンプル及び/又は左側の隣接クロマサンプルの利用可能性をチェックすることにより、前記現在のクロマブロックのL個の左側の隣接クロマサンプルが利用可能であると決定するように構成され、
1
<L<H2であり、H2は左側の参照サンプル範囲を示し、L及びH2は正の整数であり、前記L個の左側の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項23に記載の機器。
【請求項27】
H2は2*H又はW+Hのいずれかに等しく、Wは前記現在のクロマブロックの幅を表し、Hは前記現在のクロマブロックの高さを表す、請求項26に記載の機器。
【請求項28】
前記決定ユニットは、前記現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルが利用可能であると決定するように構成され、
1
<L1
<W2であり、1
<L2
<H2であり、W2は上部の参照サンプル範囲を示し、H2は左側の参照サンプル範囲を示し、L1、L2、W2、及びH2は正の整数であり、L1+L2=Lであり、前記L1個の上部の隣接クロマサンプル及び前記L2個の左側の隣接クロマサンプルは、前記利用可能なクロマ参照サンプルとして使用される、請求項23に記載の機器。
【請求項29】
前記ルマ参照サンプルは、
前記ルマブロックの上にあり、且つ前記
決定したL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより、又は
前記ルマブロックの左側にあり、且つ前記
決定したL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される、請求項23乃至28のいずれか一項に記載の機器。
【請求項30】
前記ルマブロックの前記ダウンサンプリングしたルマブロックは、前記現在のクロマブロックに対応する、前記ルマブロックの再構成されたルマブロックをダウンサンプリングすることにより取得される、請求項23乃至29のいずれか一項に記載の機器。
【請求項31】
前記ルマ参照サンプルが前記ルマブロックの上の隣接サンプルのみに基づいて取得される場合であって、前記現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている場合に、前記ルマブロックの前記再構成されたバージョンの再構成した隣接ルマサンプルの1行のみが、前記ルマ参照サンプルを取得するために使用される、請求項30に記載の機器。
【請求項32】
プログラム命令を含む非一時的なコンピュータ可読媒体であって、前記プログラム命令がコンピュータ装置又はプロセッサによって実行されたときに、前記コンピュータ装置又は前記プロセッサに、請求項1乃至12のいずれか一項に記載の前記方法を実行させる、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
この特許出願は、2018年10月5日に出願された米国仮特許出願第62/742,266号、2018年10月6日に出願された米国仮特許出願第62/742,355号、2018年10月6日に出願された米国仮特許出願第62/742,275号、及び2018年10月6日に出願された米国仮特許出願第62/742,356号に対する優先権の利益を主張する。前述した特許出願は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示の実施形態は、概して、ビデオコーディングの分野、より具体的には、クロスコンポーネント線形モデル予測(CCLM)を用いたイントラ予測の分野に関する。
【背景技術】
【0003】
比較的短いビデオでさえ描写するのに必要なビデオデータの量はかなりの量になる可能性があり、これは、帯域幅容量が限られた状況の通信ネットワークを介してデータをストリーミング又は他に通信するときに困難性を生じさせる可能性がある。こうして、ビデオデータは、現代の電気通信ネットワークを介して通信される前に通常圧縮される。ビデオを記憶装置に格納する場合に、メモリリソースが制限され得るため、ビデオのサイズも問題になる可能性がある。ビデオ圧縮装置は、大抵の場合、送信又は格納の前にビデオデータをコーディングするために送信元(source:ソース)でソフトウェア及び/又はハードウェアを使用し、それによりデジタルビデオ画像を表すために必要なデータの量を減らす。次に、圧縮したデータは、ビデオデータを復号化するビデオ解凍装置によって宛先(destination:送信先)で受信される。ネットワークリソースが限られており、より高いビデオ品質に対する要求が益々高まっているため、画質を殆ど又は全く犠牲にすることなく圧縮率を高める改善した圧縮及び解凍技術が望まれている。高効率ビデオコーディング(High Efficiency Video Coding: HEVC)は、ISO/IEC動画エキスパートグループ及びITU-TビデオコーディングエキスパートグループによってISO/IEC 23008-2 MPEG-Hパート2として発行された、つまりITU-T H.265と呼ばれる最新のビデオ圧縮であり、同じレベルのビデオ品質でデータ圧縮率を約2倍にするか、又は同じビットレートでビデオ品質を大幅に改善する。
【発明の概要】
【0004】
本開示の例は、画像を符号化及び復号化するためのイントラ予測機器及び方法を提供し、イントラ予測機器及び方法は、クロスコンポーネント線形モデル予測(CCLM)の効率を高めることができ、それによりビデオ信号のコーディング効率を高める。この開示は、このファイルに含まれる例及び特許請求の範囲において詳しく説明している。
【0005】
前述の及び他の目的は、独立請求項の主題によって達成される。更なる実施形態は、従属請求項、明細書の説明及び図から明らかである。
【0006】
特定の実施形態は、添付の独立請求項に概説しており、他の実施形態は、従属請求項に概説している。
【0007】
第1の態様によれば、本開示は、線形モデルを使用してイントラ予測を行うための方法に関する。この方法は、現在のクロマ(chroma:色差)ブロックに対応するルマ(luma:輝度)ブロックを決定するステップと;現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することに基づいて、ルマブロックのルマ参照サンプルを取得するステップであって、ルマブロックの取得したルマ参照サンプルは、ダウンサンプリングしたルマ参照サンプルである、取得するステップと;ルマ参照サンプルと、ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算するステップと;線形モデル係数と、ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、現在のクロマブロックの予測を取得するステップと;を含む。現在のクロマブロックのクロマ参照サンプルは、現在のクロマブロックの再構成した隣接サンプルを含む。L個の利用可能なクロマ参照サンプルは、再構成した隣接サンプルから決定される。同様に、ルマブロックの隣接サンプルも、ルマブロックの再構成した隣接サンプル(つまり、再構成した隣接ルマサンプル)である。一例では、ルマブロックの取得したルマ参照サンプルは、利用可能なクロマ参照サンプルに基づいて選択された、再構成した隣接ルマサンプルをダウンサンプリングすることにより取得される。
【0008】
既存の方法では、ルマ参照サンプルは、線形モデル係数を決定するために参照サンプルの利用可能性を決定するために使用される。ただし、いくつかのシナリオでは、利用可能なルマ参照サンプルには対応するクロマ参照サンプルがないため、これは、コーディングエラーをもたらす可能性がある。本明細書で提示する技術は、クロマ参照サンプルの利用可能性を調べることを経て、参照サンプルの利用可能性を決定することによってこの問題に対処する。いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されている場合に、クロマ参照サンプルは利用可能である。いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されており、参照サンプルが符号化の決定に基づいて省略されていない場合等に、クロマ参照サンプルは利用可能である。現在のクロマブロックの利用可能な参照サンプルは、クロマブロックの利用可能な再構成した隣接サンプルであり得る。利用可能なクロマ参照サンプルに対応するルマ参照サンプルは、線形モデル係数を決定するために利用される。
【0009】
第1の態様自体による方法の可能な実施形態において、L個の利用可能なクロマ参照サンプルを決定するステップは、現在のクロマブロックのL個の上部の隣接クロマサンプルが利用可能であると決定するステップを含み、ここで、1<=L<=W2であり、W2は上部の参照サンプル範囲を示し、L及びW2は正の整数であり、L個の上部の隣接クロマサンプルは、利用可能なクロマ参照サンプルとして使用される。
【0010】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、W2は2*W又はW+Hのいずれかに等しく、ここで、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0011】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、L個の利用可能なクロマ参照サンプルを決定するステップは、現在のクロマブロックのL個の左側の隣接クロマサンプルが利用可能であると決定するステップを含み、ここで、1<=L<=H2であり、H2は左側の参照サンプル範囲を示し、L及びH2は正の整数であり、L個の左側の隣接クロマサンプルは、利用可能なクロマ参照サンプルとして使用される。
【0012】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、H2は2*H又はW+Hのいずれかに等しく、ここで、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0013】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、L個の利用可能なクロマ参照サンプルを決定するステップは、現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルが利用可能であると決定するステップを含み、ここで、1<=L1<=W2であり、1<=L2<=H2であり、W2は上部の参照サンプル範囲を示し、H2は左側の参照サンプル範囲を示し、L1、L2、W2、及びH2は正の整数であり、L1+L2=Lであり、L1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルは、利用可能なクロマ参照サンプルとして使用される。
【0014】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマ参照サンプルは、ルマブロックの上にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより、又はルマブロックの左側にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される。例えば、Lが4個の場合に、ルマ参照サンプルは、ルマブロックの上にあり、且つ4個の利用可能なクロマ参照サンプルに基づいて選択された24個の隣接サンプルをダウンサンプリングすることにより、又はルマブロックの左側にあり、且つ4個の利用可能なクロマ参照サンプルに基づいて選択された24個の隣接サンプルをダウンサンプリングすることにより取得され、6タップフィルタがダウンサンプリングプロセスに使用される。
【0015】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマブロックのダウンサンプリングしたルマブロックは、現在のクロマブロックに対応する、ルマブロックの再構成されたルマブロックをダウンサンプリングすることにより取得される。
【0016】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマ参照サンプルがルマブロックの上の隣接サンプルのみに基づいて取得される場合であって、現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている場合に、ルマブロックの再構成されたバージョンの再構成した隣接ルマサンプルの1行のみが、ルマ参照サンプルを取得するために使用される。
【0017】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマ参照サンプルと、ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算するステップは、ルマ参照サンプルに基づいて、最大ルマ値及び最小ルマ値を決定するステップと;最大ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第1のクロマ値を取得するステップと;最小ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第2のクロマ値を取得するステップと;第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて、線形モデル係数を計算するステップと;を含む。
【0018】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、最大ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第1のクロマ値を取得するステップは、最大ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて第1のクロマ値を取得するステップを含み、最小ルマ値に関連付けられたルマ参照サンプルの位置に少なくとも部分的に基づいて第2のクロマ値を取得するステップは、最小ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて第2のクロマ値を取得するステップを含む。
【0019】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、線形モデル係数α及びβは以下に基づいて計算され、
α=(yB-yA)/(xB-xA)、
β=yA-αxA
ここで、xBは最大ルマ値を表し、yBは第1のクロマ値を表し、xAは最小ルマ値を表し、yAは第2のクロマ値を表す。
【0020】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックの予測は、以下に基づいて取得され、
predC(i,j)=α・rec’L(i,j)+β、
ここで、predC(i,j)は、現在のクロマブロックのクロマサンプルの予測値を表し、rec’L(i,j)は、ルマブロックの再構成されたルマブロックのダウンサンプリングされたルマブロックの対応するルマサンプルのサンプル値を表す。
【0021】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマ参照サンプルがルマブロックの左側にある隣接サンプルのみに基づいて取得され、現在のクロマブロックが現在のコーディングツリーユニット(CTU)の左側の境界にある場合に、再構成されたルマブロックの再構成した隣接ルマサンプルの1列のみが、ルマ参照サンプルを取得するために使用される。
【0022】
第1の態様自体又は第1の態様の任意の先行する実施態様による方法の可能な実施形態において、線形モデルはマルチ方向線形モデル(MDLM)を含む。
【0023】
第2の態様によれば、本開示は、線形モデルを使用してイントラ予測を行うための方法に関する。この方法は、現在のクロマブロックに対応するルマブロックを決定するステップと;現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することに基づいて、ルマブロックのルマ参照サンプルを取得するステップであって、ルマブロックの取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルに対応する、ルマブロックの隣接サンプル(つまり、再構成した隣接ルマサンプル)をダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである、取得するステップと;ルマ参照サンプルと、ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算するステップと;線形モデル係数と、ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、現在のクロマブロックの予測を取得するステップと;を含む。現在のクロマブロックのクロマ参照サンプルは、現在のクロマブロックの再構成した隣接サンプルを含む。L個の利用可能なクロマ参照サンプルは、再構成した隣接サンプルから決定される。同様に、ルマブロックの隣接サンプルも、ルマブロックの再構成した隣接サンプル(つまり、再構成した隣接ルマサンプル)である。ルマブロックの取得したルマ参照サンプルは、利用可能なクロマ参照サンプルに対応する再構成した隣接ルマサンプルをダウンサンプリングすることにより取得される。
【0024】
「利用可能なクロマ参照サンプルに対応する再構成した隣接ルマサンプル」について、再構成した隣接ルマサンプルと利用可能なクロマ参照サンプルとの間の対応関係は、「1対1の対応関係」に限定されず、再構成した隣接ルマサンプルと利用可能なクロマ参照サンプルとの間の対応関係は、「M対Nの対応関係」となり得ることも理解できる。例えば、6タップフィルタがダウンサンプリングに使用される場合に、M=24、N=4である。
【0025】
第3の態様によれば、本発明は、ビデオデータを符号化するための装置に関する。この装置は、ビデオデータメモリと;ビデオエンコーダと;を有しており、ビデオエンコーダは、現在のクロマブロックに対応するルマブロックを決定することと;現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することに基づいて(又は現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することにより)、ルマブロックのルマ参照サンプルを取得することであって、ルマブロックの取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルに対応する、ルマブロックの隣接サンプル(つまり、再構成した隣接ルマサンプル)をダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである、取得することと;ルマ参照サンプルと、ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデルの線形モデル係数を計算することと;線形モデル係数と、ルマブロックのダウンサンプリングバージョンの値とに基づいて、現在のクロマブロックの予測を取得することと;を行うように構成される。例えば、Lが4個である場合に、ルマブロックの取得したルマ参照サンプルは、4個の利用可能なクロマ参照サンプルに対応する、ルマブロックの24個の隣接サンプル(つまり、再構成した隣接ルマサンプル)をダウンサンプリングすることにより取得される4個のダウンサンプリングしたルマ参照サンプルであり、6タップフィルタがダウンサンプリングプロセスに使用される。
【0026】
第4の態様によれば、本発明は、ビデオデータを復号化するための装置に関する。この装置は、ビデオデータメモリと;ビデオデコーダと;を有しており、ビデオデコーダは、現在のクロマブロックに対応するルマブロックを決定することと;現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することに基づいて、ルマブロックのルマ参照サンプルを取得することであって、ルマブロックの取得したルマ参照サンプルは、ダウンサンプリングしたルマ参照サンプルである、取得することと;ルマ参照サンプルと、ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて、線形モデル係数を計算することと;線形モデル係数と、ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、現在のクロマブロックの予測を取得することと;を行うように構成される。
【0027】
既存のアプローチでは、ルマ参照サンプルは、線形モデル係数を決定するために参照サンプルの利用可能性を決定するために使用される。ただし、いくつかのシナリオでは、利用可能なルマ参照サンプルには対応するクロマ参照サンプルがないため、これは、コーディングエラーをもたらす可能性がある。本明細書で提示する技術は、クロマ参照サンプルの利用可能性を調べることを経て、参照サンプルの利用可能性を決定することによってこの問題に対処する。いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されている場合に、クロマ参照サンプルは利用可能である。いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されており、参照サンプルが符号化の決定に基づいて省略されていない場合等に、クロマ参照サンプルは利用可能である。現在のクロマブロックの利用可能なクロマ参照サンプルは、クロマブロックの利用可能な再構成した隣接サンプル(つまり、利用可能な再構成された隣接クロマサンプル)であり得る。利用可能なクロマ参照サンプルに対応するルマ参照サンプルは、線形モデル係数を決定するために利用される。
【0028】
第3又は第4の態様自体による装置の可能な実施形態において、L個の利用可能なクロマ参照サンプルを決定することは、現在のクロマブロックのL個の上部の隣接クロマサンプルが利用可能であると決定することを含み、ここで、1<=L<=W2であり、W2は上部の参照サンプル範囲を示し、L及びW2は正の整数であり、L個の上部の隣接クロマサンプルは、利用可能なクロマ参照サンプルとして使用される。
【0029】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、W2は2*W又はW+Hのいずれかに等しく、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0030】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、L個の利用可能なクロマ参照サンプルを決定することは、現在のクロマブロックのL個の左側の隣接クロマサンプルが利用可能であると決定することを含み、ここで、1<=L<=H2であり、H2は左側の参照サンプル範囲を示し、L及びH2は正の整数であり、L個の左側の隣接クロマサンプルは、利用可能なクロマ参照サンプルとして使用される。
【0031】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、H2は2*H又はW+Hのいずれかに等しく、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0032】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、L個の利用可能なクロマ参照サンプルを決定することは、現在のクロマブロックのL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルが利用可能であると決定することを含み、ここで、1<=L1<=W2であり、1<=L2<=H2であり、W2は上部の参照サンプル範囲を示し、H2は左側の参照サンプル範囲を示し、L1、L2、W2、及びH2は正の整数であり、L1+L2=Lであり、L1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルは、利用可能なクロマ参照サンプルとして使用される。
【0033】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、ルマ参照サンプルは、ルマブロックの上にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより、又はルマブロックの左側にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される。
【0034】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、ルマブロックのダウンサンプリングしたルマブロックは、現在のクロマブロックに対応する、ルマブロックの再構成されたルマブロックをダウンサンプリングすることにより取得される。
【0035】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、ルマ参照サンプルがルマブロックの上の隣接サンプルのみに基づいて取得される場合であって、現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている場合に、ルマブロックの再構成されたバージョンの再構成した隣接ルマサンプルの1行のみが、ルマ参照サンプルを取得するために使用される。
【0036】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、線形モデル係数α及びβは、以下に基づいて計算され、
α=(yB-yA)/(xB-xA)、
β=yA-αxA
ここで、xBは最大ルマ値を表し、yBは第1のクロマ値を表し、xAは最小ルマ値を表し、yAは第2のクロマ値を表す。
【0037】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、現在のクロマブロックの予測は、以下に基づいて取得され、
predC(i,j)=α・rec’L(i,j)+β、
ここで、predC(i,j)は、現在のクロマブロックのクロマサンプルの予測値を表し、rec’L(i,j)は、ルマブロックの再構成されたルマブロックのダウンサンプリングされたルマブロックの対応するルマサンプルのサンプル値を表す。
【0038】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、ルマ参照サンプルがルマブロックの左側にある隣接サンプルのみに基づいて取得され、現在のクロマブロックが現在のコーディングツリーユニット(CTU)の左側の境界にある場合に、再構成されたルマブロックの再構成した隣接ルマサンプルの1列のみが、ルマ参照サンプルを得るために使用される。
【0039】
第3又は第4の態様自体或いは第3又は第4の態様の任意の先行する実施態様による装置の可能な実施形態において、線形モデルはマルチ方向線形モデル(MDLM)を含む。
【0040】
第5の態様によれば、本発明は、ビデオ信号のビットストリームにおけるイントラクロマ(intra chroma)予測モードをコーディングする方法に関する。この方法は、イントラクロマ予測モードに基づいてビデオ信号のクロマブロックのイントラ予測を行うステップであって、イントラクロマ予測モードは、第1のモードセット、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む第2のモードセット、又は第3のモードセットから選択される、イントラ予測を行うステップと;イントラクロマ予測モードを示すシンタックス(syntax)要素を含めることによりビデオ信号のビットストリームを生成するステップであって、イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数よりも小さく、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい、生成するステップと;を含む。
【0041】
イントラクロマ予測モードを符号化するための提案する方法は、CCLM_L及びCCLM_Tを、バイナリ文字列を使用して表し、ビデオ信号のビットストリームに含めるのを可能にする。
【0042】
第5の態様自体による方法の可能な実施形態において、第1のモードセットは、導出(derived)モード(DM)又はクロスコンポーネント線形モデル(CCLM)予測モードの少なくとも1つを含み、第3のモードセットは、垂直モード、水平モード、DCモード、又は平面モードの少なくとも1つを含む。
【0043】
第5の態様自体又は第5の態様の任意の先行する実施態様による方法の可能な実施形態において、DMモードのシンタックス要素は0であり;CCLMモードのシンタックス要素は10であり;CCLM_Lモードのシンタックス要素は1110であり;CCLM_Tモードのシンタックス要素は1111であり;平面モードのシンタックス要素は11000であり;垂直モードのシンタックス要素は11001であり;水平モードのシンタックス要素は11010であり;DCモードのシンタックス要素は11011である。
【0044】
第5の態様自体又は第5の態様の任意の先行する実施態様による方法の可能な実施形態において、DMモードのシンタックス要素は00であり;CCLMモードのシンタックス要素は10であり;CCLM_Lモードのシンタックス要素は110であり;CCLM_Tモードのシンタックス要素は111であり;平面モードのシンタックス要素は0100であり;垂直モードのシンタックス要素は0101であり;水平モードのシンタックス要素は0110であり;DCモードのシンタックス要素は0111である。
【0045】
第6の態様によれば、本発明は、ビデオ信号のビットストリームにおけるイントラクロマ予測モードを復号化するための方法に関する。この方法は、ビデオ信号のビットストリームから複数のシンタックス要素を解析するステップと;複数のシンタックス要素からのシンタックス要素に基づいてイントラクロマ予測モードを決定するステップであって、イントラクロマ予測モードは、第1のモードセット、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む第2のモードセット、又は第3のモードセットの1つから決定され、イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数よりも小さく、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい、決定するステップと;イントラクロマ予測モードに基づいて、ビデオ信号の現在のクロマブロックのイントラ予測を行うステップと;を含む。
【0046】
第7の態様によれば、本発明は、ビデオデータを符号化するための装置に関する。この装置は、ビデオデータメモリと;ビデオエンコーダと;を有しており、ビデオエンコーダは、イントラクロマ予測モードに基づいて、ビデオ信号のクロマブロックのイントラ予測を行うことであって、イントラクロマ予測モードは、第1のモードセット、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む第2のモードのセット、又は第3のモードセットから選択される、イントラ予測を行うことと;イントラクロマ予測モードを示すシンタックス要素を含めることにより、ビデオ信号のビットストリームを生成することであって、イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数より小さく、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい、生成することと;を行うように構成される。
【0047】
第8の態様によれば、本発明は、ビデオデータを復号化するための装置に関する。この装置は、ビデオデータメモリと;ビデオデコーダと;を有しており、ビデオデコーダは、ビデオ信号のビットストリームから複数のシンタックス要素を解析することと;複数のシンタックス要素からのシンタックス要素に基づいてイントラクロマ予測モードを決定することであって、イントラクロマ予測モードは、第1のモードセット、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む第2のモードセット、又は第3のモードセットの1つから決定され、イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数より小さく、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい、決定することと;イントラクロマ予測モードに基づいて、ビデオ信号の現在のクロマブロックのイントラ予測を行うことと;を行うように構成される。
【0048】
ビデオデータを符号化するための提案する装置及びビデオデータを復号化するための装置は、CCLM_L及びCCLM_Tを、バイナリ文字列を使用して表し、符号化装置でビデオ信号のビットストリームに含め、復号化装置で復号化するのを可能にする。第7及び第8の態様自体による装置の可能な実施形態において、第1のモードセットは、導出モード(DM)又はクロスコンポーネント線形モデル(CCLM)予測モードの少なくとも1つを含み、第3のモードセットは、垂直モード、水平モード、DCモード、又は平面モードの少なくとも1つを含む。
【0049】
第7及び第8の態様自体或いは第7及び第8の態様の任意の先行する実施態様による装置の可能な実施形態において、DMモードのシンタックス要素は0であり;CCLMモードのシンタックス要素は10であり;CCLM_Lモードのシンタックス要素は1110であり;CCLM_Tモードのシンタックス要素は1111であり;平面モードのシンタックス要素は11000であり;垂直モードのシンタックス要素は11001であり;水平モードのシンタックス要素は11010であり;DCモードのシンタックス要素は11011である。
【0050】
第7及び第8の態様自体或いは第7及び第8の態様の任意の先行する実施態様による方法の可能な実施形態において、DMモードのシンタックス要素は00であり;CCLMモードのシンタックス要素は10であり;CCLM_Lモードのシンタックス要素は110であり;CCLM_Tモードのシンタックス要素は111であり;平面モードのシンタックス要素は0100であり;垂直モードのシンタックス要素は0101であり;水平モードのシンタックス要素は0110であり;DCモードのシンタックス要素は0111である。
【0051】
第9の態様によれば、本発明は、クロスコンポーネント線形モデル(CCLM)予測モードを使用してイントラ予測を行うための方法に関する。この方法は、現在のクロマブロックに対応するルマブロックを決定するステップと;ルマブロックの隣接サンプルをダウンサンプリングすることにより、ルマブロックのルマ参照サンプルを取得するステップであって、ルマ参照サンプルは、ルマブロックの上の隣接サンプルに基づいて取得したルマ参照サンプルのみ、又はルマブロックの左側にある隣接サンプルに基づいて取得したルマ参照サンプルのみを含む、取得するステップと;ルマ参照サンプルに基づいて、最大ルマ値及び最小ルマ値を決定するステップと;最大ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて第1のクロマ値を取得するステップと;最小ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて第2のクロマ値を取得するステップと;第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて線形モデル係数を計算するステップと;線形モデル係数と、ルマブロックのダウンサンプリングされたバージョンの値とに基づいて、現在のクロマブロックの予測を生成するステップと;を含む。
【0052】
第9の態様自体による方法の可能な実施形態において、ルマ参照サンプルの数は、現在のクロマブロックの幅以上であるか、又は現在のクロマブロックの高さ以上である。
【0053】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、最大ルマ値及び最小ルマ値を決定する際に使用されるルマ参照サンプルは、ルマブロックの利用可能なルマ参照サンプルである。
【0054】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマブロックの利用可能なルマ参照サンプルは、現在のクロマブロックの利用可能なクロマ参照サンプルに基づいて決定される。
【0055】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、最大2*W個のルマ参照サンプルは、ルマ参照サンプルがルマブロックの上の隣接サンプルのみに基づいて取得されるときに、線形モデル係数を導出するために使用され、Wは現在のクロマブロックの幅を表す。
【0056】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、最大2*H個のルマ参照サンプルは、ルマ参照サンプルがルマブロックの左側にある隣接サンプルのみに基づいて取得されるときに、線形モデル係数を導出するために使用され、Hは現在のクロマブロックの高さを表す。
【0057】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、最大N個の利用可能なルマ参照サンプルが線形モデル係数を導出するために使用され、NはWとHとの合計であり、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0058】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、線形モデル係数α及びβは、以下に基づいて計算され、
α=(yB-yA)/(xB-xA)、
β=yA-αxA
ここで、xBは最大ルマ値を表し、yBは第1のクロマ値を表し、xAは最小ルマ値を表し、yAは第2のクロマ値を表す。
【0059】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックの予測は、以下に基づいて取得され、
predC(i,j)=α・rec’L(i,j)+β、
ここで、predC(i,j)は、現在のクロマブロックのクロマサンプルの予測値を表し、rec’L(i,j)は、ルマブロックの再構成されたバージョンのダウンサンプリングされたバージョンの対応するルマサンプルのサンプル値を表す。
【0060】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマブロックのダウンサンプリングされたバージョンは、現在のクロマブロックに対応する、ルマブロックの再構成されたバージョンをダウンサンプリングすることにより取得される。
【0061】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマ参照サンプルがルマブロックの上の隣接サンプルのみに基づいて取得される場合であって、現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている、又は現在のクロマブロックが現在のコーディングツリーユニット(CTU)の上部の境界にある場合に、ルマブロックの再構成されたバージョンの再構成した隣接ルマサンプルの1行のみが、ルマ参照サンプルを取得するために使用される。
【0062】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、ルマ参照サンプルがルマブロックの左側にある隣接サンプルのみに基づいて取得され、現在のクロマブロックが現在のコーディングツリーユニット(CTU)の左側の境界にある場合に、再構成されたルマブロックの再構成した隣接ルマサンプルの1列のみが、ルマ参照サンプルを取得するために使用される。
【0063】
第9の態様自体又は第9の態様の任意の先行する実施態様による方法の可能な実施形態において、CCLMはマルチ方向線形モデル(MDLM)を含む。
【0064】
第10の態様によれば、本発明は、第9の態様自体又は第9の態様の任意の先行する実施態様による方法を実行するように構成されたエンコーダに関する。
【0065】
第11の態様によれば、本発明は、第9の態様自体又は第9の態様の任意の先行する実施態様による方法を実行するように構成されたデコーダに関する。
【0066】
第11の態様によれば、本発明は、クロスコンポーネント線形予測モード(CCLM)を使用することによるイントラ予測方法に関する。この方法は、現在のルマブロックの参照サンプルを取得するステップであって、参照サンプルは、現在のルマブロックの上部テンプレートにのみ属する、取得するステップと;参照サンプルに基づいて最大ルマ値及び最小ルマ値を取得するステップと;最大ルマ値のサンプル位置に基づいて第1のクロマ値を取得するステップと;最小ルマ値のサンプル位置に基づいて第2のクロマ値を取得するステップと;第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて線形モデル係数を計算するステップと;線形モデル係数に基づいて現在のクロマブロックの予測子を取得するステップと;を含み、現在のクロマブロックは現在のルマブロックに対応する。
【0067】
第11の態様自体による方法の可能な実施形態において、参照サンプルの数は、現在のクロマブロックの幅以上である。
【0068】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルは利用可能である。
【0069】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、方法は、範囲内の参照サンプルの利用可能性をチェックするステップをさらに含み、範囲の長さは2*Wである、又は範囲の長さはWとHとの合計である。ここで、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0070】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、最大2*W個の利用可能な参照サンプルが線形モデル係数を導出するために使用され、Wは現在のクロマブロックの幅を表す。
【0071】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、最大N個の利用可能な参照サンプルが線形モデル係数を導出するために使用され、NはWとHとの合計であり、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0072】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、線形モデル係数α及びβは、以下に基づいて計算され、
α=(yB-yA)/(xB-xA)、
β=yA-αxA
ここで、xBは最大ルマ値を表し、yBは第1のクロマ値を表し、xAは最小ルマ値を表し、yAは第2のクロマ値を表す。
【0073】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックの予測子は、以下に基づいて取得され、
predC(i,j)=α・recL’(i,j)+β、
ここで、predC(i,j)はクロマサンプルを表し、recL(i,j)は対応する再構成したルマサンプルを表す。
【0074】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルの数は現在のクロマブロックのサイズ以上である。
【0075】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルはダウンサンプリングされたルマサンプルである。
【0076】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックが上部の境界にある場合に、再構成した隣接ルマサンプルの1行のみが参照サンプルを取得するために使用される。
【0077】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、CCLMはマルチ方向線形モデル(MDLM)であり、線形モデル係数は、MDLMを取得するために使用される。
【0078】
第11の態様自体又は第11の態様の任意の先行する実施態様による方法の可能な実施形態において、この方法は、CCIP_Tと呼ばれる。
【0079】
第12の態様によれば、本発明は、クロスコンポーネント線形予測モード(CCLM)を使用することによるイントラ予測方法に関する。この方法は、
現在のルマブロックの参照サンプルを取得するステップであって、参照サンプルは、現在のルマブロックの左側テンプレートにのみ属する、取得するステップと;
参照サンプルに基づいて最大ルマ値及び最小ルマ値を取得するステップと;
最大ルマ値のサンプル位置に基づいて第1のクロマ値を取得するステップと;
最小ルマ値のサンプル位置に基づいて第2のクロマ値を取得するステップと;
第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて線形モデル係数を計算するステップと;
線形モデル係数に基づいて現在のクロマブロックの予測子を取得するステップと;を含み、現在のクロマブロックは現在のルマブロックに対応する。
【0080】
第12の態様自体による方法の可能な実施形態において、参照サンプルの数は現在のクロマブロックの高さ以上である。
【0081】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルは利用可能である。
【0082】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、方法は、範囲内の参照サンプルの利用可能性をチェックするステップをさらに含み、範囲の長さは2*Hである、又は範囲の長さはWとHとの合計である。ここで、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0083】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、最大2*H個の利用可能な参照サンプルが線形モデル係数を導出するために使用され、Hは現在のクロマブロックの高さを表す。
【0084】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、最大N個の利用可能な参照サンプルが線形モデル係数を導出するために使用され、NはWとHとの合計であり、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0085】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、線形モデル係数α及びβは、以下に基づいて計算され、
α=(yB-yA)/(xB-xA)、
β=yA-αxA
ここで、xBは最大ルマ値を表し、yBは第1のクロマ値を表し、xAは最小ルマ値を表し、yAは第2のクロマ値を表す。
【0086】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックの予測子は、以下に基づいて取得され、
predC(i,j)=α・recL’(i,j)+β
ここで、predC(i,j)はクロマサンプルを表し、recL(i,j)は対応する再構成したルマサンプルを表す。
【0087】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルの数は現在のクロマブロックのサイズ以上である。
【0088】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルはダウンサンプリングされたルマサンプルである。
【0089】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックの現在のブロックが左側の境界にある場合に、再構成した隣接ルマサンプルの1列のみが、参照サンプルを取得するために使用される。
【0090】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、CCLMはマルチ方向線形モデル(MDLM)であり、線形モデル係数は、MDLMを取得するために使用される。
【0091】
第12の態様自体又は第12の態様の任意の先行する実施態様による方法の可能な実施形態において、この方法は、CCIP_Lと呼ばれる。
【0092】
第13の態様によれば、本発明は、クロスコンポーネント線形予測モード(CCLM)を使用することによるイントラ予測方法に関する。この方法は、
現在のルマブロックの参照サンプルを取得するステップであって、参照サンプルは、現在のルマブロックの上部テンプレートのみに属するか、又は現在のルマブロックの左側テンプレートのみに属する、取得するステップと;
現在のクロマブロックのクロマサンプルを取得するステップであって、現在のクロマブロックは、現在のルマブロックに対応する、取得するステップと;
参照サンプル及びクロマサンプルに基づいて線形モデル係数を計算するステップと;
線形モデル係数に基づいて、現在のクロマブロックの予測子を取得するステップと;を含む。
【0093】
第13の態様自体による方法の可能な実施形態において、最大N個の参照サンプルが線形モデル係数を導出するために使用され、NはWとHとの合計であり、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0094】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルが現在のルマブロックの上部テンプレートにのみ属する場合に、参照サンプルの数は、現在のクロマブロックの幅以上である。
【0095】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルが現在のルマブロックの上部テンプレートにのみ属する場合に、最大2*W個の参照サンプルが線形モデル係数を導出するために使用され、Wは現在のクロマブロックの幅を表す。
【0096】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルが現在のルマブロックの左側テンプレートにのみ属する場合に、参照サンプルの数は現在のルマブロックの高さ以上である。
【0097】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルが現在のルマブロックの左側テンプレートにのみ属する場合に、最大2*H個の参照サンプルが線形モデル係数を導出するために使用され、Wは現在のクロマブロックの高さを表す。
【0098】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルの数は現在のクロマブロックのサイズ以上である。
【0099】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルはダウンサンプリングされたルマサンプルである。
【0100】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルが現在のルマブロックの上部テンプレートにのみ属し、現在のクロマブロックの現在のブロックが上部の境界にある場合に、再構成した隣接ルマサンプルの1行のみが、参照サンプルを取得するために使用される。
【0101】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルが現在のルマブロックの左側テンプレートにのみ属し、現在のクロマブロックの現在のブロックが左側の境界にある場合に、再構成した隣接ルマサンプルの1列のみが、参照サンプルを取得するために使用される。
【0102】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、CCLMはマルチ方向線形モデル(MDLM)であり、線形モデル係数は、MDLMを取得するために使用される。
【0103】
第13の態様自体又は第13の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルは利用可能である。
【0104】
第14の態様によれば、本発明は、第11の態様自体又は第11の態様の先行する実施態様のいずれか1つによる方法を実行するための処理回路を含むデコーダに関する。
【0105】
第15の態様によれば、本発明は、第12の態様自体又は第12の態様の先行する実施態様のいずれか1つによる方法を実行するための処理回路を含むデコーダに関する。
【0106】
第16の態様によれば、本発明は、第13の態様自体又は第13の態様の先行する実施態様のいずれか1つによる方法を実行するための処理回路を含むデコーダに関する。
【0107】
第17の態様によれば、本発明は、クロスコンポーネント線形予測モード(CCLM)を使用することによるイントラ予測方法に関する。この方法は、
現在のルマブロックの参照サンプルを取得するステップであって、参照サンプルは、現在のルマブロックの上部テンプレートにのみ属する、取得するステップと;
参照サンプルに基づいて最大ルマ値及び最小ルマ値を取得するステップと;
最大ルマ値及び最小ルマ値に基づいて、第1のクロマ値及び第2のクロマ値を取得するステップと;
第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて線形モデル係数を計算するステップと;
線形モデル係数に基づいて現在のブロックの予測子を取得するステップと;を含む。
【0108】
第17の態様自体による方法の可能な実施形態において、参照サンプルの数は現在のクロマブロックの幅以上である。
【0109】
第17の態様自体又は第17の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルは利用可能である。
【0110】
第17の態様自体又は第17の態様の任意の先行する実施態様による方法の可能な実施形態において、最大2*W個の参照サンプルがモデル係数を導出するために使用される。
【0111】
第17の態様自体又は第17の態様の任意の先行する実施態様による方法の可能な実施形態において、この方法はCCIP_Tと呼ばれる。
【0112】
第18の態様によれば、本発明は、クロスコンポーネント線形予測モード(CCLM)を使用することによるイントラ予測方法に関する。この方法は、
現在のルマブロックの参照サンプルを取得するステップであって、参照サンプルは、現在のルマブロックの左側テンプレートにのみ属する、取得するステップと;
参照サンプルに基づいて最大ルマ値及び最小ルマ値を取得するステップと;
最大ルマ値及び最小ルマ値に基づいて、第1のクロマ値及び第2のクロマ値を取得するステップと;
第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて線形モデル係数を計算するステップと;
線形モデル係数に基づいて現在のブロックの予測子を取得するステップと;を含む。
【0113】
第18の態様自体による方法の可能な実施形態において、参照サンプルの数が現在のクロマブロックの高さ以上である。
【0114】
第18の態様自体又は第18の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルは利用可能である。
【0115】
第18の態様自体又は第18の態様の任意の先行する実施態様による方法の可能な実施形態において、最大2*H個の参照サンプルがモデル係数を導出するために使用される。
【0116】
第18の態様自体又は第18の態様の任意の先行する実施態様による方法の可能な実施形態において、この方法はCCIP_Lと呼ばれる。
【0117】
第19の態様によれば、本発明は、第17の態様自体又は第17の態様の先行する任意の実施態様による方法を実行するためのデコーダに関する。
【0118】
第20の態様によれば、本発明は、第18の態様自体又は第18の態様の任意の先行する実施態様による方法を実行するためのデコーダに関する。
【0119】
第21の態様によれば、本発明は、線形モデルを使用するイントラ予測のための方法に関する。この方法は、現在のルマブロックの参照サンプルを取得するステップと;参照サンプルに基づいて最大ルマ値及び最小ルマ値を取得するステップと;最大ルマ値を有するルマサンプルの位置及び最小ルマ値を有するルマサンプルの位置に基づいて、第1のクロマ値及び第2のクロマ値を取得するステップと;第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて線形モデル係数を計算するステップと;線形モデル係数に基づいて現在のブロックの予測子を取得するステップと;を含み、現在のルマブロックの参照サンプルを取得するステップは、現在のルマブロックのL個の利用可能なクロマテンプレートサンプルを決定するステップであって、現在のルマブロックの参照サンプルは、L個の利用可能なクロマテンプレートサンプルに対応するL個のルマテンプレートサンプルである、決定するステップ、又は現在のクロマブロックのL個の利用可能な隣接クロマサンプルを決定するステップであって、現在のルマブロックの参照サンプルは、L個の利用可能な隣接クロマサンプルに対応するL個の隣接ルマサンプルである、決定するステップを含み、L>=1であり、Lは正の整数である。
【0120】
第21の態様自体による方法の可能な実施形態において、現在のクロマブロックのL個の利用可能なクロマテンプレートサンプルを決定するステップは、現在のクロマブロックの上部の隣接クロマサンプルの利用可能性をチェックするステップを含み、L個の上部の隣接クロマサンプルが利用可能である場合に、現在のルマブロックの参照サンプルは、L個の上部の隣接クロマサンプルに対応するL個の隣接ルマサンプルであり、L>=1及びL<=W2であり、W2は上部テンプレートサンプル範囲を示し、L及びW2は正の整数である。
【0121】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックのL個の利用可能なクロマテンプレートサンプルを決定するステップは、現在のクロマブロックの左側の隣接クロマサンプルの利用可能性をチェックするステップを含み、L個の左側の隣接クロマサンプルが利用可能である場合に、現在のルマブロックの参照サンプルは、L個の左側の隣接クロマサンプルに対応するL個の隣接ルマサンプルであり、L>=1及びL<=H2であり、H2は左側テンプレートサンプル範囲を示し、L及びH2は正の整数である。
【0122】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックのL個の利用可能なクロマテンプレートサンプルを決定するステップは、現在のクロマブロックの上部の隣接クロマサンプルの利用可能性、及び現在のクロマブロックの左側の隣接クロマサンプルの利用可能性をチェックするステップを含み、L1個の上部の隣接クロマサンプルが利用可能であり、L2個の左側の隣接クロマサンプルが利用可能である場合に、現在のルマブロックの参照サンプルは、L1個の上部の隣接クロマサンプルに対応するL1個の隣接ルマサンプルと、L2個の左側の隣接クロマサンプルに対応するL2個の隣接ルマサンプルとを含む又はそれらであり、L2>=1及びL2<=H2であり、H2は左側テンプレートサンプル範囲を示し、L及びH2は正の整数であり、L1>=1及びL1<=W2であり、W2は上部テンプレートサンプル範囲を示し、L1及びW2は正の整数であり、L=L1+L2である。
【0123】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、L個の隣接クロマサンプルがテンプレート範囲で利用可能である場合に、次に、L個のテンプレートルマサンプル及びL個のテンプレートクロマサンプルは、モデル係数を取得するために使用される。
【0124】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルは利用可能である。
【0125】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、線形モデル係数α及びβは、以下に基づいて計算され、
α=(yB-yA)/(xB-xA)、
β=yA-αxA
ここで、xBは最大ルマ値を表し、yBは第1のクロマ値を表し、xAは最小ルマ値を表し、yAは第2のクロマ値を表す。
【0126】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックの予測子は、以下に基づいて取得され、
predC(i,j)=α・recL’(i,j)+β、
ここで、predC(i,j)はクロマサンプルを表し、recL(i,j)は対応する再構成したルマサンプルを表す。
【0127】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルの数は現在のルマブロックのサイズ以上である。
【0128】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルはダウンサンプリングされたルマサンプルである。
【0129】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、現在のクロマブロックの現在のブロックが上部の境界にある場合に、再構成した隣接ルマサンプルの1行のみが、参照サンプルを取得するために使用される。
【0130】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、線形モデルはマルチ方向線形モデル(MDLM)であり、線形モデル係数は、MDLMを取得するために使用される。
【0131】
第21の態様自体又は第21の態様の先行する任意の実施態様による方法の可能な実施形態において、この方法はCCIP_Tと呼ばれるか、又はこの方法はCCIP_Lと呼ばれる。
【0132】
第21の態様自体又は第21の態様の任意の先行する実施態様による方法の可能な実施形態において、参照サンプルは、現在のルマブロックの上部テンプレートにのみ属するか、又は現在のルマブロックの左側テンプレートにのみ属する、或いは参照サンプルは、現在のルマブロックの上部テンプレート及び現在のルマブロックの左側テンプレートに属する。
【0133】
第22の態様によれば、本発明は、第21の態様自体又は第21の態様の先行する実施態様による方法を実行するための処理回路を含むデコーダに関する。
【0134】
第23の態様によれば、本発明は、第21の態様自体又は第21の態様の先行する実施態様による方法を実行するための処理回路を含むエンコーダに関する。
【0135】
第24の態様によれば、本発明は、クロマモードの二値化方法に関する。この方法は、
線形モデル(マルチ方向線形モデル、MDLM等)を使用してイントラ予測を行うステップと;
複数のシンタックス要素を含むビットストリームを生成するステップであって、複数のシンタックス要素は、CCLMモード、CCIP_Lモード、又はCCIP_Tモードを示すか、又はこれを含む、生成するステップと;を含む。
【0136】
第24の態様自体による方法の可能な実施形態において、
第1のインジケータ(77)はCCLMモードを示し、intra_chroma_pred_modeインデックスは4であり、
第2のインジケータ(78)はCCIP_Lモードを示し、intra_chroma_pred_modeインデックスは5であり、
第3のインジケータ(79)はCCIP_Tモードを示し、intra_chroma_pred_modeインデックスは6である。
【0137】
第24の態様自体又は第24の態様の任意の先行する実施態様による方法の可能な実施形態において、sps_cclm_enabled_flagが1に等しい場合に、IntraPredModeC[xCb][yCb]が、intra_chroma_pred_mode[xCb][yCb]及びIntraPredModeY[xCb][yCb]に依存する。
【0138】
第25の態様によれば、本発明は、復号化装置によって実施される復号化の方法に関する。この方法は、
ビットストリームから複数のシンタックス要素を解析するステップであって、複数のシンタックス要素は、CCLMモード、CCIP_Lモード、又はCCIP_Tモードを示すか、又はこれを含む、解析するステップと;
示された線形モデルを使用してイントラ予測を行うステップと;を含む。
【0139】
第25の態様自体による方法の可能な実施形態において、
第1のインジケータ(77)はCCLMモードを示し、intra_chroma_pred_modeインデックスは4であり、
第2のインジケータ(78)はCCIP_Lモードを示し、intra_chroma_pred_modeインデックスは5であり、
第3のインジケータ(79)はCCIP_Tモードを示し、intra_chroma_pred_modeインデックスは6である。
【0140】
第25の態様自体又は第25の態様の任意の先行する実施態様による方法の可能な実施形態において、sps_cclm_enabled_flagが1に等しい場合に、IntraPredModeC[xCb][yCb]が、intra_chroma_pred_mode[xCb][yCb]及びIntraPredModeY[xCb][yCb]に依存する。
【0141】
第26の態様によれば、本発明は、第24及び第25の態様自体又は第24及び第25の態様の任意の先行する実施態様による方法を実行するための処理回路を含むデコーダに関する。
【0142】
第27の態様によれば、本発明は、第24及び第25の態様自体又は第24及び第25の態様の任意の先行する実施態様による方法を実行するための処理回路を含むエンコーダに関する。
【0143】
第28の態様によれば、本発明は、命令を格納するコンピュータ可読媒体に関し、命令がプロセッサ上で実行されると、プロセッサに、第24及び第25の態様自体又は第24及び第25の態様の任意の先行する実施態様による方法を実行させる。
【0144】
第28の態様によれば、本発明は、デコーダに関する。このデコーダは、
1つ又は複数のプロセッサと、
プロセッサに結合され、且つプロセッサによって実行されるプログラミングを格納する非一時的なコンピュータ可読記憶媒体と、を含み、プログラミングは、プロセッサによって実行されると、第24及び第25の態様自体又は第24及び第25の態様の任意の先行する実施態様による方法を実行するようにデコーダを構成する。
【0145】
第28の態様によれば、本発明は、エンコーダに関する。このエンコーダは、
1つ又は複数のプロセッサと、
プロセッサに結合され、且つプロセッサによって実行されるプログラミングを格納する非一時的なコンピュータ可読記憶媒体と、を含み、プログラミングは、プロセッサによって実行されると、第24及び第25の態様自体又は第24及び第25の態様の任意の先行する実施態様による方法を実行するようにエンコーダを構成する。
【0146】
第29の態様によれば、本発明は、クロスコンポーネント線形予測モード(CCLM)を使用することによるイントラ予測方法に関する。この方法は、
現在のルマブロックの参照サンプルを取得するステップと;
参照サンプルに基づいて最大ルマ値及び最小ルマ値を取得するステップと;
最大ルマ値及び最小ルマ値に基づいて、第1のクロマ値及び第2のクロマ値を取得するステップと;
第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて線形モデル係数を計算するステップと;
線形モデル係数に基づいて現在のブロックの予測子を取得するステップと;を含み、
テンプレートサンプルの利用可能性は、隣接クロマサンプルをチェックすることである。
【0147】
第30の態様によれば、本発明は、第28の態様自体による方法を実行するためのデコーダに関する。
【0148】
第31の態様によれば、本発明は、第29の態様自体による方法を実行するためのデコーダに関する。
【0149】
第32の態様によれば、本発明は、第28の態様又は第29の態様による方法を実行するためのデコーダに関する。
【0150】
第33の態様によれば、任意の先行する態様自体又は任意の先行する態様の任意の先行する実施態様による上記の方法のステップの少なくとも一部を実行するためのモジュール/ユニット/コンポーネント/回路を含む機器が提供される。
【0151】
第33の態様による機器は、任意の先行する態様による方法の実施形態に対応する実施形態に拡張することができる。そのため、機器の実施形態は、任意の先行する態様による方法の対応する実施形態の特徴を含む。
【0152】
任意の先行する態様による機器の利点は、任意の先行する態様による方法の対応する実施形態の利点と同じである。
【0153】
明確にするために、前述の例のいずれか1つを、前述の他の例のいずれか1つ又は複数と組み合わせて、本開示の範囲内で新しい例を作成することができる。
【0154】
これら及び他の特徴は、添付の図面及び特許請求の範囲と併せて解釈される以下の詳細な説明からより明確に理解されるであろう。
【図面の簡単な説明】
【0155】
本開示のより完全な理解のために、添付の図面及び詳細な説明に関連して解釈される以下の簡単な説明が参照され、同様の参照符号は同様の部分を表す。
【
図1A】本発明の例を実施することができる例示的なコーディングシステムを示すブロック図である。
【
図1B】本発明の例を実施することができる別の例示的なコーディングシステムを示すブロック図である。
【
図2】本発明の例を実施することができる例示的なビデオエンコーダを示すブロック図である。
【
図3】本発明の例を実施することができるビデオデコーダの例を示すブロック図である。
【
図5】例示的な例による、
図1Aによる送信元装置12及び宛先装置14のいずれか又は両方として使用することができる機器500の簡略化したブロック図である。
【
図6A】ルマ及びクロマサンプルの垂直方向及び水平方向の公称相対位置を示す概念図である。
【
図6B】予測ブロックを生成するためにルマブロックのサンプルをダウンサンプリングするためのルマ位置及びクロマ位置の例を示す概念図である。
【
図6C】予測ブロックを生成するためにルマブロックのサンプルをダウンサンプリングするためのルマ位置及びクロマ位置の別の例を示す概念図である。
【
図6D】H.265/HEVCのイントラ予測モードの図である。
【
図8】CCLMモードに関与する現在のルマ及びクロマブロックの左側及び上部の参照サンプルの位置の図である。
【
図9】最小ルマ値と最大ルマ値との間の直線の図である。
【
図10】クロマブロック(参照サンプルを含む)及び対応するダウンサンプリングしたルマブロックのテンプレートの図である。
【
図11】利用不可の参照サンプルを含むテンプレートの例の図である。
【
図12】CCLM_Tモードで使用される参照サンプルの図である。
【
図13】CCLM_Lモードで使用される参照サンプルの図である。
【
図14】現在のルマブロックのダウンサンプリングしたルマブロックの幅よりも大きい上部テンプレート、又は現在のルマブロックのダウンサンプリングしたルマブロックの高さよりも大きい左側テンプレートを使用して、モデル係数を決定する例を示す概略図であり、上部テンプレートには、ダウンサンプリングしたルマブロックの上にある参照サンプルが含まれており、左側テンプレートには、ダウンサンプリングしたルマブロックの左側にある参照サンプルが含まれている。
【
図15】現在のルマブロックのダウンサンプリングしたルマブロックの幅と同じサイズを有する上部テンプレート、又は現在のルマブロックのダウンサンプリングしたルマブロックの高さと同じサイズを有する左側テンプレートを使用して、モデル係数を決定する例を示す概略図である。
【
図16】利用可能な参照サンプルを使用して、イントラ予測のためのモデル係数を決定する例を示す概略図である。
【
図17】隣接ルマサンプルの複数の行又は列を使用してルマサンプルをダウンサンプリングする例を示す概略図である。
【
図18】隣接ルマサンプルの複数の行又は列を使用してルマサンプルをダウンサンプリングする別の例を示す概略図である。
【
図19】CTUの上部の境界にあるルマブロックに対して隣接ルマサンプルの単一の行を使用するダウンサンプリングの例を示す概略図である。
【
図20】本開示のいくつかの態様による線形モデルを使用してイントラ予測を行うための方法のフローチャートである。
【
図21】本開示の他の態様による線形モデルを使用してイントラ予測を行うための方法のフローチャートである。
【
図22】線形モデルを使用してイントラ予測を行うための機器の例示的な構造を示すブロック図である。
【
図23】本開示のいくつかの態様による、ビデオ信号のビットストリームにおけるクロマイントラコーディングモードをコーディングする方法のフローチャートである。
【
図24】本開示のいくつかの態様による、ビデオ信号のビットストリームにおけるクロマイントラコーディングモードを復号化する方法のフローチャートである。
【
図25】ビデオビットストリームを生成するための機器の例示的な構造を示すブロック図である。
【
図26】ビデオビットストリームを復号化するための機器の例示的な構造を示すブロック図である。
【
図27】コンテンツ配信サービスを提供するコンテンツ供給システムの例示的な構造を示すブロック図である。
【
図28】端末装置の一例の構造を示すブロック図である。
【発明を実施するための形態】
【0156】
1つ又は複数の例の例示的な実施態様を以下に提供するが、開示するシステム及び/又は方法は、現在知られているか又は存在するかにかかわらず、任意の数の技術を使用して実施し得ることを最初に理解すべきである。本開示は、本明細書に示し及び説明する例示的な設計及び実施態様を含む、以下に示す例示的な実施態様、図面、及び技術に決して限定すべきではなく、添付の特許請求の範囲内でそれらの全範囲の同等物とともに変更され得る。
【0157】
図1Aは、双方向予測技術を利用することができる例示的なコーディング(coding)システム10を示すブロック図である。
図1Aに示されるように、コーディングシステム10は、符号化したビデオデータを提供する送信元装置12を含み、符号化したビデオデータは宛先装置14によって後で復号化される。特に、送信元装置12は、コンピュータ可読媒体16を介してビデオデータを宛先装置14に提供することができる。送信元装置12及び宛先装置14は、デスクトップコンピュータ、ノートブック(つまり、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」電話等の電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、ビデオストリーミング装置等を含む広範囲の装置のいずれかを含み得る。場合によっては、送信元装置12及び宛先装置14は、無線通信のために装備され得る。
【0158】
宛先装置14は、コンピュータ可読媒体16を介して符号化したビデオデータを受信し、符号化したビデオデータを復号化することができる。コンピュータ可読媒体16は、符号化したビデオデータを送信元装置12から宛先装置14に移動させることができる任意のタイプの媒体又は装置を含み得る。一例では、コンピュータ可読媒体16は、送信元装置12が符号化したビデオデータを宛先装置14にリアルタイムで直接送信するのを可能にする通信媒体を含み得る。符号化したビデオデータは、無線通信プロトコル等の通信規格に従って変調され、宛先装置14に送信され得る。通信媒体は、無線周波数(RF)スペクトル或いは1つ又は複数の物理的な伝送ライン等の任意の無線又は有線通信媒体を含み得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネット等のグローバルネットワーク等のパケットベースのネットワークの一部を形成することができる。通信媒体は、送信元装置12から宛先装置14への通信を容易にするのに役立ち得るルータ、スイッチ、基地局、又は他の任意の設備を含み得る。
【0159】
いくつかの例では、符号化したデータは、出力インターフェース22から記憶装置に出力され得る。同様に、符号化したデータは、入力インターフェースによって記憶装置からアクセスされ得る。記憶装置には、ハードドライブ、Blu-rayディスク、デジタルビデオディスク(DVD)、コンパクトディスク読取り専用メモリ(CD-ROM)、フラッシュメモリ、揮発性又は不揮発性メモリ、又は符号化したビデオデータを格納するための他の適切なデジタル記憶メディア等の、様々な分散型又はローカルアクセス型のデータ記憶メディアのいずれかが含まれ得る。更なる例では、記憶装置は、送信元装置12によって生成された符号化したビデオを格納し得るファイルサーバ又は別の中間記憶装置に対応し得る。宛先装置14は、ストリーミング又はダウンロードを介して記憶装置から格納したビデオデータにアクセスし得る。ファイルサーバは、符号化したビデオデータを格納し、その符号化したビデオデータを宛先装置14に送信することができる任意のタイプのサーバであり得る。ファイルサーバの例には、(例えば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続記憶(NAS)装置、又はローカルディスクドライブが含まれる。宛先装置14は、インターネット接続を含む任意の標準データ接続を介して、符号化したビデオデータにアクセスすることができる。これには、(ファイルサーバに格納した符号化したビデオデータへのアクセスに適した)無線チャネル(例えば、Wi-Fi接続)、有線接続(デジタル加入者線(DSL)、ケーブルモデム等)、又は両方の組合せが含まれ得る。記憶装置からの符号化したビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組合せであり得る。
【0160】
本開示の技術は、必ずしも無線アプリケーション又は設定に限定されない。この技術は、地上波テレビ放送、ケーブルテレビ送信、衛星テレビ送信、HTTP(DASH)を介した動的適応ストリーミング等のインターネットストリーミングビデオ送信、データ記憶メディアに符号化されるデジタルビデオ、データ記憶メディアに格納されるデジタルビデオの復号化、又は他のアプリケーション等、様々なマルチメディアアプリケーションのいずれかをサポートする際にビデオコーディングに適用できる。いくつかの例では、コーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、及び/又はテレビ電話等のアプリケーションをサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【0161】
図1Aの例では、送信元装置12は、ビデオソース18、ビデオエンコーダ2
0、及び出力インターフェース22を含む。宛先装置14は、入力インターフェース28、ビデオデコーダ300、及び表示装置32を含む。本開示に従って、送信元装置12のビデオエンコーダ200及び/又は宛先装置14のビデオデコーダ300は、双方向予測のための技術を適用するように構成され得る。他の例では、送信元装置及び宛先装置は、他のコンポーネント又は構成を含み得る。例えば、送信元装置12は、外部カメラ等の外部ビデオソースからビデオデータを受信することができる。同様に、宛先装置14は、統合した表示装置を含むのではなく、外部表示装置とインターフェースすることができる。
【0162】
図1Aの示されるコーディングシステム10は、単なる一例である。双方向予測のための技術は、任意のデジタルビデオ符号化及び/又は復号化装置によって実行され得る。本開示の技術は、一般に、ビデオコーディング装置によって実行されるが、技術は、典型的には「コーデック(CODEC)」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。さらに、本開示の技術は、ビデオプリプロセッサによっても実行され得る。ビデオエンコーダ及び/又はデコーダは、グラフィックス処理ユニット(GPU)又は同様の装置であり得る。
【0163】
送信元装置12及び宛先装置14は、送信元装置12が宛先装置14に送信するためのコーディングしたビデオデータを生成するそのようなコーディング装置の単なる例である。いくつかの例では、送信元装置12及び宛先装置14は、送信元及び宛先装置12、14のそれぞれがビデオ符号化及び復号化コンポーネントを含むような実質的に対称的な方法で動作し得る。そのため、コーディングシステム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオ放送、又はテレビ電話のために、ビデオ装置12、14の間の一方向又は双方向のビデオ送信をサポートすることができる。
【0164】
送信元装置12のビデオソース18は、ビデオカメラ、以前に取り込んだビデオを含むビデオアーカイブ、及び/又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース等のビデオ取込み装置を含み得る。更なる代替として、ビデオソース18は、ソースビデオとして、又はライブビデオ、アーカイブされたビデオ、及びコンピュータで生成されたビデオの組合せとして、コンピュータグラフィックスベースのデータを生成することができる。
【0165】
場合によっては、ビデオソース18がビデオカメラである場合に、送信元装置12及び宛先装置14は、いわゆるカメラ付き携帯電話又はビデオ電話を形成し得る。しかしながら、上述したように、本開示で説明する技術は、一般にビデオコーディングに適用可能であり得、そして無線及び/又は有線アプリケーションに適用され得る。いずれの場合にも、取り込んだ、予め取り込んだ、又はコンピュータで生成されたビデオは、ビデオエンコーダ20によって符号化され得る。次に、符号化したビデオ情報は、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
【0166】
コンピュータ可読媒体16は、無線放送又は有線ネットワーク送信等の一時的な媒体、或いはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-rayディスク、又は他のコンピュータ可読媒体等の記憶媒体(つまり、非一時的な記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、送信元装置12から符号化したビデオデータを受信し、例えばネットワーク送信を介して、符号化したビデオデータを宛先装置14に提供することができる。同様に、ディスクスタンピング設備等の媒体生産設備のコンピューティング装置は、送信元装置12から符号化したビデオデータを受信し、符号化したビデオデータを含むディスクを製造することができる。従って、コンピュータ可読媒体16は、様々な例において、様々な形態の1つ又は複数のコンピュータ可読媒体を含むと理解され得る。
【0167】
宛先装置14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって規定されるシンタックス(syntax)情報を含み得、この情報はビデオデコーダ30によっても使用され、シンタックス情報は、ブロック及び他のコーディングしたユニット、例えば、写真のグループ(GOP)の特性及び/又は処理を記述するシンタックス要素を含む。表示装置32は、復号化したビデオデータをユーザに表示し、ブラウン管(CRT)、液晶ディスプレイ(LDC)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別のタイプの表示装置のいずれかを含み得る。
【0168】
ビデオエンコーダ200及びビデオデコーダ300は、現在開発中の高効率ビデオコーディング(HEVC)規格等のビデオコーディング規格に従って動作することができ、そしてHEVCテストモデル(HM)に準拠することができる。あるいはまた、ビデオエンコーダ200及びビデオデコーダ300は、国際電気通信連合電気通信標準化セクタ(ITU-T)H.264規格、あるいはMPEG(Motion Picture Expert Group)-4、パート10と呼ばれる、AVC(Advanced Video Coding)、H.265/HEVC、又はそのような規格の拡張等、他の企業又は業界標準に従って動作することができる。しかしながら、本開示の技術は、特定のコーディング規格に限定されない。ビデオコーディング規格の他の例には、MPEG-2及びITU-T H.263が含まれる。
図1Aには示されていないが、いくつかの態様では、ビデオエンコーダ200及びビデオデコーダ300は、それぞれオーディオエンコーダ及びデコーダと統合され得、両方のオーディオ及びビデオの符号化を共通のデータストリーム又は個別のデータストリームで処理するために、適切なマルチプレクサ-デマルチプレクサ(MUX-DEMUX)ユニット、又は他のハードウェア及びソフトウェアを含み得る。該当する場合に、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)等の他のプロトコルに準拠し得る。
【0169】
ビデオエンコーダ200及びビデオデコーダ300はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せ等の様々な適切なエンコーダ回路のいずれかとして実装され得る。技術がソフトウェアで部分的に実装される場合に、装置は、ソフトウェアの命令を適切な非一時的なコンピュータ可読媒体に格納し、1つ又は複数のプロセッサを使用してハードウェアで命令を実行して、本開示の技術を実行することができる。ビデオエンコーダ200及びビデオデコーダ300のそれぞれは、1つ又は複数のエンコーダ又はデコーダに含まれ得、これらのいずれも、それぞれの装置内の組み合わされたエンコーダ/デコーダ(CODEC)の一部として統合され得る。ビデオエンコーダ200及び/又はビデオデコーダ300を含む装置は、集積回路、マイクロプロセッサ、及び/又は携帯電話等の無線通信装置を含み得る。
【0170】
図1Bは、例示的な実施形態による
図2のエンコーダ200及び/又は
図3のデコーダ300を含む例示的なビデオコーディングシステム40の例示的な図である。システム40は、この本願の技術、例えばインター予測でのマージ推定を実施することができる。図示の実施態様では、ビデオコーディングシステム40は、画像化装置41、ビデオエンコーダ20、ビデオデコーダ300(及び/又は処理ユニット46の論理回路47を介して実装されるビデオコーダ)、アンテナ42、1つ又は複数のプロセッサ43、1つ又は複数のメモリストア44、及び/又は表示装置45を含み得る。
【0171】
図示されるように、画像化装置41、アンテナ42、処理ユニット46、論理回路47、ビデオエンコーダ20、ビデオデコーダ30、プロセッサ43、メモリストア44、及び/又は表示装置45は、互いに通信することができ得る。説明したように、ビデオエンコーダ200とビデオデコーダ30(0)との両方が示されているが、ビデオコーディングシステム40は、様々な実際のシナリオにおいて、ビデオエンコーダ200のみ、又はビデオデコーダ300のみを含み得る。
【0172】
示されるように、いくつかの例では、ビデオコーディングシステム40は、アンテナ42を含み得る。アンテナ42は、例えば、ビデオデータの符号化したビットストリームを送信又は受信するように構成され得る。さらに、いくつかの例では、ビデオコーディングシステム40は、表示装置45を含み得る。表示装置45は、ビデオデータを提示するように構成され得る。示されるように、いくつかの例では、論理回路47は、処理ユニット46を介して実装され得る。処理ユニット46は、特定用途向け集積回路(ASIC)ロジック、グラフィックプロセッサ、汎用プロセッサ等を含み得る。ビデオコーディングシステム40は、オプションのプロセッサ43も含み得、このプロセッサ43は、同様に、特定用途向け集積回路(ASIC)ロジック、グラフィックプロセッサ、汎用プロセッサ等を含み得る。いくつかの例では、論理回路47は、ハードウェア、ビデオコーディング専用ハードウェア等を介して実装され得、プロセッサ43は、汎用ソフトウェア、オペレーティングシステム等で実装され得る。さらに、メモリストア44は、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)等)、又は不揮発性メモリ(例えば、フラッシュ等)の任意のタイプのメモリであり得る。非限定的な例では、メモリストア44は、キャッシュメモリによって実装され得る。いくつかの例では、論理回路47は、(例えば、画像バッファの実装のために)メモリストア44にアクセスすることができる。他の例では、論理回路47及び/又は処理ユニット46は、画像バッファ等の実装のためのメモリストア(例えば、キャッシュ等)を含み得る。
【0173】
いくつかの例では、論理回路を介して実装されるビデオエンコーダ200は、画像バッファ(例えば、処理ユニット46又はメモリストア44のいずれかを介して)、及びグラフィックス処理ユニット(例えば、処理ユニット46を介して)を含み得る。グラフィックス処理ユニットは、画像バッファに通信可能に結合され得る。グラフィックス処理ユニットは、
図2に関して説明するような様々なモジュール及び/又は本明細書に記載の任意の他のエンコーダシステム又はサブシステムを具体化するために、論理回路47を介して実装されたビデオエンコーダ200を含み得る。論理回路は、本明細書で議論するように、様々な動作を実行するように構成され得る。
【0174】
ビデオデコーダ300は、
図3のデコーダ300に関して説明するような様々なモジュール及び/又は本明細書に記載の任意の他のデコーダシステム又はサブシステムを具体化するために、論理回路47を介して実装されるのと同様の方法で実装することができる。いくつかの例では、ビデオデコーダ300は、論理回路を介して実装され得、画像バッファ(例えば、処理ユニット46又はメモリストア44のいずれかを介して)、及びグラフィックス処理ユニット(例えば、処理ユニット46を介して)を含み得る。グラフィックス処理ユニットは、画像バッファに通信可能に結合され得る。グラフィックス処理ユニットは、
図3に関して説明するような様々なモジュール及び/又は本明細書に記載の任意の他のデコーダシステム又はサブシステムを具体化するために、論理回路47を介して実装されたビデオデコーダ300を含み得る。
【0175】
いくつかの例では、ビデオコーディングシステム40のアンテナ42は、ビデオデータの符号化したビットストリームを受信するように構成され得る。議論したように、符号化したビットストリームは、コーディングパーティションに関連付けられたデータ(例えば、変換係数又は量子化変換係数、オプションのインジケータ(議論するような)、及び/又はコーディングパーティションを規定するデータ)等の、本明細書で議論するようなビデオフレームを符号化することに関連付けられたデータ、インジケータ、インデックス値、モード選択データ等を含み得る。ビデオコーディングシステム40は、アンテナ42に結合され、且つ符号化したビットストリームを復号化するように構成されたビデオデコーダ300も含み得る。表示装置45は、ビデオフレームを提示するように構成される。
【0176】
図2は、本願の技術を実施することができるビデオエンコーダ200の一例を示すブロック図である。ビデオエンコーダ200は、ビデオスライス内のビデオブロックのイントラ(intra)コーディング及びインター(inter)コーディングを実行することができる。イントラコーディングは、空間予測に依存して、所与のビデオフレーム又は画像内のビデオの空間的冗長性を低減又は削除する。インターコーディングは、時間予測に依存して、ビデオシーケンスの隣接するフレーム又は画像内のビデオの時間的冗長性を低減又は削除する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指す場合がある。単方向予測(Pモード)又は双方向予測(Bモード)等のインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指す場合がある。
【0177】
図2は、本開示の技術を実施するように構成された例示的なビデオエンコーダ200の概略/概念ブロック図を示す。
図2の例では、ビデオエンコーダ200は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、及び逆変換処理ユニット212、再構成ユニット210、バッファ216、ループフィルタユニット220、復号化画像バッファ(DPB)230、予測処理ユニット260、及びエントロピー符号化ユニット270を含む。予測処理ユニット260は、インター推定242、インター予測ユニット244、イントラ推定252、イントラ予測ユニット254、及びモード選択ユニット262を含み得る。インター予測ユニット244は、動き補償ユニット(図示せず)をさらに含み得る。
図2に示されるようなビデオエンコーダ200は、ハイブリッドビデオエンコーダ又はハイブリッドビデオコーデックによるビデオエンコーダとも呼ばれ得る。
【0178】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、及びエントロピー符号化ユニット270は、エンコーダ200の順方向信号経路を形成するが、例えば、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号化画像バッファ(DPB)230、予測処理ユニット260は、エンコーダの逆方向信号経路を形成し、ここで、エンコーダの逆方向信号経路は、デコーダ(
図3のデコーダ300を参照)の信号経路に対応する。
【0179】
エンコーダ200は、例えば入力202、画像201、又は画像201のブロック203によって、例えばビデオ又はビデオシーケンスを形成する一連の画像の画像を受信するように構成される。画像ブロック203は、現在の画像ブロック又はコーディングすべき画像ブロックとも呼ばれ得、画像201は、現在の画像又はコーディングすべき画像と呼ばれ得る(特に、現在の画像を他の画像(例えば、同じビデオシーケンス(すなわち、現在の画像も含むビデオシーケンス)の以前に符号化した及び/又は復号化した画像)から区別するためのビデオ符号化において)。
【0180】
パーティション分割(PARTITIONING)
【0181】
エンコーダ200の実施形態は、画像201を複数のブロック、例えばブロック203のようなブロック、典型的に複数の非重複ブロックにパーティション分割するように構成されたパーティション分割ユニット(
図2には示されていない)を含み得る。パーティション分割ユニットは、ビデオシーケンスの全ての画像と同じブロックサイズ及びブロックサイズを規定する対応するグリッドを使用するように、或いは画像又は画像のサブセット又はグループの間でブロックサイズを変更し、各画像を対応するブロックにパーティション分割するように構成することができる。
【0182】
HEVC及び他のビデオコーディング仕様では、画像の符号化した表現を生成するために、コーディングツリーユニット(CTU)のセットが生成され得る。各CTUは、ルマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、及びコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を含み得る。モノクロ画像又は3つの別個の色平面を有する画像では、CTUは、単一のコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを含み得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」又は「最大コーディングユニット」(LCU)とも呼ばれ得る。HEVCのCTUは、H.264/AVC等の他の規格のマクロブロックに概ね類似している可能性がある。ただし、CTUは、必ずしも特定のサイズに限定されるわけではなく、1つ又は複数のコーディングユニット(CU)を含み得る。スライスには、ラスタースキャン順序で連続して順序付けられた整数個のCTUを含めることができる。
【0183】
HEVCでは、CTUは、様々な局所的特性に適応するためにコーディングツリーとして示される4分木構造を使用してCUに分割される。インター画像(inter-picture:画像間)(時間的)又はイントラ画像(intra-picture:画像内)(空間的)予測を使用して画像領域をコーディングするかどうかの決定は、CUレベルで行われる。CUは、ルマサンプルのコーディングブロックと、ルマサンプルアレイ、Cbサンプルアレイ、及びCrサンプルアレイを有する画像のクロマサンプルの2つの対応するコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを含み得る。モノクロ画像又は3つの別個の色平面を有する画像では、CUは、単一のコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを含み得る。コーディングブロックは、サンプルのN×Nブロックである。いくつかの例では、CUはCTUと同じサイズであり得る。各CUは、1つのコーディングモードでコーディングされ、このコーディングモードは、例えば、イントラコーディングモード又はインターコーディングモードであり得る。他のコーディングモードも可能である。エンコーダ200はビデオデータを受信する。エンコーダ200は、ビデオデータの画像のスライス内の各CTUを符号化することができる。CTUの符号化の一部として、エンコーダ200の予測処理ユニット260又は別の処理ユニット(
図2に示されるエンコーダ200のユニットを含むが、これに限定されない)は、CTUのCTBを漸次小さくなるブロック203に分割するようにパーティション分割を行うことができる。小さいブロックは、CUのコーディングブロックであり得る。
【0184】
ビットストリーム内のシンタックスデータは、CTUのサイズも規定し得る。スライスには、コーディング順に多数の連続したCTUが含まれる。ビデオフレーム又はイメージ(image)又は画像(picture)は、1つ又は複数のスライスにパーティション分割することができる。上述したように、各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割できる。一般に、4分木データ構造には、CU毎に1つのノードが含まれ、ルートノードがツリーブロック(例えば、CTU)に対応する。CUが4つのサブCUに分割される場合に、CUに対応するノードには4つの子ノードが含まれ、各子ノードはサブCUの1つに対応する。4分木構造の複数のノードには、リーフ(leaf)ノード及び非リーフノードが含まれる。リーフノードには、ツリー構造に子ノードがない(つまり、リーフノードはそれ以上分割されない)。非リーフノードには、ツリー構造のルートノードが含まれる。複数のノードのそれぞれの非ルートノードについて、それぞれの非ルートノードは、それぞれの非ルートノードのツリー構造における親ノードに対応するCUのサブCUに対応する。それぞれの非リーフノードには、ツリー構造に1つ又は複数の子ノードがある。
【0185】
4分木データ構造の各ノードは、対応するCUにシンタックスデータを提供することができる。例えば、4分木内のノードには、ノードに対応するCUがサブCUに分割されているかどうかを示す分割フラグが含まれ得る。CUのシンタックス要素は、再帰的に規定でき、CUがサブCUに分割されているかどうかに依存し得る。CUがそれ以上分割されない場合に、それはリーフCUと呼ばれる。CUのブロックがさらに分割される場合に、それは一般に非リーフCUと呼ばれ得る。パーティション分割の各レベルは、4つのサブCUに分割される4分木である。黒のCUは、リーフノード(つまり、さらに分割されないブロック)の例である。
【0186】
CUは、CUがサイズの区別を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックを4つの子ノード(サブCUとも呼ばれる)に分割し、次に各子ノードを親ノードにして、別の4つの子ノードに分割することができる。4分木のリーフノードと呼ばれる最後の分割されない子ノードは、リーフCUとも呼ばれるコーディングノードを含む。コーディングしたビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分割される最大回数(最大CU深さと呼ばれる)を規定し得、コーディングノードの最小サイズも規定し得る。従って、ビットストリームは、最小コーディングユニット(SCU)を規定することもできる。「ブロック」という用語は、HEVCの文脈でのCU、PU、又はTUのいずれか、又は他の規格の文脈での同様のデータ構造(例えば、H.264/AVCのマクロブロック及びそのサブブロック)を指すために使用される。
【0187】
HEVCでは、各CUは、PU分割タイプに従って、1つ、2つ、又は4つのPUにさらに分割することができる。1つのPU内で、同じ予測プロセスが適用され、関連情報がPUベースでデコーダに送信される。PU分割タイプに基づく予測プロセスを適用することによって残差ブロックを取得した後に、CUのコーディングツリーと同様の別の4分木構造に従って、CUを変換ユニット(TU)にパーティション分割できる。HEVC構造の重要な特徴の1つは、CU、PU、及びTUを含む複数のパーティションの概念があることである。PUは、形状が非正方形になるようにパーティション分割され得る。CUに関連するシンタックスデータは、例えば、CUを1つ又は複数のPUにパーティション分割することも記述し得る。TUは、形状が正方形又は非正方形(例えば、長方形)であり得、CUに関連するシンタックスデータは、例えば、4分木に従ってCUを1つ又は複数のTUにパーティション分割することを記述し得る。パーティション分割モードは、CUが、スキップ又はダイレクトモードで符号化されているか、イントラ予測モードで符号化されているか、又はインター予測モードで符号化されているかによって異なる場合がある。
【0188】
VVC(多用途ビデオコーディング)は、PU及びTUの概念の分離を排除する一方で、CUパーティション形状のより高い柔軟性をサポートする。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形又は非正方形(例えば、長方形)であり得る。CUのサイズは、4×4ピクセル(又は8×8ピクセル)から最大128×128ピクセル又はそれ以上(例えば、256×256ピクセル)のツリーブロックのサイズまでの範囲になり得る。
【0189】
エンコーダ200がCUの予測ブロック(例えば、ルマ、Cb、及びCr予測ブロック)を生成した後に、エンコーダ200は、CUの残差ブロックを生成することができる。例えば、エンコーダ100は、CUのルマ残差ブロックを生成することができる。CUのルマ残差ブロック内の各サンプルは、CUの予測ルマブロック内のルマサンプルとCUの元のルマコーディングブロック内の対応するサンプルとの間の差を示す。さらに、エンコーダ200は、CUのCb残差ブロックを生成することができる。CUのCb残差ブロック内の各サンプルは、CUの予測Cbブロック内のCbサンプルとCUの元のCbコーディングブロック内の対応するサンプルとの間の差を示し得る。エンコーダ100は、CUのCr残差ブロックも生成し得る。CUのCr残差ブロック内の各サンプルは、CUの予測Crブロック内のCrサンプルとCUの元のCrコーディングブロック内の対応するサンプルとの間の差を示し得る。
【0190】
いくつかの例では、エンコーダ100は、変換ブロックへの変換の適用をスキップする。そのような例では、エンコーダ200は、変換係数と同じ方法で残差サンプル値を処理することができる。こうして、エンコーダ100が変換の適用をスキップする例では、変換係数及び係数ブロックの以下の説明は、残差サンプルの変換ブロックに適用可能であり得る。
【0191】
係数ブロック(例えば、ルマ係数ブロック、Cb係数ブロック、又はCr係数ブロック)を生成した後に、エンコーダ200は、係数ブロックを量子化して、係数ブロックを表すために使用されるデータの量をおそらく削減し、潜在的に更なる圧縮を提供することができる。量子化とは、一般に、値の範囲が単一の値に圧縮されるプロセスを指す。エンコーダ200が係数ブロックを量子化した後に、エンコーダ200は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。例えば、エンコーダ200は、量子化変換係数を示すシンタックス要素に対して、コンテキスト適応型バイナリ算術コーディング(CABAC)又は他のエントロピーコーディング技術を実行することができる。
【0192】
エンコーダ200は、コーディングした画像及び関連するデータの表現を形成するビットのシーケンスを含む、符号化した画像データ271のビットストリームを出力することができる。こうして、ビットストリームは、ビデオデータの符号化した表現を含む。
【0193】
J. Anらの、“Block partitioning structure for next generation video coding”, International Telecommunication Union, COM16-C966, September 2015(以下、「VCEG提案COM16-C966」)では、4分木-2分木(QTBT)パーティション分割技術が、HEVCを超えた将来のビデオコーディング規格のために提案された。シミュレーションは、提案されたQTBT構造が、使用されたHEVCの4分木構造よりも効率的であることを示している。HEVCでは、動き補償のメモリアクセスを減らすために、小さなブロックのインター予測が制限されているため、4×8及び8×4ブロックでは双方向予測がサポートされておらず、4×4ブロックではインター予測がサポートされていない。JEMのQTBTでは、これらの制限が外されている。
【0194】
QTBTでは、CUは、正方形又は長方形のいずれかの形状を有することができる。例えば、コーディングツリーユニット(CTU)は、最初に4分木構造によってパーティション分割される。4分木リーフノードは、2分木構造によってさらにパーティション分割され得る。2分木分割には、水平方向の対称分割及び垂直方向の対称分割の2つの分割タイプがある。いずれの場合にも、ノードを水平方向又は垂直方向に中央で分割することにより、ノードが分割される。2分木リーフノードはコーディングユニット(CU)と呼ばれ、そのセグメンテーションは、さらにパーティション分割することなく、予測及び変換処理に使用される。これは、CU、PU、及びTUがQTBTコーディングブロック構造で同じブロックサイズを有することを意味する。CUは、異なる色成分のコーディングブロック(CB)で構成される場合があり、例えば、4:2:0クロマフォーマットのPスライス及びBスライスの場合に、1つのCUには1つのルマCB及び2つのクロマCBが含まれ、単一の成分のCBで構成される場合もあり、例えば、Iスライスの場合に、1つのCUには1つのルマCB(b)のみ又は2つのクロマCBだけが含まれる。
【0195】
以下のパラメータは、QTBTパーティション分割スキームのために規定される。
【0196】
- CTUサイズ:4分木のルートノードサイズ、HEVCと同じ概念。
【0197】
- MinQTサイズ:最小許容4分木リーフノードサイズ。
【0198】
- MaxBTサイズ:最大許容2分木ルートノードサイズ。
【0199】
- MaxBT深さ:最大許容2分木深さ。
【0200】
MinBTサイズ:最小許容2分木リーフノードサイズ。
【0201】
QTBTパーティション分割構造の一例では、CTUサイズはクロマサンプルの2つの対応する64×64ブロックを含む128×128ルマサンプルとして設定され、MInQTサイズは16×16として設定され、MaxBTサイズは64×64として設定され、MinBTサイズ(幅と高さの両方)は4×4に設定され、MaxBT深さは4として設定される。最初に4分木リーフノードを生成するために、4分木パーティション分割がCTUに適用される。4分木リーフノードは、16×16(つまり、MinQTサイズ)から128×128(つまり、CTUサイズ)までのサイズを有することができる。4分木ノードがMinQTサイズに等しいサイズを有する場合に、それ以上の4分木は考慮されない。4分木リーフノードが128×128である場合に、それは、サイズがMaxBTサイズ(つまり、64×64)を超えるため、2分木によってさらに分割されることはない。それ以外の場合に、リーフ4分木ノードは2分木によってさらにパーティション分割され得る。従って、4分木リーフノードは2分木のルートノードでもあり、それは、0の2分木深さを有する。2分木深さがMaxBT深さ(つまり、4)に達すると、それ以上の分割は考慮されない。2分木ノードがMinBTサイズに等しい幅(つまり、4)を有する場合に、それ以上の水平方向分割は考慮されない。同様に、2分木ノードがMinBTサイズに等しい高さを有する場合に、それ以上の垂直方向分割は考慮されない。2分木のリーフノードは、さらにパーティション分割することなく、予測及び変換処理によってさらに処理される。JEMでは、最大CTUサイズは256×256ルマサンプルである。2分木(CU)のリーフノードは、さらにパーティション分割することなく、(例えば、予測プロセス及び変換プロセスを実行することによって)さらに処理することができる。
【0202】
さらに、QTBTスキームは、ルマ及びクロマが別個のQTBT構造を有する能力をサポートする。現在、Pスライス及びBスライスの場合に、1つのCTU内のルマCTBとクロマCTBが同じQTBT構造を共有し得る。ただし、Iスライスの場合に、ルマCTBはQTBT構造によってCUにパーティション分割され、クロマCTBは別のQTBT構造によってクロマCUにパーティション分割され得る。これは、IスライスのCUがルマ成分のコーディングブロック又は2つのクロマ成分のコーディングブロックで構成され、Pスライス又はBスライスのCUが3つの色成分全てのコーディングブロックで構成されることを意味する。
【0203】
エンコーダ200は、QTBT構造に対してレート-歪み最適化(RDO)プロセスを適用して、ブロックパーティション分割を決定する。
【0204】
さらに、マルチタイプツリー(MTT)と名付けられたブロック分割構造が、QT、BT、及び/又はQTBTベースのCU構造を置き換えるために、米国特許出願公開第2017/0208336号で提案されている。MTTパーティション分割構造は、依然として再帰的なツリー構造である。MTTでは、複数の異なるパーティション構造(3つ以上等)が使用される。例えば、MTT技術によれば、3つ以上の異なるパーティション構造が、ツリー構造の各深さで、ツリー構造のそれぞれの非リーフノードに対して使用され得る。ツリー構造内のノードの深さは、ノードからツリー構造のルートまでのパスの長さ(例えば、分割の回数)を指し得る。パーティション構造は、一般に、ブロックをいくつの異なるブロックに分割できるかを指し得る。パーティション構造は、4分木パーティション分割構造がブロックを4つのブロックに分割する場合があり、2分木パーティション分割構造がブロックを2つのブロックに分割する場合があり、3分木パーティション分割構造がブロックを3つのブロックに分割する場合があり、さらに、3分木パーティション分割構造は、ブロックを中央で分割しない場合がある構造であり得る。パーティション構造には、複数の異なるパーティションタイプがあり得る。パーティションタイプは、ブロックがどのように分割されるかをさらに規定することができ、その分割方法は、対称又は非対称パーティション分割、均一又は不均一パーティション分割、及び/又は水平方向又は垂直方向パーティション分割を含む。
【0205】
MTTでは、ツリー構造の各深さで、エンコーダ200は、3つのより多くのパーティション分割構造のうちの1つの中から特定のパーティションタイプを使用してサブツリーをさらに分割するように構成され得る。例えば、エンコーダ100は、QT、BT、3分木(TT)及び他のパーティション分割構造から特定のパーティションタイプを決定するように構成され得る。一例では、QTパーティション分割構造は、正方形の4分木又は長方形の4分木パーティション分割タイプを含み得る。エンコーダ200は、正方形の4分木パーティション分割を使用して、ブロックを水平方向と垂直方向との両方の中心に沿って4つの等しいサイズの正方形ブロックに分割することによって、正方形のブロックをパーティション分割することができる。同様に、エンコーダ200は、長方形の4分木パーティション分割を使用して、長方形のブロックを水平方向と垂直方向との両方の中心に沿って4つの等しいサイズの長方形のブロックに分割することによって、長方形(例えば、非正方形)ブロックをパーティション分割することができる。
【0206】
BTパーティション分割構造は、水平方向対称2分木、垂直方向対称2分木、水平方向非対称2分木、又は垂直方向非対称2分木パーティションタイプの少なくとも1つを含み得る。水平方向対称2分木パーティションタイプの場合に、エンコーダ200は、ブロックを水平方向にブロックの中心に沿って、同じサイズの2つの対称ブロックに分割するように構成され得る。垂直方向対称2分木パーティションタイプの場合に、エンコーダ200は、ブロックを垂直方向にブロックの中心に沿って、同じサイズの2つの対称ブロックに分割するように構成され得る。水平方向非対称2分木パーティションタイプの場合に、エンコーダ100は、ブロックを水平方向に、異なるサイズの2つのブロックに分割するように構成され得る。例えば、PART_2N×nU又はPART_2N×nDパーティションタイプと同様に、一方のブロックは親ブロックのサイズの1/4であり得、他方のブロックは親ブロックのサイズの3/4であり得る。垂直方向非対称2分木パーティションタイプの場合に、エンコーダ100は、ブロックを垂直方向に、異なるサイズの2つのブロックに分割するように構成され得る。例えば、PART_nL×2N又はPART_nR×2Nパーティションタイプと同様に、一方のブロックは親ブロックのサイズの1/4であり得、他方のブロックは親ブロックのサイズの3/4であり得る。他の例では、非対称2分木パーティションタイプは、親ブロックを異なるサイズの分数に分割し得る。例えば、一方のサブブロックは親ブロックの3/8であり得、他方のサブブロックは親ブロックの5/8であり得る。当然ながら、そのようなパーティションタイプは垂直方向又は水平方向のいずれかである。
【0207】
TTパーティション構造は、TTパーティション構造がブロックを中央に沿って分割しないという点で、QT又はBT構造の分割とは異なる。ブロックの中央領域は、同じサブブロックに一緒に残る。4つのブロックを生成するQT又は2つのブロックを生成する2分木とは異なり、TTパーティション構造に従って分割すると3つのブロックが生成される。TTパーティション構造に従ったパーティションタイプの例には、対称パーティションタイプ(水平方向と垂直方向との両方)、及び非対称パーティションタイプ(水平方向と垂直方向との両方)が含まれる。さらに、TTパーティション構造による対称パーティションタイプは、不規則/不均一、又は規則的/均一であり得る。TTパーティション構造による非対称パーティションタイプは不規則/不均一である。一例では、TTパーティション構造は、以下のパーティションタイプ:水平方向規則的/均一対称3分木、垂直方向規則的/均一対称3分木、水平方向不規則/不均一対称3分木、垂直方向不規則/不均一対称3分木、水平方向不規則/不均一非対称3分木、又は垂直方向不規則/不均一非対称3分木パーティションタイプのうちの少なくとも1つを含み得る。
【0208】
一般に、不規則/不均一対称3分木パーティションタイプは、ブロックの中心線に関して対称であるが、結果として得られる3つのブロックのうちの少なくとも1つが他の2つと同じサイズではないパーティションタイプである。1つの好ましい例は、サイドブロックがブロックのサイズの1/4であり、センターブロックがブロックのサイズの1/2である場合である。規則的/均一対称3分木パーティションタイプは、ブロックの中心線に関して対称であり、結果として得られるブロックは全て同じサイズであるパーティションタイプである。このようなパーティションは、垂直方向又は水平方向の分割に応じて、ブロックの高さ又は幅が3の倍数である場合に可能である。不規則/不均一非対称3分木パーティションタイプは、ブロックの中心線に関して対称ではなく、結果として得られるブロックのうちの少なくとも1つが他の2つと同じサイズではないパーティションタイプである。
【0209】
ブロック(例えば、サブツリーノードでの)が非対称3分木パーティションタイプに分割される例では、エンコーダ200及び/又はデコーダ300は、3つのパーティションのうちの2つが同じサイズを有すように制限を適用する。そのような制限は、ビデオデータを符号化するときにエンコーダ200が従わなければならない制限に対応し得る。さらに、いくつかの例では、エンコーダ200及びデコーダ300は、非対称3分木パーティションタイプに従って分割するときに、2つのパーティションの面積の合計が残りのパーティションの面積に等しいという制限を適用することができる。
【0210】
いくつかの例では、エンコーダ200は、QT、BT、及びTTパーティション構造のそれぞれについて、前述したパーティションタイプの全ての中から選択するように構成され得る。他の例では、エンコーダ200は、前述したパーティションタイプのサブセットの中からパーティションタイプのみを決定するように構成され得る。例えば、上で議論したパーティションタイプ(又は他のパーティションタイプ)のサブセットは、特定のブロックサイズ又は4分木構造の特定の深さに使用され得る。サポートされるパーティションタイプのサブセットは、デコーダ200が使用するためにビットストリームでシグナリングされ得るか、又はエンコーダ200及びデコーダ300がシグナリングなしでサブセットを決定できるように予め規定され得る。
【0211】
他の例では、サポートされるパーティション分割タイプの数は、全てのCTUの全ての深さに対して固定され得る。すなわち、エンコーダ200及びデコーダ300は、CTUの任意の深さに対して同じ数のパーティション分割タイプを使用するように予め構成され得る。他の例では、サポートされるパーティション分割タイプの数は変化し得、深さ、スライスタイプ、又は他の以前にコーディングした情報に依存し得る。一例では、ツリー構造の深さ0又は深さ1では、QTパーティション構造のみが使用される。1を超える深さでは、QT、BT、及びTTパーティション構造のそれぞれを使用できる。
【0212】
いくつかの例では、エンコーダ200及び/又はデコーダ300は、ビデオ画像の特定の領域又はCTUの領域に対する重複したパーティション分割を回避するために、サポートされるパーティション分割タイプに予め構成した制約を適用することができる。一例では、ブロックが非対称パーティションタイプで分割される場合に、エンコーダ200及び/又はデコーダ300は、現在のブロックから分割される最大のサブブロックをさらに分割しないように構成され得る。例えば、正方形のブロックが非対称パーティションタイプ(PART_2N×nUパーティションタイプと同様)に従って分割される場合に、全てのサブブロックの中で最大のサブブロック(PART_2N×nUパーティションタイプの最大のサブブロックと同様)は、注記されたリーフノードであり、これ以上分割することはできない。ただし、小さいサブブロック(PART_2N×nUパーティションタイプの小さいサブブロックと同様)はさらに分割できる。
【0213】
特定の領域に対する重複したパーティション分割を回避するために、サポートされるパーティション分割タイプに制約を適用し得る別の例として、ブロックが非対称パーティションタイプで分割される場合に、現在のブロックから分割される最大のサブブロックは、同じ方向にさらに分割することはできない。例えば、正方形のブロックが(PART_2N×nUパーティションタイプと同様に)非対称パーティションタイプに分割された場合に、エンコーダ200及び/又はデコーダ300は、全てのサブブロックの中で最大のサブブロック(PART_2N×nUパーティションタイプの最大サブブロックと同様)を水平方向に分割しないように構成され得る。
【0214】
更なる分割の困難性を回避するために、サポートされるパーティション分割タイプに制約を適用し得る別の例として、エンコーダ200及び/又はデコーダ300は、ブロックの幅/高さが2の累乗ではない場合(例えば、幅/高さが2、4、8、16等でない場合)に、水平方向又は垂直方向のいずれかでブロックを分割しないように構成され得る。
【0215】
上記の例は、MTTパーティション分割を行うためにエンコーダ200をどのように構成し得るかを説明している。次に、デコーダ300は、エンコーダ200によって実行されたのと同じMTTパーティション分割を適用することもできる。いくつかの例では、ビデオデータの画像がエンコーダ200によってどのようにパーティション分割されたかは、デコーダ300で同じ一連の予め規定した規則を適用することによって決定され得る。しかしながら、多くの状況において、エンコーダ200は、コーディングされているビデオデータの特定の画像のレート-歪み基準に基づいて、使用する特定のパーティション構造及びパーティションタイプを決定することができる。そうして、デコーダ300が特定の画像に対するパーティション分割を決定するために、エンコーダ200は、画像及び画像のCTUをどのようにパーティション分割すべきかを示す、符号化したビットストリーム内のシンタックス要素にシグナリングすることができる。デコーダ200は、そのようなシンタックス要素を解析し、それに応じて画像及びCTUをパーティション分割することができる。
【0216】
一例では、ビデオエンコーダ200の予測処理ユニット260は、特に動き推定のために、上記のパーティション分割技術の任意の組合せを実行するように構成することができ、詳細は後で説明する。
【0217】
画像201と同様に、ブロック203もまた、画像201よりも小さい次元であるが、強度値(サンプル値)を有するサンプルの2次元アレイ又はマトリックスと見なすことができる。換言すると、ブロック203は、例えば、1つのサンプルアレイ(例えば、モノクロ画像201の場合にはルマアレイ)、又は3つのサンプルアレイ(例えば、カラー画像201の場合にはルマアレイ及び2つのクロマアレイ)、又は適用されるカラーフォーマットに応じた任意の他の数及び/又は種類のアレイを含み得る。ブロック203の水平方向及び垂直方向(又は軸線方向)のサンプルの数は、ブロック203のサイズを規定する。
【0218】
図2に示されるようなエンコーダ200は、画像201をブロック毎に符号化するように構成され、例えば、符号化及び予測は、ブロック203毎に実行される。
【0219】
残差計算
【0220】
残差計算ユニット204は、画像ブロック203及び予測ブロック265(予測ブロック265についての更なる詳細は後で提供する)に基づいて、例えば、サンプル毎に(ピクセル毎に)、画像ブロック203のサンプル値から予測ブロック265のサンプル値を差し引くことにより、残差ブロック205を計算して、サンプルドメインでの残差ブロック205を取得するように構成される。
【0221】
変換
【0222】
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、例えば離散コサイン変換(DCT)又は離散サイン変換(DST)を適用して、変換ドメインでの変換係数207を取得するように構成される。変換係数207は、変換残差係数とも呼ばれ得、変換ドメインにおける残差ブロック205を表す。
【0223】
変換処理ユニット206は、HEVC/H.265のために指定された変換等、DCT/DSTの整数近似を適用するように構成され得る。直交DCT変換と比較すると、このような整数近似は、典型的に、特定の係数でスケーリングされる。順方向変換及び逆方向変換によって処理される残差ブロックのノルムを維持するために、変換プロセスの一部として追加のスケーリング係数が適用される。スケーリング係数は、典型的に、シフト演算の2の累乗であるスケーリング係数、変換係数のビット深さ、精度と実現コストとの間のトレードオフ等の特定の制約に基づいて選択される。例えば、特定のスケーリング係数は、例えば、デコーダ300での逆変換処理ユニット212による(及び対応する逆変換、例えばデコーダ300での逆変換処理ユニット212による)例えば逆変換について指定され、そして例えば、エンコーダ200での変換処理ユニット206による順方向変換のための対応するスケーリング係数は、それに応じて指定することができる。
【0224】
量子化
【0225】
量子化ユニット208は、変換係数207を量子化して、例えばスカラー量子化又はベクトル量子化を適用することにより、量子化変換係数209を取得するように構成される。量子化変換係数209は、量子化した残差係数209とも呼ばれ得る。量子化プロセスは、変換係数207の一部又は全てに関連するビット深さを減らすことができる。例えば、nビット変換係数は、量子化中にmビット変換係数に切り捨てられ、ここで、nはmより大きい。量子化の程度は、量子化パラメータ(QP)を調整することによって変更できる。例えば、スカラー量子化の場合に、より細かい又はより粗い量子化を実現するために、様々なスケーリングを適用できる。量子化ステップサイズを小さくすることはより細かい量子化に対応し、量子化ステップサイズを大きくすることはより粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示され得る。量子化パラメータは、例えば、適用可能な量子化ステップサイズの予め規定したセットに対するインデックスであり得る。例えば、小さな量子化パラメータは、細かい量子化(小さな量子化ステップサイズ)に対応し得、大きな量子化パラメータは、粗い量子化(大きな量子化ステップサイズ)に対応し得、又はその逆であり得る。量子化は、量子化ステップサイズによる除算及び対応する逆の逆量子化を含み得、例えば逆量子化210による、量子化ステップサイズによる乗算を含み得る。いくつかの規格、例えば、HEVCによる実施形態は、量子化パラメータを使用して量子化ステップサイズを決定するように構成できる。一般に、量子化ステップサイズは、除算を含む方程式の固定小数点近似を使用して、量子化パラメータに基づいて計算することができる。残差ブロックのノルムを復元するために、量子化及び逆量子化に追加のスケーリング係数を導入してもよく、これは、量子化ステップサイズ及び量子化パラメータの方程式の固定小数点近似で使用されるスケーリングのために変更される可能性がある。一例の実施態様では、逆変換のスケーリングと逆量子化を組み合わせることができる。あるいはまた、カスタマイズした量子化テーブルを使用して、例えばビットストリームでエンコーダからデコーダにシグナリングすることができる。量子化は不可逆演算であり、量子化ステップサイズの増大に伴って損失が増大する。
【0226】
逆量子化ユニット210は、量子化係数に対して量子化ユニット208の逆量子化を適用して、量子化ユニット208と同じ量子化ステップサイズに基づくか又はこれを使用して、例えば、量子化ユニット208によって適用される量子化スキームの逆を適用することによって逆量子化係数211を取得する。逆量子化係数211は、逆量子化した残差係数211とも呼ばれ得、典型的に量子化による損失によって変換係数と同一ではないが、変換係数207に対応する。
【0227】
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、例えば逆離散コサイン変換(DCT)又は逆離散サイン変換(DST)を適用して、サンプルドメインでの逆変換ブロック213を取得するように構成される。逆変換ブロック213は、逆変換逆量子化ブロック213又は逆変換残差ブロック213とも呼ばれ得る。
【0228】
再構成ユニット214(例えば、加算器(summer)214)は、逆変換ブロック213(つまり、再構成した残差ブロック213)を予測ブロック265に追加して、例えば、再構成した残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することによって、サンプルドメインでの再構成したブロック215を取得するように構成される。
【0229】
オプションとして、バッファユニット216(略して「バッファ」216)、例えばバッファユニット216は、例えばイントラ予測のために、再構成したブロック215及びそれぞれのサンプル値をバッファリング又は格納するように構成される。更なる実施形態では、エンコーダは、任意の種類の推定及び/又は予測、例えばイントラ予測のために、バッファユニット216に格納されたフィルタリングしていない再構成したブロック及び/又はそれぞれのサンプル値を使用するように構成され得る。
【0230】
エンコーダ200の実施形態は、例えば、バッファユニット216が、イントラ予測254のために再構成したブロック215を格納するためだけでなく、ループフィルタユニット220(
図2には示されていない)のためにも使用されるように、及び/又は例えば、バッファユニット216及び復号化画像バッファユニット230が1つのバッファを形成するように構成され得る。更なる実施形態は、復号化画像バッファ230からのフィルタリングしたブロック221及び/又はブロック又はサンプル(両方とも
図2には示されていない)をイントラ予測254のための入力又は基礎として使用するように構成され得る。
【0231】
ループフィルタユニット220(略して「ループフィルタ」220)は、再構成したブロック215をフィルタリングして、フィルタリングしたブロック221を取得し、例えば、ピクセル移行をスムーズにする、又は他の方法でビデオ品質を向上させるように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、又は他のフィルタ等の1つ又は複数のループフィルタ、例えば、バイラテラルフィルタ又は適応ループフィルタ(ALF)、又はシャープニング又はスムージングフィルタ又は協調フィルタを表すことを意図している。ループフィルタユニット220が
図2にインループ(in loop)フィルタとして示されているが、他の構成では、ループフィルタユニット220は、ポストループ(post loop)フィルタとして実装され得る。フィルタリングしたブロック221は、フィルタリングした再構成ブロック221とも呼ばれ得る。復号化画像バッファ230は、ループフィルタユニット220が再構成したコーディングブロックに対してフィルタリング操作を実行した後に、再構成したコーディングブロックを格納することができる。
【0232】
エンコーダ200(それぞれループフィルタユニット220)の実施形態は、例えば、エントロピー符号化ユニット270又は他の任意のエントロピーコーディングユニットを介して直接的に又はエントロピー符号化されたループフィルタパラメータ(サンプル適応オフセット情報等)を出力するように構成され得、それによって、例えば、デコーダ300は、復号化のために同じループフィルタパラメータを受信して適用することができる。
【0233】
復号化画像バッファ(DPB)230は、ビデオエンコーダ20によるビデオデータの符号化に使用するための参照画像データを格納する参照画像メモリであり得る。DPB230は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプのメモリ装置を含む動的ランダムアクセスメモリ(DRAM)等の様々なメモリ装置のいずれかによって形成され得る。DPB230及びバッファ216は、同じメモリ装置又は別個のメモリ装置によって提供され得る。いくつかの例では、復号化画像バッファ(DPB)230は、フィルタリングしたブロック221を格納するように構成される。復号化画像バッファ230は、同じ現在の画像又は異なる画像(例えば、以前に再構成した画像)の他の以前にフィルタリングしたブロック、例えば以前に再構成し且つフィルタリングしたブロック221を格納するようにさらに構成され得、そして例えばインター予測のために、完全に以前に再構成した、つまり復号化した画像(及び対応する参照ブロック及びサンプル)及び/又は部分的に再構成した現在の画像(及び対応する参照ブロック及びサンプル)を提供し得る。いくつかの例では、再構成したブロック215が再構成されたが、インループフィルタリングがない場合に、復号化画像バッファ(DPB)230は、再構成したブロック215を格納するように構成される。
【0234】
ブロック予測処理ユニット260とも呼ばれる予測処理ユニット260は、ブロック203(現在の画像201の現在のブロック203)及び再構成した画像データ、例えばバッファ216からの同じ(現在の)画像の参照サンプル及び/又は復号化画像バッファ230からの1つ又は複数の以前に復号化した画像による参照画像データ231を受信し、予測のためにそのようなデータを処理する、すなわち(インター予測ブロック245又はイントラ予測ブロック255であり得る)予測ブロック265を提供するように構成される。
【0235】
モード選択ユニット262は、残差ブロック205の計算のため及び再構成したブロック215の再構成のための予測ブロック265として使用すべき予測モード(例えば、イントラ又はインター予測モード)及び/又は対応する予測ブロック245又は255を選択するように構成され得る。
【0236】
モード選択ユニット262の実施形態は、(例えば、予測処理ユニット260によってサポートされるモードから)予測モードを選択するように構成され得、これは、最良の一致、換言すれば、最小残差(最小残差は、送信又は格納のためのより良い圧縮を意味する)、又は最小シグナリングオーバーヘッド(最小シグナリングオーバーヘッドは送信又は格納のためのより良い圧縮を意味する)を提供する、又は両方を考慮又はバランスさせる。モード選択ユニット262は、レート-歪み最適化(RDO)に基づいて予測モードを決定する、つまり最小レート-歪み最適化を提供する、又は関連するレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択するように構成され得る。
【0237】
以下では、例示的なエンコーダ200によって実行される予測処理(例えば、予測処理ユニット260及び(例えば、モード選択ユニット262による)モード選択)についてより詳細に説明する。
【0238】
上記のように、エンコーダ200は、(所定の)予測モードのセットから最良又は最適な予測モードを決定又は選択するように構成される。予測モードのセットは、例えば、イントラ予測モード及び/又はインター予測モードを含み得る。
【0239】
イントラ予測モードセットは、35個の異なるイントラ予測モード、例えばDC(つまり平均)モード及び平面モードのような無指向性モード、又は(例えば、H.265で規定されるような)指向性モードを含み得、又は67個の異なるイントラ予測モード、DC(つまり平均)モード及び平面モードのような無指向性モード、又は(例えば、開発中のH266で規定されるような)指向性モードを含み得る。
【0240】
一連の(又は可能な)インター予測モードは、利用可能な参照画像(つまり、以前の少なくとも部分的に復号化した画像、例えば、DBP230に格納されている画像)及び他のインター予測パラメータに依存し、例えば、参照画像全体又は参照画像の一部のみ(例えば、参照画像の現在のブロックの領域の周りの検索ウィンドウ領域)が、最も一致する参照ブロックを検索するために使用されるかどうか、及び/又は例えば、ピクセル補間、例えばハーフ/セミペル及び/又はクォーターペル補間が適用される又は適用されないかどうかに依存する。
【0241】
上記の予測モードに加えて、スキップモード及び/又は直接モードを適用することができる。
【0242】
予測処理ユニット260は、例えば、4分木パーティション分割(QT)、2分木パーティション(BT)、3分木パーティション(TT)、又はそれらの任意の組合せを繰り返し使用し、ブロック203をより小さなブロックパーティション又はサブブロックにパーティション分割して、ブロックパーティション又はサブブロックのそれぞれの予測を行うようにさらに構成され得、モード選択は、パーティション分割したブロック203のツリー構造と、ブロックパーティション又はサブブロックのそれぞれに適用される予測モードとの選択を含む。
【0243】
インター予測ユニット244は、動き推定(ME)ユニット及び動き補償(MC)ユニット(
図2には示されていない)を含み得る。動き推定ユニットは、画像ブロック203(現在の画像201の現在の画像ブロック203)及び復号化した画像331、又は少なくとも1つ又は複数の以前に再構成したブロック、例えば動き推定のための1つ又は複数の他の/異なる以前に復号化した画像331の再構成したブロックを受信又は取得するように構成される。例えば、ビデオシーケンスは、現在の画像及び以前に復号化した画像331を含み得、換言すれば、現在の画像及び以前に復号化した画像331は、ビデオシーケンスを形成する画像のシーケンスの一部であるか、又はそれを形成し得る。エンコーダ200は、例えば、複数の他の画像のうちの同じ又は異なる画像の複数の参照ブロックから参照ブロックを選択し、参照ブロックの位置(x、y座標)と現在のブロックの位置の間の参照画像(又は参照画像インデックス、・・・)及び/又はオフセット(空間オフセット)を、動き推定ユニット(
図2には示されていない)に対するインター予測パラメータとして提供するように構成され得る。このオフセットは、動きベクトル(MV)とも呼ばれる。マージ(merging)は、HEVCで使用され、且つVCCに引き継がれる重要な動き推定ツールである。マージ推定を実行するには、最初にマージ候補リストを作成する必要があり、ここで、各候補には、1つ又は2つの参照画像リストが使用されるかどうかの情報、並びに各リストの参照インデックス及び動きベクトルを含む全てのモーションデータが含まれる。マージ候補リストは、a.空間的に隣接する5つのブロックから導出した最大4つの空間マージ候補、b.一時的な同じ場所に配置された2つのブロックから導出した1つの一時的なマージ候補、c.結合した双予測候補及びゼロ動きベクトル候補を含む追加のマージ候補に基づいて作成される。
【0244】
イントラ予測ユニット254は、イントラ予測パラメータ、例えば選択したイントラ予測モード、イントラ予測ブロック255に基づいて決定するようにさらに構成される。いずれの場合でも、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット254は、イントラ予測パラメータ、すなわち、エントロピー符号化ユニット270に対するブロックに関して選択したイントラ予測モードを示す情報を提供するようにも構成される。一例では、イントラ予測ユニット254は、後述するイントラ予測技術の任意の組合せを実行するように構成され得る。
【0245】
エントロピー符号化ユニット270は、エントロピー符号化アルゴリズム又は方式(例えば、可変長コーディング(VLC)方式、コンテキスト適応VLC方式(CALVC)、算術コーディング方式、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率区間パーティション分割エントロピー(PIPE)コーディング、又は別のエントロピー符号化方法又は技術)を、量子化した残差係数209、インター予測パラメータ、イントラ予測パラメータ、及び/又はループフィルタパラメータに対して個別に又は一緒に(又は全く)適用して、例えば符号化したビットストリーム21の形態で、出力272によって出力することができる符号化した画像データ21を取得するように構成される。符号化したビットストリーム271は、ビデオデコーダ30に送信され得るか、又はビデオデコーダ30による後の送信又は検索のためにアーカイブされ得る。エントロピー符号化ユニット270は、コーディングされている現在のビデオスライスの他のシンタックス要素をエントロピー符号化するようにさらに構成され得る。
【0246】
ビデオエンコーダ200の他の構造的変形は、ビデオストリームを符号化するために使用され得る。例えば、非変換ベースのエンコーダ200は、特定のブロック又はフレームについて、変換処理ユニット206なしで、残差信号を直接量子化することができる。別の実施態様では、エンコーダ200は、量子化ユニット208及び逆量子化ユニット210を単一のユニットに組み合わせることができる。
【0247】
図3は、本願の技術を実施するように構成された例示的なビデオデコーダ300を示している。ビデオデコーダ300は、例えば、エンコーダ200によって符号化された、符号化した画像データ(例えば、符号化したビットストリーム)271を受信して、復号化した画像331を取得するように構成される。復号化プロセス中に、ビデオデコーダ300は、ビデオエンコーダ200からビデオデータ、例えば符号化したビデオスライス及び関連するシンタックス要素の画像ブロックを表す符号化したビデオビットストリームを受信する。
【0248】
図3の例では、デコーダ300は、エントロピー復号化ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、加算器314)、バッファ316、ループフィルタ320、復号化画像バッファ330、及び予測処理ユニット360を含む。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、及びモード選択ユニット362を含み得る。ビデオデコーダ300は、いくつかの例では、
図2によるビデオエンコーダ200に関して説明した符号化パスとほぼ逆の復号化パスを実行する。
【0249】
エントロピー復号化ユニット304は、符号化した画像データ271に対してエントロピー復号化を実行して、例えば、量子化係数309及び/又は復号化したコーディングパラメータ(
図3には示されていない)、例えば、(復号化した)インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、及び/又は他のシンタックス要素のいずれか又は全てを取得するように構成される。エントロピー復号化ユニット304は、インター予測パラメータ、イントラ予測パラメータ、及び/又は他のシンタックス要素を予測処理ユニット360に転送するようにさらに構成される。ビデオデコーダ300は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受信することができる。
【0250】
逆量子化ユニット310は、逆量子化ユニット110と機能が同一であり得、逆変換処理ユニット312は、逆変換処理ユニット112と機能が同一であり得、再構成ユニット314は、再構成ユニット114と機能が同一であり得、バッファ316は、バッファ116と機能が同一であり得、ループフィルタ320は、ループフィルタ120と機能が同一であり得、そして復号化画像バッファ330は、復号化画像バッファ130と機能が同一であり得る。
【0251】
予測処理ユニット360は、インター予測ユニット344及びイントラ予測ユニット354を含み得、ここで、インター予測ユニット344は、インター予測ユニット1/44と機能が類似し得、イントラ予測ユニット354は、イントラ予測ユニット154と機能が類似し得る。予測処理ユニット360は、典型的には、ブロック予測を実行し、及び/又は符号化したデータ21から予測ブロック365を取得し、例えばエントロピー復号化ユニット304から予測関連パラメータ及び/又は選択した予測モードに関する情報を(明示的又は暗黙的に)受信又は取得するように構成される。
【0252】
ビデオスライスがイントラコーディングした(I)スライスとしてコーディングされる場合に、予測処理ユニット360のイントラ予測ユニット354は、現在のフレーム又は画像の以前に復号化したブロックからのシグナリングされたイントラ予測モード及びデータに基づいて、現在のビデオスライスの画像ブロックの予測ブロック365を生成するように構成される。ビデオフレームがインターコーディングした(つまり、B、又はP)スライスとしてコーディングされる場合に、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピー復号化ユニット304から受信した動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックの予測ブロック365を生成するように構成される。インター予測のために、予測ブロックは、参照画像リストのうちの1つ内の参照画像のうちの1つから生成され得る。ビデオデコーダ300は、DPB330に格納された参照画像に基づくデフォルトの構成技術を使用して、参照フレームリスト、リスト0及びリスト1を構成することができる。
【0253】
予測処理ユニット360は、動きベクトル及び他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックの予測情報を決定するように構成され、予測情報を使用して、復号化されている現在のビデオブロックの予測ブロックを生成する。例えば、予測処理ユニット360は、受信したシンタックス要素のいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラ又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスの1つ又は複数の参照画像リストの構成情報、スライスの各インター符号化ビデオブロックの動きベクトル、スライスの各インターコーディングしたビデオブロックのインター予測ステータス、及び現在のビデオスライスのビデオブロックを復号化するための他の情報を決定する。
【0254】
逆量子化ユニット310は、ビットストリームで提供され、エントロピー復号化ユニット304によって復号化された量子化変換係数を逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)するように構成される。逆量子化プロセスは、ビデオエンコーダ100がビデオスライス内の各ビデオブロックに対して計算した量子化パラメータを使用して、量子化の程度、及び同様に、適用すべき逆量子化の程度を決定することを含み得る。
【0255】
逆変換処理ユニット312は、ピクセルドメインでの残差ブロックを生成するために、逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似した逆変換プロセスを変換係数に適用するように構成される。
【0256】
再構成ユニット314(例えば、加算器314)は、逆変換ブロック313(つまり、再構成した残差ブロック313)を予測ブロック365に追加して、例えば、再構成した残差ブロック313のサンプル値及び予測ブロック365のサンプル値を加算することによって、サンプルドメインでの再構成したブロック315を取得するように構成される。
【0257】
ループフィルタユニット320(コーディングループ内又はコーディングループ後のいずれか)は、再構成したブロック315をフィルタリングして、フィルタリングしたブロック321を取得する、例えば、ピクセル移行をスムーズにする、又は他の方法でビデオ品質を向上させるように構成される。一例では、ループフィルタユニット320は、後述するフィルタリング技術の任意の組合せを実行するように構成され得る。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、又は他のフィルタ等の1つ又は複数のループフィルタ、例えば、バイラテラルフィルタ又は適応ループフィルタ(ALF)、又はシャープニング又はスムージングフィルタ又は協調フィルタを表すことを意図している。ループフィルタユニット320が
図3にインループフィルタとして示されているが、他の構成では、ループフィルタユニット320は、ポストループフィルタとして実装され得る。
【0258】
次に、所与のフレーム又は画像内の復号化したビデオブロック321は、後続の動き補償に使用される参照画像を格納する復号化画像バッファ330に格納される。
【0259】
デコーダ300は、ユーザに提示又は表示するために、例えば出力312を介して復号化した画像311を出力するように構成される。
【0260】
ビデオデコーダ300の他の変形例は、圧縮したビットストリームを復号化するために使用することができる。例えば、デコーダ300は、ループフィルタリングユニット320なしで出力ビデオストリームを生成することができる。例えば、非変換ベースのデコーダ300は、特定のブロック又はフレームについて、逆変換処理ユニット312なしで、残差信号を直接逆量子化することができる。別の実施態様では、ビデオデコーダ300は、逆量子化ユニット310及び逆変換処理ユニット312を単一のユニットに組み合わせることができる。
【0261】
図4は、本開示の一実施形態によるネットワーク装置400(例えば、コーディング装置)の概略図である。ネットワーク装置400は、本明細書に記載の開示される実施形態を実施するのに適している。一実施形態では、ネットワーク装置400は、
図1Aのビデオデコーダ300等のデコーダ又は
図1Aのビデオエンコーダ200等のエンコーダであり得る。一実施形態では、ネットワーク装置400は、上記のように、
図1Aのビデオデコーダ300又は
図1Aのビデオエンコーダ200の1つ又は複数のコンポーネントであり得る。
【0262】
ネットワーク装置400は、データを受信するための入力ポート410及び受信機ユニット(Rx)420と;データを処理するためのプロセッサ、論理ユニット、又は中央処理装置(CPU)430と;データを送信するための送信機ユニット(Tx)440及び出力ポート450と;データを格納するためのメモリ460と;を含む。ネットワーク装置400は、光又は電気信号の入力又は出力のために、入力ポート410に結合された光/電気変換(OE: optical-to-electrical)コンポーネント及び電気/光変換(EO: electrical-to-optical)コンポーネント、受信機ユニット420、送信機ユニット440、及び出力ポート450も含み得る。
【0263】
プロセッサ430は、ハードウェア及びソフトウェアによって実装される。プロセッサ430は、1つ又は複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、FPGA、ASIC、及びDSPとして実装され得る。プロセッサ430は、入力ポート410、受信機ユニット420、送信機ユニット440、出力ポート450、及びメモリ460と通信している。プロセッサ430は、コーディングモジュール470を含む。コーディングモジュール470は、上記の開示した実施形態を実施する。例えば、コーディングモジュール470は、様々なコーディング操作を実施、処理、準備、又は提供する。従って、コーディングモジュール470を含めることは、ネットワーク装置400の機能に実質的な改善を提供し、ネットワーク装置400の異なる状態への変換をもたらす。あるいはまた、コーディングモジュール470は、メモリ460に格納され、プロセッサ430によって実行される命令として実装される。
【0264】
メモリ460は、1つ又は複数のディスク、テープドライブ、及びソリッドステートドライブを含み、オーバーフローデータ記憶装置として使用され、そのようなプログラムが実行のために選択されたときにプログラムを格納し、プログラムの実行中に読み取られる命令及びデータを格納することができる。メモリ460は、揮発性及び/又は不揮発性であり得、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(TCAM)、及び/又はスタティックランダムアクセスメモリ(SRAM)であり得る。
【0265】
図5は、例示的な実施形態による、
図1Aによる送信元装置12及び宛先装置14のいずれか又は両方として使用され得る機器500の簡略化したブロック図である。機器500は、この本願の技術を実施することができる。機器500は、複数のコンピューティング装置を含むコンピューティングシステムの形態、又は単一のコンピューティング装置、例えば、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ等の形態であり得る。
【0266】
機器500内のプロセッサ502は、中央処理装置であり得る。あるいはまた、プロセッサ502は、現在存在する又は今後開発される情報を操作又は処理することができる、任意の他のタイプの装置、又は複数の装置であり得る。開示される実施多様は、示されるように単一のプロセッサ、例えばプロセッサ502で実施することができるが、速度及び効率の利点は、複数のプロセッサを使用して達成することができる。
【0267】
機器500内のメモリ504は、実施態様において、読取り専用メモリ(ROM)装置又はランダムアクセスメモリ(RAM)装置であり得る。他の適切なタイプの記憶装置をメモリ504として使用することができる。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコード及びデータ506を含むことができる。メモリ504は、オペレーティングシステム508及びアプリケーションプログラム510をさらに含むことができ、アプリケーションプログラム510は、プロセッサ502がここで説明する方法を実行するのを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510は、アプリケーション1~Nを含むことができ、アプリケーション1~Nは、ここで説明する方法を実行するビデオコーディングアプリケーションをさらに含む。機器500は、二次記憶装置514の形態で追加のメモリも含むことができ、これは、例えば、モバイルコンピューティング装置と共に使用されるメモリカードであり得る。ビデオ通信セッションがかなりの量の情報を含み得るので、それらセッションは、二次記憶装置514に全体的又は部分的に記憶され、処理のために必要に応じてメモリ504にロードされ得る。
【0268】
機器500は、ディスプレイ518等の1つ又は複数の出力装置も含むことができる。ディスプレイ518は、一例では、ディスプレイを、タッチ入力を感知するように動作可能なタッチ感知素子と組み合わせるタッチ感知ディスプレイであり得る。ディスプレイ518は、バス512を介してプロセッサ502に結合することができる。ユーザが機器500をプログラム又は他の方法で使用するのを可能にする他の出力装置が、ディスプレイ518に加えて、又はその代替として提供され得る。出力装置がディスプレイであるか又はこれを含む場合に、ディスプレイは、液晶ディスプレイ(LCD)、ブラウン管(CRT)ディスプレイ、プラズマディスプレイ、又は有機LED(OLED)ディスプレイ等の発光ダイオード(LED)ディスプレイを含む様々な方法で実施することができる。
【0269】
機器500はまた、画像感知装置520、例えば、カメラ、或いは機器500を操作するユーザの画像等の画像を感知することができる、現在存在するか又は今後開発される任意の他の画像感知装置520を含むか、又はそれと通信することできる。画像感知装置520は、機器500を操作するユーザに向けられるように位置付けすることができる。一例では、画像感知装置520の位置及び光軸は、視野が、ディスプレイ518に直接隣接し、そこからディスプレイ518が見える領域を含む。
【0270】
機器500はまた、音感知装置522、例えば、マイク、或いは機器500の近くの音を感知することができる、現在存在するか又は今後開発される任意の他の音感知装置を含むか、又はそれと通信することができる。感知装置522は、機器500を操作するユーザに向けられるように位置付けすることができ、ユーザが機器500を操作している間にユーザによってなされる音、例えば、音声又は他の発話を受信するように構成することができる。
【0271】
図5は、機器500のプロセッサ502及びメモリ504が単一のユニットに統合されていることを示しているが、他の構成を利用することができる。プロセッサ502の動作は、直接結合する或いはローカルエリア又は他のネットワークを介して結合することができる複数のマシン(各マシンは1つ又は複数のプロセッサを有する)に分散させることができる。メモリ504は、ネットワークベースのメモリ又は機器500の動作を実行する複数のマシン内のメモリ等の複数のマシンに分散することができる。ここでは単一のバスとして示されているが、機器500のバス512は複数のバスで構成することができる。さらに、二次記憶装置514は、機器500の他のコンポーネントに直接結合することができ、又はネットワークを介してアクセスすることができ、そしてメモリカード等の単一の統合ユニット又は複数のメモリカード等の複数のユニットを含むことができる。こうして、機器500は、多種多様な構成で実装することができる。
【0272】
4:2:0サンプリングでは、2つのクロマアレイのそれぞれは、ルマアレイの半分の高さ及び半分の幅を有する。画像内のルマ及びクロマサンプルの公称上の垂直方向及び水平方向の相対位置が
図6Aに示されている。
【0273】
図8は、ダウンサンプリングされた、再構成したルマブロックをスケーリングするために使用されるスケーリングパラメータが導出される例示的な位置を示す概念図である。例えば、
図8は、4:2:0サンプリングの例を示しており、スケーリングパラメータはα及びβである。
【0274】
一般に、LM予測モードが適用される場合に、ビデオエンコーダ20及びビデオデコーダ30は、以下のステップを呼び出すことができる。ビデオエンコーダ20及びビデオデコーダ30は、隣接ルマサンプルをダウンサンプリングすることができる。ビデオエンコーダ20及びビデオデコーダ30は、線形パラメータ(つまり、α及びβ)(スケーリングパラメータとも呼ばれる)を導出することができる。ビデオエンコーダ20及びビデオデコーダ30は、現在のルマブロックをダウンサンプリングし、ダウンサンプリングしたルマブロック及び線形パラメータから予測(例えば、予測ブロック)を導出することができる。ダウンサンプリングを行うには様々な方法がある。
【0275】
図6Bは、クロマブロックの予測ブロックを生成するために、ルマブロックのサンプルをダウンサンプリングするためのルマ位置及びクロマ位置の例を示す概念図である。
図6Bに示されるように、塗りつぶされた(つまり、黒一色の)三角形によって表されるクロマサンプルは、[1、1]フィルタを適用することによって、2つの塗りつぶされた円によって表される2つのルマサンプルから予測される。[1、1]フィルタは、2タップフィルタの一例である。
【0276】
図6Cは、予測ブロックを生成するために、ルマブロックのサンプルをダウンサンプリングするためのルマ位置及びクロマ位置の別の例を示す概念図である。
図6Cに示されるように、塗りつぶされた(つまり、黒一色の)三角形によって表されるクロマサンプルは、6タップフィルタを適用することによって、6つの塗りつぶされた円によって表される6つのルマサンプルから予測される。
【0277】
1つ又は複数の例では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実現され得る。ソフトウェアで実現される場合に、機能は、コンピュータ可読媒体上に1つ又は複数の命令又はコードとして格納又は送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体等の有形媒体に対応するコンピュータ可読記憶媒体、又は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このように、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、又は(2)信号又は搬送波等の通信媒体に対応し得る。データ記憶媒体は、本開示に記載した技術の実施のための命令、コード、及び/又はデータ構造を検索するために、1つ又は複数のコンピュータ或いは1つ又は複数のプロセッサによってアクセスできる任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【0278】
動き補償、イントラ予測、及びループフィルタ等のビデオ圧縮技術は、効果的であることが証明されており、こうして、H.264/AVC及びH.265/HEVC等の様々なビデオコーディング規格に採用されている。イントラ予測は、利用可能な参照画像がない場合に、或いは例えばIフレーム又はIスライスで、インター予測コーディングが現在のブロック又は画像に使用されていない場合に、使用できる。イントラ予測の参照サンプルは、通常、同じ画像内の以前にコーディングした(つまり再構成した)隣接ブロックから導出される。例えば、H.264/AVCとH.265/HEVCとの両方で、隣接するブロックの境界サンプルがイントラ予測の参照として使用される。異なるテクスチャ又は構造特性をカバーするために、多くの異なるイントラ予測モードがある。各モードでは、異なる予測信号導出方法が使用される。例えば、
図6Dに示されるように、H.265/HEVCは、合計35個のイントラ予測モードをサポートする。
【0279】
H.265/HEVCのイントラ予測アルゴリズムの説明
【0280】
イントラ予測のために、隣接するブロックの復号化した境界サンプルが参照として使用される。エンコーダは、35個のオプション(33個の方向予測モード、DCモード、及び平面モード)から各ブロックの最高のルマイントラ予測モード(つまり、現在のブロックに対して最も正確な予測を提供するモード)を選択する。イントラ予測方向とイントラ予測モード番号との間のマッピングが、
図6Dに指定されている。最新のビデオコーディング技術、例えばVVC(多用途ビデオコーディング)では、65個以上のイントラ予測モードが開発されており、VVC(多用途ビデオコーディング)は、自然なビデオで提示される任意のエッジ方向をキャプチャできることに留意されたい。これらの予測モードのうち、水平方向を有するモード(例えば、
図6Dのモード10)は、「水平モード」とも呼ばれ、垂直方向を有するモード(例えば、
図6Dのモード26)は、「垂直モード」とも呼ばれる。
【0281】
図7は、ブロックの参照サンプルを示している。
図7に示されるように、ブロック「CUR」は予測する現在のブロックであり、現在のブロックの境界に沿った暗い(dark)サンプルは、現在のブロックを予測するために使用される参照サンプルである。これらの参照サンプルは、現在のブロックに隣接する再構成したブロック内のサンプルであり、隣接ブロックとも呼ばれる。ブロック「CUR」は、予測すべきブロックのタイプに応じて、ルマブロック又はクロマブロックになり得る。予測信号は、イントラ予測モードによって示される特定の方法に従って、参照サンプルをマッピングすることによって導出できる。
【0282】
参照サンプルの置換え
【0283】
参照サンプルのいくつか又は全ては、いくつかの理由のためにイントラ予測に利用できない場合がある。例えば、画像、スライス、又はタイルの外側のサンプルは、予測に利用不可と見なされる。さらに、制約付きイントラ予測が有効になっている場合に、誤って受信及び再構成された可能性のある以前の画像からのエラー伝播を回避するために、インター予測されたPUに属する参照サンプルが省略される。本明細書で使用される場合に、現在のコーディングブロックの参照サンプルは、それが現在の画像、スライス、又はタイトルの外側にない場合、現在のコーディングブロックが復号化される前に参照サンプルが再構成されている場合、及び/又はエンコーダでのコーディング決定のために参照サンプルが省略されていない場合に、利用可能である。HEVCでは、利用不可の参照サンプルを置き換えた後に、全ての予測モードを使用できる。利用可能な参照サンプルがない極端なケースでは、全ての参照サンプルが、所与のビット深さの公称平均サンプル値(例えば、8ビットデータの場合には128)に置き換えられる。イントラ予測に利用可能としてマークされた参照サンプルが少なくとも1つある場合に、利用不可の参照サンプルは、利用可能な参照サンプルを使用して置き換えられる。利用不可の参照サンプルは、参照サンプルを時計回りにスキャンし、利用不可のサンプルについて最新の利用可能なサンプル値を使用することで置き換えられる。時計回りのスキャンで最初のサンプルが利用できない場合に、時計回りの順序でサンプルをスキャンするときに、その利用できない参照サンプルは、最初に検出された利用可能な参照サンプルに置き換えられる。ここで、「置換え」はパディング(padding)とも呼ばれ、置き換えれたサンプルはパディングされたサンプルとも呼ばれ得る。
【0284】
制約付きイントラ予測
【0285】
制約付きイントラ予測は、エンコーダ-デコーダの不一致の参照ピクセルを用いた空間イントラ予測によって生じる空間ノイズ伝播を回避するためのツールである。エンコーダ-デコーダの不一致の参照ピクセルは、インターコードしたスライスの送信中にパケット損失が発生した場合に出現する可能性がある。これらは、損失の多いデコーダ側のメモリ圧縮が使用されている場合にも出現する可能性がある。制約付きイントラ予測が有効である場合に、インター予測したサンプルは、イントラ予測に利用できない、又は利用不可とマークされ、エンコード側での完全なイントラ予測推定又はデコード側でのイントラ予測を行うために、上記のパディング方法でこれらの利用不可のサンプルをパディングできる。
【0286】
クロスコンポーネント線形モデル予測(CCLM)
【0287】
クロスコンポーネント線形モデル予測(CCLM)は、クロスコンポーネントイントラ予測(CCIP)とも呼ばれ、イントラ予測モード中にクロスコンポーネント冗長性を低減するために使用されるイントラ予測モードの1つのタイプである。
図8(
図8A及び
図8Bを含む)は、CCLMイントラ予測を行うメカニズムの例を示す概略図である。
図8は、4:2:0サンプリングの例を示している。
図8は、CCLMモードに含まれる現在のブロックのサンプル及びその左側及び上部の隣接サンプルの位置の例を示している。白い四角は現在のブロックのサンプルであり、影付きの円は隣接ブロックの再構成したサンプルである。
図8Aは、クロマブロックの隣接する再構成したピクセルの例を示している。
図8Bは、同じ場所に配置されたルマブロックの隣接する再構成したピクセルの例を示している。ビデオフォーマットがYUV4:2:0の場合に、次に、1つの16×16ルマブロックと2つの8×8クロマブロックとがある。
【0288】
CCLMイントラ予測は、エンコーダ200のイントラ推定ユニット254及び/又はデコーダ300のイントラ予測ユニット354によって行われ得る。CCLMイントラ予測は、クロマブロック801内のクロマサンプル803を予測する。クロマサンプル803は、正方形で示されている整数の位置に出現する。予測は、黒丸で示される隣接参照サンプルに部分的に基づいている。クロマサンプル803は、隣接クロマ参照サンプル805のみに基づいて予測されるものではない。クロマサンプル803は、ルマ参照サンプル813及び隣接ルマ参照サンプル815にも基づいて予測される。具体的には、CUは、ルマブロック811及び2つのクロマブロック801を含む。同じCU内のクロマサンプル803及びルマ参照サンプル813を相関させるモデルが生成される。モデルの線形係数は、隣接ルマ参照サンプル815を隣接クロマ参照サンプル805と比較することによって決定される。
【0289】
ルマ参照サンプル813が再構成されるときに、ルマ参照サンプル813は、再構成したルマサンプル(Rec’L)として示される。隣接クロマ参照サンプル805が再構成されるときに、隣接クロマ参照サンプル805は、再構成した隣接クロマサンプル(Rec’C)として示される。
【0290】
示されるように、ルマブロック811は、クロマブロック801の4倍のサンプルを含む。
図8に示される例では、クロマブロック801はN×Nサンプルを含む一方、ルマブロック811は2N×2Nサンプルを含む。そのため、ルマブロック811は、クロマブロック801の4倍の解像度である。ルマ参照サンプル813及び隣接ルマ参照サンプル815で動作する予測のために、ルマ参照サンプル813及び隣接ルマ参照サンプル815は、隣接クロマ参照サンプル805及びクロマサンプル803との正確な比較を提供するためにダウンサンプリングされる。ダウンサンプリングは、サンプル値のグループの解像度を低下させるプロセスである。例えば、YUV4:2:0フォーマットが使用される場合に、ルマサンプルは、4の因子によって(例えば、幅で2、高さで2)ダウンサンプリングされ得る。YUVは、ルマ成分Yと2つのクロミナンス成分U及びVとの観点から色空間を使用するカラー符号化システムである。
【0291】
CCLM予測では、クロマサンプルは、次のように線形モデルを使用して、ダウンサンプリングされた対応する再構成したルマサンプル(現在のルマブロック)に基づいて予測される。
predC(i,j)=α・recL’(i,j)+β (1)
ここで、predC(i,j)は予測されるクロマサンプルを表し、rec’L(i,j)はダウンサンプリングされた対応する再構成したルマサンプルを表す。パラメータα及びβは、次のように、現在のルマブロック及び現在のクロマブロックの周りの再構成した隣接ルマサンプル及びクロマサンプルの間の回帰誤差を最小化することによって導出できる。
α=(N・Σ(L(n)・C(n))-ΣL(n)・ΣC(n))/(N・Σ(L(n)・L(n))-ΣL(n)・ΣL(n)) (2)
β=(ΣC(n)-α・ΣL(n))/N (3)
ここで、L(n)は、ダウンサンプリングされた上部及び左側の再構成した隣接ルマサンプルを表し、C(n)は、上部及び左側の再構成した隣接クロマサンプルを表し、Nの値は、係数の導出に使用されたサンプルに等しい。正方形の形状のコーディングブロックの場合に、上記の2つの式が直接適用される。この回帰誤差最小化計算は、エンコーダ検索操作としてだけでなく、復号化プロセスの一部としても実行されるため、α値とβ値を伝達するためのシンタックスは使用されない。
【0292】
回帰誤差を最小化する上記の方法(最小二乗(LS)法とも呼ばれる)を使用することに加えて、線形モデル係数α及びβは、最大及び最小のルマサンプル値を使用して導出することもできる。この後者の方法は、MaxMin法とも呼ばれる。MaxMin法では、上部及び左側の再構成した隣接ルマサンプルがダウンサンプリングされた後に、これらの再構成した隣接ルマサンプルのそれぞれと、上部及び左側の再構成した隣接クロマサンプルとの1対1の関係が取得される。こうして、線形モデル係数パラメータα及びβは、1対1の関係に基づくルマサンプル及びクロマサンプルのペアを使用して導出できる。ルマサンプル及びクロマサンプルのペアは、ダウンサンプリングされた上部及び左側の再構成した隣接ルマサンプルの最小値及び最大値を識別し、次に上部及び左側の再構成した隣接クロマテンプレートから対応するサンプルを識別することによって得られる。ルマサンプル及びクロマサンプルのペアは、
図9の(A、B)のように示される。線形モデルパラメータαとβは、次の式に従って取得される。
α=(y
B-y
A)/(x
B-x
A) (4)
β=y
A-αx
A、 (5)
ここで、(x
A、y
A)は、
図9のAの座標であり、(x
B、y
B)は、Bの座標である。
【0293】
CCLMルマ対クロマ(luma-to-chroma)予測モードは、1つの追加のクロマイントラ予測モードとして追加される。エンコーダ側では、クロマイントラ予測モードを選択するために、クロマ成分のレート-歪み(RD)コストチェックがもう1つ追加される。
【0294】
簡潔にするために、この文書では、「テンプレート」という用語は、再構成した隣接クロマサンプル及びダウンサンプリングされた再構成した隣接ルマサンプルを示すために使用される。これらの再構成した隣接クロマサンプル及びダウンサンプリングされた再構成した隣接ルマサンプルは、テンプレート内の参照サンプルとも呼ばれる。
図10は、クロマブロック及び対応するダウンサンプリングしたルマブロックのテンプレートの図である。
図10に示される例では、ルマ’1020は、現在のルマブロックのダウンサンプリングしたバージョンであり、クロマブロック1040と同じ空間解像度を有する。換言すれば、ルマ’1020は、クロマブロック1040の併置されたダウンサンプリングされたルマブロックである。上部テンプレート1002は、現在のクロマブロック1040の上にある上部の再構成した隣接クロマサンプルと、ルマ’1020の対応するダウンサンプリングされた上部の再構成した隣接ルマサンプルを含む。ルマ’1020のダウンサンプリングされた上部の再構成した隣接ルマサンプルは、ルマブロックの上にある隣接サンプルに基づいて取得される。本明細書で使用する場合に、ルマブロックの上の隣接サンプルは、ルマブロックのすぐ上の隣接サンプル、又はルマブロックに隣接していない隣接サンプルのいずれか、或いはその両方を含み得る。左側テンプレート1004は、左側の再構成した隣接クロマサンプル及び対応するダウンサンプリングされた左側の再構成した隣接ルマサンプルを含む。上部の再構成した隣接クロマサンプルは、上部クロマテンプレート1006等の「上部クロマテンプレート」とも呼ばれる。対応するダウンサンプリングされた上部の再構成した隣接ルマサンプルは、上部ルマテンプレート1008等の「上部ルマテンプレート」と呼ばれる。左側の再構成した隣接クロマサンプルは、左側クロマテンプレート1010等の「左側クロマテンプレート」とも呼ばれる。対応するダウンサンプリングされた左側の再構成した隣接ルマサンプルは、左側ルマテンプレート1012等の「左側ルマテンプレート」と呼ばれる。テンプレートに含まれる要素は、そのテンプレート内の参照サンプルと呼ばれる。
【0295】
既存のCCLMアプリケーションでは、上部又は左側テンプレートについて、利用不可としてマークされた1つの参照サンプルが存在する場合に、テンプレート全体は使用されない。
図11は、利用不可の参照サンプルを含むテンプレートの例の図である。
図11に示される例では、クロマブロック1140の場合に、A2 1102の参照サンプル等、上部テンプレートに利用不可の参照サンプルが存在する場合に、次に、上部テンプレートは線形モデル係数の導出に使用されない。同様に、B2 1104の参照サンプルのように、左側テンプレートで利用不可の参照サンプルが1つ存在する場合に、次に、左側テンプレートは線形モデル係数の導出に使用されない。これにより、イントラ予測のコーディング性能が低下する。
【0296】
マルチ方向線形モデル
【0297】
線形モデル係数を一緒に計算するために使用されることに加えて、上部テンプレート及び左側テンプレート内の参照サンプルは、別の2つのCCLMモード、つまり、CCLM_T及びCCLM_Lモードでも使用することができる。CCLM_T及びCCLM_Lは、まとめてマルチ方向線形モデル(MDLM)とも呼ばれ得る。
図12は、CCLM_Tモードで使用される参照サンプルの図であり、
図13は、CCLM_Lモードで使用される参照サンプルの図である。
図12に示されるように、CCLM_Tモードでは、参照サンプル1202及び1204等の上部テンプレート内の参照サンプルのみが、線形モデル係数を計算するために使用される。
図13に示されるように、CCLM_Lモードでは、参照サンプル1212及び1214等の左側テンプレート内の参照サンプルのみが、線形モデル係数を計算するために使用される。これらのモードのそれぞれで使用される参照サンプルの数はW+Hであり、ここで、Wはクロマブロックの幅であり、Hはクロマブロックの高さである。
【0298】
CCLMモード及びMDLMモード(つまり、CCLM_Tモード及びCCLM_Lモード)は、一緒に、又は代わりに使用することができる。例えば、コーデックでCCLMモードのみが使用されるか、コーデックでMDLMのみが使用されるか、コーデックでCCLMとMDLMとの両方が使用される。CCLMとMDLMとの両方が使用される最後のケースでは、3つのモード(つまり、CCLM、CCLM_T、CCLM_L)が3つの追加のクロマイントラ予測モードとして追加される。エンコーダ側では、クロマイントラ予測モードを選択するために、クロマ成分のRDコストチェックがさらに3つ追加される。MDLMの既存の方法では、モデルパラメータ又はモデル係数はLS法を使用して導出される。利用可能な参照サンプルの数が十分でない場合に、パディング操作を使用して、最も遠いピクセル値をコピーするか、又は利用可能な参照サンプルのサンプル値をフェッチする。
【0299】
しかしながら、LS法を使用してMDLMモードの線形モデル係数を取得することは、計算の複雑さを高くする。さらに、既存のMDLMモードでは、いくつかのテンプレートサンプルの位置が、特に非正方形ブロックの場合に、現在のブロックから遠く離れている可能性がある。例えば、上部テンプレートの右端の参照サンプルと左側テンプレートの下部の参照サンプルは、現在のブロックから遠く離れている。そのため、これらの参照サンプルは現在のブロックとの相関が低くなり、クロマブロックの予測の効率が低下する。本明細書で提示する技術は、MDLMの複雑さを軽減し、テンプレートサンプルと現在のブロック間の相関を高めることができる。
【0300】
一例では、MaxMin法を使用してモデル係数を決定する場合に、上部テンプレートと左側テンプレートからの参照サンプルを一緒に使用することに加えて、テンプレート(左側テンプレート又は上部テンプレートのいずれか)の一部のみの参照サンプルが使用される。例えば、MaxMin法では、上部ルマテンプレート内の参照サンプルのみが検査され、最大ルマ値及び最小ルマ値が決定される。あるいはまた、左側ルマテンプレート内の参照サンプルのみが検査され、最大ルマ値及び最小ルマ値が決定される。最大及び最小ルマ値のサンプル位置が決定された後に、対応するクロマサンプル値は、最小及び最大ルマ値の位置に基づいて取得することができる。
【0301】
図14は、最大及び最小ルマ値を決定するために使用される参照サンプルの例を示す概略図である。
図14に示される例では、W1として示される、上部ルマテンプレート内の参照サンプルの数は、Wとして示される、現在のクロマブロックの幅よりも大きい。H1として示される、左側ルマテンプレート内の参照サンプルの数は、Hとして示される、現在のクロマブロックの高さより大きい。
図15は、最大及び最小ルマ値を決定するために使用される参照サンプルの別の例を示す概略図である。
図15に示される例では、上部ルマ参照サンプルの数は、現在のクロマブロックの幅Wに等しく、左側ルマ参照サンプルの数は、現在のクロマブロックの高さHに等しい。
【0302】
要約すると、LS法に加えて、MaxMin法も、MDLMモードに使用することができる。換言すると、MaxMin法を使用して、CCLM_Tモード及びCCLM_Lモードのモデル係数を導出することができる。MaxMin法はLS法よりも計算の複雑さが低いため、提案する方法はその計算の複雑さを軽減することによってMDLMを改善する。さらに、既存のMaxMin法は、CCLMモードに上部テンプレートと左側テンプレートの両方を使用する。提案する方法は、モデル係数を導出するために上部テンプレート又は左側テンプレートのいずれかを使用し、これにより、モードの計算の複雑さがさらに軽減される。
【0303】
本明細書で提示する技術の更なる例によれば、テンプレート内の参照サンプルは、参照サンプルと現在のブロックとの間の相関を高めるために選択される。上部テンプレートには、最大W2個の参照サンプルが使用される。左側テンプレートには、最大H2個の参照サンプルが使用される。このようにして、上部テンプレート内のW2個の参照サンプル又は左側テンプレート内のH2個の参照サンプルよりも遠い参照サンプルは、現在のブロックとの相関が低いため、使用されない。
【0304】
さらに、MaxMin法を使用してモデル係数を導出する場合に、利用可能な参照サンプルのみが使用され、利用不可の参照サンプルを置き換えるためにパディングは使用されない。例えば、CCLM_Tモードの最大及び最小ルマ値を決定するために、上部ルマテンプレート内の利用可能なサンプルのみが検査される。上部テンプレートではW2個の参照サンプルが使用されているため、W3として示される利用可能なサンプルの数は、W2以下になる。同様に、CCLM_Lモードの最大値及び最小値を決定するために、左側ルマテンプレート内の利用可能なサンプルが検査される。H3として示される利用可能なサンプルの数は、H2以下になり得る。W2及びW3とH2及びH3との関係が
図16に示されており、ここでW3<=W2及びH3<= H2である。一例では、W2=2×W及びH2=2×Hである。
【0305】
あるいはまた、W2及びH2はそれぞれ、W+Hの値をとることができる。換言すれば、上部ルマテンプレート内の最大W+H個の参照サンプルを使用して、CCLM_Tモードのモデル係数を導出することができ、左側ルマテンプレート内の最大W+H個の参照サンプルを使用して、CCLM_Lモードのモデル係数を導出することができる。これらの参照サンプルの中で、この範囲で利用可能なルマテンプレートサンプル(つまり、CCLM_TとCCLM_Lの両方でW+H)のみが検査され、最大及び最小ルマ値が決定される。この例では、CCLM_Tモードの最大値及び最小値を決定するために、上部ルマテンプレートで利用可能なサンプル(W+H以下)が検査される。CCLM_Lモードの最大値及び最小値を決定するために、左側ルマテンプレートで利用可能なサンプル(W+H以下)が検査される。
【0306】
CCLM_Tモード及びCCLM_Lモードのモデル係数を導出するために、正確にW+H参照サンプルが使用される既存のMDLM方法と比較して、提案する方法では、CCLM_Tモードのモデル係数を導出するために、最大2×W又はW+H個の参照サンプルが使用され、CCLM_Lモードのモデル係数を導出するために、最大2×H又はW+H個の参照サンプルが使用される。さらに、最大値及び最小値を決定するために、検査したサンプル範囲(CCLM_Tの場合には2×W又はW+H、CCLM_Lの場合には2×H又はW+H)で利用可能なルマ参照サンプルのみが使用される。上記の提案する方法では、ルマテンプレート内の最大及び最小ルマ値を決定することは、2、4又は別の値等の、1より大きいステップサイズで参照サンプルをサンプリングすることによりスピードアップすることができる。
【0307】
ダウンサンプリング方法
【0308】
上で議論したように、画像のルマ成分の空間解像度はクロマ成分の解像度よりも大きいので、ルマ成分を、MDLMモードのクロマ部分の解像度にダウンサンプリングする必要がある。例えば、YUV4:2:0フォーマットの場合に、クロマ成分の解像度に一致させるために、ルマコンポーネントを4だけ(幅2だけ、高さ2だけ)ダウンサンプリングする必要がある。クロマブロックに対応するダウンサンプリングしたルマブロック(クロマブロックと同じ空間解像度を有する)を利用して、MDLMモードを使用したクロマブロックの予測を行うことができる。ダウンサンプリングしたルマブロックのサイズは、クロマブロックのサイズと同じである(ルマブロックがクロマブロックのサイズにダウンサンプリングされるため)。
【0309】
同様に、MDLMモードの線形モデル係数を導出するために、ルマテンプレート内の参照サンプルをダウンサンプリングする必要がある。CCLM_Tモードの場合に、上部の再構成した隣接ルマサンプルがダウンサンプリングされ、上部クロマテンプレート内の参照サンプルに対応する上部テンプレートの参照サンプル、つまり上部の再構成した隣接クロマサンプルが生成される。上部の再構成した隣接ルマサンプルのダウンサンプリングには、典型的に、上部の再構成した隣接ルマサンプルの複数の行が含まれる。
図17は、隣接ルマサンプルの複数の行又は列を使用してルマサンプルをダウンサンプリングする例を示す概略図である。
図17に示されるように、ルマブロックの場合に、ダウンサンプリング中に2つの上部の隣接行A1及びA2を使用して、ダウンサンプリングされた隣接行Aを取得することができる。Aのi番目のサンプルとしてのA[i]、A1のi番目のサンプルとしてのA1[i]、及びA2のi番目のサンプルとしてのA2[i]が示され、6タップダウンサンプリングフィルタを次のように使用できる。
A[i]=(A2[2i]*2+A2[2i-1]+A2[2i+1]+A1[2i]*2+A1[2i-1]+A1[2i+1]+4)>>3;
隣接サンプルの数も、現在のブロックのサイズより大きくなる可能性がある。例えば、
図18に示されるように、ダウンサンプリングしたルマブロックの上部の隣接サンプルの数はMであり得、ここで、Mは、ダウンサンプリングされたブロックの幅Wよりも大きい。
【0310】
上記のような既存のダウンサンプリング方法では、上部の再構成した隣接ルマサンプルの複数の行を使用して、ダウンサンプリングされた上部の再構成した隣接ルマサンプルを生成する。これにより、通常のイントラモード予測と比較してラインバッファのサイズが大きくなり、こうしてメモリコストが増加する。
【0311】
本明細書で提示する技術は、現在のブロックが現在のコーディングツリーユニットCTUの上部の境界にある(つまり、現在のクロマブロックの一番上の行が、現在のCTUの一番上の行と重なっている)場合に、CCLM_Tモードのための上部の再構成した隣接ルマサンプルの1行のみを使用することにより、ダウンサンプリングのメモリ使用量を削減する。
図19は、CTUの上部の境界にあるルマブロックに対して隣接ルマサンプルの単一の行を使用するダウンサンプリングの例を示す概略図である。
図19に示されるように、A1(再構成した隣接ルマサンプルの1行を含む)のみが、Aでダウンサンプリングされた上部の再構成した隣接ルマサンプルを生成するために使用される。
【0312】
上記の説明は、CCLM_Tモードの上部の再構成した隣接ルマサンプルに焦点を合わせているが、同様の方法が、CCLM_Lモードの左側の再構成した隣接ルマサンプルに適用できることを理解されたい。例えば、ダウンサンプリングに左側の再構成した隣接ルマサンプルの複数の列を使用する代わりに、現在のブロックがCTUの左側の境界にある場合(つまり、現在のクロマブロックの左側の行がCTUの左側の行と重なっている場合)に、左側の再構成した隣接ルマサンプルの単一の列をダウンサンプリングに使用して、ダウンサンプリングしたルマブロックの左側テンプレートに参照サンプルを生成する。
【0313】
参照サンプルの利用可能性の決定
【0314】
上記の例では、ルマテンプレートを使用して、最大及び最小ルマ値を決定するための参照サンプルの利用可能性を決定する。しかしながら、いくつかのシナリオでは、利用可能なルマ参照サンプルには、対応するクロマ参照サンプルがない。例えば、ルマブロック及びクロマブロックは別々にコーディングすることができる。こうして、再構成したルマブロックが利用可能である場合に、対応するクロマブロックは未だ利用可能ではないようなものである。その結果、利用可能なルマ参照サンプルには、対応する利用可能なクロマ参照サンプルがなく、これは、コーディングエラーをもたらす可能性がある。
【0315】
本明細書で提示する技術は、クロマテンプレート内の参照サンプルの利用可能性を検査することを経て、テンプレート内の参照サンプルの利用可能性を決定することによって、この問題に対処する。いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されている場合に、クロマ参照サンプルは利用可能である。いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されており、参照サンプルが符号化の決定に基づいて省略されていない場合等に、クロマ参照サンプルは利用可能である。現在のクロマブロックの利用可能な参照サンプルは、クロマブロックの利用可能な再構成した隣接サンプルであり得る。利用可能なクロマ参照サンプルに対応するルマ参照サンプルは、最大及び最小ルマ値を決定するために利用される。例えば、クロマテンプレート内のL個の参照サンプルが利用可能である場合に、次に、L個の利用可能なクロマ参照サンプルに対応するルマテンプレート内の参照サンプルを使用して、最大及び最小ルマ値が決定される。クロマ参照サンプルに対応するルマ参照サンプルは、クロマテンプレート内に位置するクロマ参照サンプルと、ルマテンプレート内の同じ位置に位置するルマ参照サンプル(つまり、同じ場所に配置されたルマ参照サンプル(位置(x、y))を識別することによって決定することができ、例えば、クロマ参照サンプルに対応するルマ参照サンプルは、隣接するルマ参照サンプル(位置(x-1、y))、ルマ参照サンプル(位置(x、y))、及び隣接するルマ参照サンプル(位置(x+1、y))を含み得る。最大及び最小ルマ値を有するルマ参照サンプルと、最大及び最小ルマ値に関連付けられたルマ参照サンプルに対応するクロマ参照サンプルは、次に、上記のようにモデル係数を決定するために使用される。
【0316】
一例では、L個の利用可能なクロマ参照サンプルを使用して、モデル係数、例えばL=4を決定することができる。別の例では、L個の利用可能なクロマ参照サンプルの一部又はL個の利用可能なクロマ参照サンプルの一部を使用して、モデル係数を決定する。例えば、固定数の利用可能なクロマ参照サンプルが、L個の利用可能なクロマ参照サンプルから選択される。選択したクロマ参照サンプルに対応するルマ参照サンプルが、識別され、選択したクロマ参照サンプルとともにモデル係数を決定するために使用される。例えば、選択したクロマ参照サンプルが4個の利用可能なクロマ参照サンプルである場合に、4個の利用可能なクロマ参照サンプルに対応する24個の再構成した隣接ルマサンプルが識別される。モデル係数を決定するために使用されるルマ参照サンプルは、24個の再構成した隣接ルマサンプルをダウンサンプリングすることにより取得され、ここで、6タップフィルタがダウンサンプリングプロセスに使用される。
【0317】
図16に示される例では、CCLM_Tモードの上部テンプレートサンプル範囲はW2である。次に、現在のクロマブロックの上部クロマテンプレート内の参照サンプルの利用可能性が決定される。W3個のクロマ参照サンプルが利用可能である場合(W3<=W2)に、次に、W3個以下の対応するルマ参照サンプルが取得される。これらの取得したルマ参照サンプル及びクロマ参照サンプルは、CCLM_Tモードのモデル係数を導出するために使用される。
【0318】
同様に、
図16に示される例には、CCLM_LモードのH2として左側テンプレートサンプル範囲がある。現在のクロマブロックの左側クロマテンプレート内の参照サンプルの利用可能性が検査される。H3個のクロマ参照サンプルが利用可能である場合(H3<=H2)に、次に、H3個以下の対応するルマ参照サンプルが取得される。これらの取得したルマ参照サンプル及びクロマ参照サンプルは、CCLM_Lモードのモデル係数を導出するために使用される。CCLMモードの参照サンプルの利用可能性は、同様に決定する、つまり、上部クロマテンプレートと左側クロマテンプレートとの両方での参照サンプルの利用可能性を決定し、次に、対応するルマ参照サンプルを見つけて、上記のようにモデル係数を決定することができる。
【0319】
提案する方法の詳細は、INTRA_CCLM、INTRA_CCLM_L、又はINTRA_CCLM_Tイントラ予測モードの仕様のフォーマットで表1に説明している。表2は、本明細書で提案する方法の代替実施態様を示している。
【表1-1】
【表1-2】
【表1-3】
【表1-4】
【表1-5】
【表2】
【0320】
MDLMモードの二値化
【0321】
ビデオ信号のビットストリームでMDLMモードを符号化するために、MDLMモードの二値化を実行して、選択したMDLMモードをビットストリームで符号化でき、デコーダが復号化のために選択されたモードを決定できるようにする必要がある。既存の2値化方法には、MDLMの2つのクロマモード、つまりCCLM_L及びCCLM_Tが含まれていない。ここでは、新しいクロマモードコーディング方法を提案する。
【0322】
表3及び表4は、これらの2つのクロマモードの二値化の詳細を提供する。表3では、77はCCLMモードを示し、intra_chroma_pred_modeインデックスは4である。78はCCLM_Lモードを示し、intra_chroma_pred_modeインデックスは5である。79はCCLM_Tモードを示し、intra_chroma_pred_modeインデックスは6である。intra_chroma_pred_modeインデックスが7に等しい場合に、選択されるモードはDMモードである。残りのインデックス値0、1、2、3はそれぞれ、平面モード、垂直モード、水平モード、及びDCモードを表す。
【表3】
【表4】
【0323】
表4は、クロマイントラ予測モードのそれぞれに使用されるビット文字列又はシンタックス要素の例を示す。表4に示されるように、DMモード(インデックス7)のシンタックス要素は0であり、CCLMモード(インデックス4)のシンタックス要素は10であり、CCLM_Lモード(インデックス5)のシンタックス要素は1110であり、CCLM_Tモード(インデックス6)のシンタックス要素は1111であり、平面モード(インデックス0)のシンタックス要素は11000であり、垂直モード(インデックス1)のシンタックス要素は11001であり、水平モード(インデックス2)のシンタックス要素は11010であり、DCモード(インデックス3)のシンタックス要素は11011である。表5は、クロマイントラ予測モードのそれぞれに使用されるビット文字列又はシンタックス要素の別の例を示す。エンコーダによって選択されたコーディングモードに応じて、対応するシンタックス要素が符号化したビデオのビットストリームに含められる。
【表5】
【0324】
図1のビデオエンコーダ20等のビデオエンコーダが、イントラクロマ予測モードに基づいて、ビデオ信号のクロマブロックのイントラ予測を行うときに、ビデオエンコーダは、イントラクロマ予測モードを選択し、選択したイントラクロマ予測モードを示すシンタックス要素をビットストリーム内に含めることによりビデオ信号のビットストリームを生成する。ビデオエンコーダは、複数のモードセットからイントラクロマ予測モードを選択できる。例えば、モードは、導出(derived)モード(DM)又はクロスコンポーネント線形モデル(CCLM)予測モード、或いはその両方を含む第1のモードセットを含むことができる。モードは、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む第2のモードセットも含むことができる。モードは、垂直モード、水平モード、DCモード、又は平面モードの少なくとも1つを含み得る第3のモードセットをさらに含むことができる。
【0325】
いくつかの例では、イントラクロマ予測モードが第1のモードセットから選択される場合のイントラクロマ予測モードのシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数より小さい。さらに、イントラクロマ予測モードが第2のモードセットから選択される場合のイントラクロマ予測モードのシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい。いくつかの例では、様々なイントラクロマ予測モードのシンタックス要素は、表4又は表5に示される例に従って選択される。
【0326】
デコーダがビデオ信号の符号化したビットストリームを受信してビデオを復号化するときに、
図1のビデオデコーダ30等のデコーダは、ビデオ信号のビットストリームからシンタックス要素を解析し、解析したシンタックス要素から選択したシンタックス要素に基づいて、クロマブロックに使用されるイントラクロマ予測モードを決定する。決定したイントラクロマ予測モードに基づいて、デコーダは、ビデオ信号の現在のクロマブロックのイントラ予測を行う。
【0327】
図20は、本開示のいくつかの態様による線形モデルを使用してイントラ予測を行うための方法のフローチャートである。ブロック2002において、現在のクロマブロック(クロマブロック801等)に対応するルマブロック(ルマブロック811等)が決定される。
【0328】
ブロック2004において、ルマブロックのルマ参照サンプルは、現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することに基づいて取得される。ルマブロックの取得したルマ参照サンプルは、ダウンサンプリングしたルマ参照サンプルである。いくつかの例では、ルマブロックの取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルに基づいて(L個の利用可能なクロマ参照サンプルの一部又は全体等に基づいて)選択された隣接ルマサンプルをダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである。換言すれば、ルマブロックの取得したルマ参照サンプルは、利用可能なクロマ参照サンプルに対応する隣接ルマサンプルをダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである。いくつかの例では、取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルに対応する。追加の例では、取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルの一部に対応する。取得したルマ参照サンプル(つまり、ダウンサンプリングしたルマ参照サンプル)とL個の利用可能なクロマ参照サンプルとの間の対応関係は、「1対1の対応関係」に限定されないこともあり得ることが理解でき、取得したルマ参照サンプル(つまり、ダウンサンプリングしたルマ参照サンプル)とL個の利用可能なクロマ参照サンプルとの間の対応関係は、「M対Nの対応関係」であり得ることも理解できる。例えば、M=4、N=4、又はM=4、N>4である。
【0329】
いくつかの例では、現在のクロマブロックのクロマ参照サンプルは、現在のクロマブロックの再構成した隣接サンプルを含む。L個の利用可能なクロマ参照サンプルは、再構成した隣接サンプルから決定される。同様に、ルマブロックの隣接サンプルも、ルマブロックの再構成した隣接サンプルである。ルマブロックの取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルに基づいて選択された再構成した隣接サンプルをダウンサンプリングすることにより取得される。そのようなL=4である。
【0330】
いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されている場合に、クロマ参照サンプルは利用可能である。いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されており、参照サンプルが符号化の決定に基づいて省略されていない場合等に、クロマ参照サンプルは利用可能である。現在のクロマブロックの利用可能な参照サンプルは、クロマブロックの利用可能な再構成した隣接サンプルであり得る。利用可能なクロマ参照サンプルに対応するルマ参照サンプルが取得される。
【0331】
いくつかの例では、L個の利用可能なクロマ参照サンプルは、現在のクロマブロックのL個の上部の隣接クロマサンプルが利用可能であると判定(決定)することによって決定され、ここで、1<=L<=W2であり、L及びW2は正の整数である。W2は上部の参照サンプル範囲を示し、L個の上部の隣接クロマサンプルが利用可能なクロマ参照サンプルとして使用される。いくつかの例では、W2は2*W又はW+Hのいずれかに等しい。ここで、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0332】
他の例では、L個の利用可能なクロマ参照サンプルは、現在のクロマブロックの利用可能なL個の左側の隣接クロマサンプルを判定することによって決定される。ここで、1<=L<=H2であり、L及びH2は正の整数である。H2は、左側の参照サンプル範囲を示す。L個の左側の隣接クロマサンプルが、利用可能なクロマ参照サンプルとして使用される。いくつかの例では、H2は2*H又はW+Hのいずれかに等しい。Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0333】
更なる例では、L個の利用可能なクロマ参照サンプルは、現在のクロマブロックの利用可能なL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルを判定することによって決定される。ここで、1<=L1<=W2、及び1<=L2<=H2である。W2は上部の参照サンプル範囲を示し、H2は左側の参照サンプル範囲を示す。L1、L2、W2、及びH2は正の整数であり、L1+L2=Lである。これらの例では、L1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルが、利用可能なクロマ参照サンプルとして使用される。
【0334】
一例では、ルマ参照サンプルは、ルマブロックの上にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される。別の例では、ルマ参照サンプルは、ルマブロックの左側にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される。
【0335】
上記の例では、ルマブロックのダウンサンプリングしたルマブロックは、現在のクロマブロックに対応するルマブロックの再構成されたルマブロックをダウンサンプリングすることにより取得される。場合によっては、例えばルマ参照サンプルがルマブロックの上の隣接サンプルのみに基づいて取得された場合、及び現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている場合等に、ルマブロックの再構成バージョンの再構成した隣接ルマサンプルの1行のみを使用して、ルマ参照サンプルを取得する。
【0336】
ブロック2006において、クロスコンポーネント予測に使用される線形モデル係数は、ステップ2004で取得したルマ参照サンプルと、ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて計算される。いくつかの例では、ルマ参照サンプルに対応するクロマ参照サンプルは、ルマ参照サンプルと同じ場所に配置されたクロマ参照サンプルである。
【0337】
ブロック2008において、現在のクロマブロックの予測は、計算した線形モデル係数及びルマブロック(ルマブロック811等)をダウンサンプリングすることにより取得したダウンサンプリングしたルマブロックの値に基づいて生成される。
【0338】
図21は、本開示の他の態様によるクロスコンポーネント線形モデル(CCLM)予測の方法のフローチャートである。ブロック2102において、現在のクロマブロック(クロマブロック801等)に対応するルマブロック(ルマブロック811等)が決定される。
【0339】
ブロック2104において、ルマブロックのルマ参照サンプルは、ルマブロックの隣接サンプルをダウンサンプリングすることにより取得される。いくつかの例では、ルマ参照サンプルは、ルマブロックの上の隣接サンプルに基づいて取得したルマ参照サンプルのみを含む。他の例では、ルマ参照サンプルは、ルマブロックの左側にある隣接サンプルに基づいて取得したルマ参照サンプルのみを含む。
【0340】
ブロック2106において、最大ルマ値及び最小ルマ値は、ルマ参照サンプルに基づいて決定される。
【0341】
ブロック2108において、第1のクロマ値は、最大ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて取得される。第2のクロマ値も、最小ルマ値に関連付けられた1つ又は複数のルマ参照サンプルの1つ又は複数の位置に少なくとも部分的に基づいて取得される。
【0342】
ブロック2110において、線形モデル係数は、第1のクロマ値、第2のクロマ値、最大ルマ値、及び最小ルマ値に基づいて計算される。
【0343】
ブロック2112において、現在のクロマブロックの予測は、線形モデル係数と、ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて生成される。
【0344】
図22は、線形モデルを使用してイントラ予測を行うための機器2200の例示的な構造を示すブロック図である。機器2200は、決定ユニット2202及びイントラ予測処理ユニット2204を含み得る。一例では、機器2200は、
図2のイントラ予測ユニット254に対応し得る。別の例では、機器2200は、
図3のイントラ予測ユニット354に対応し得る。
【0345】
決定ユニット2202は、現在のクロマブロック(クロマブロック801等)に対応するルマブロック(ブロック811等)を決定するように構成される。決定ユニット2202は、現在のクロマブロックのL個の利用可能なクロマ参照サンプルを決定することに基づいて、ルマブロックのルマ参照サンプルを取得するようにさらに構成される。ルマブロックの取得したルマ参照サンプルは、ダウンサンプリングしたルマ参照サンプルである。
【0346】
いくつかの例では、現在のクロマブロックのクロマ参照サンプルは、現在のクロマブロックの再構成した隣接サンプルを含む。L個の利用可能なクロマ参照サンプルは、再構成した隣接サンプルから決定される。同様に、ルマブロックの隣接サンプルも、ルマブロックの再構成した隣接サンプルである。ルマブロックの取得したルマ参照サンプルは、ルマブロックの再構成した隣接サンプルをダウンサンプリングすることにより取得される。いくつかの例では、ルマブロックの取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルに基づいて選択されたルマブロックの再構成した隣接サンプルをダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである。いくつかの例では、ルマブロックの取得したルマ参照サンプルは、L個の利用可能なクロマ参照サンプルに対応する再構成した隣接サンプルをダウンサンプリングすることにより取得されるダウンサンプリングしたルマ参照サンプルである。
【0347】
いくつかの例では、クロマ参照サンプルが現在の画像、スライス、又はタイトルの外側になく、参照サンプルが再構成されており、参照サンプルが符号化の決定に基づいて省略されない場合等に、クロマ参照サンプルは利用可能である。現在のクロマブロックの利用可能な参照サンプルは、クロマブロックの利用可能な再構成した隣接サンプルであり得る。利用可能なクロマ参照サンプルに対応するルマ参照サンプルが取得される。
【0348】
いくつかの例では、L個の利用可能なクロマ参照サンプルは、現在のクロマブロックのL個の上部の隣接クロマサンプルが利用可能であると判定(決定)することによって決定され、ここで、1<=L<=W2であり、L及びW2は正の整数である。W2は上部の参照サンプル範囲を示し、L個の上部の隣接クロマサンプルは利用可能なクロマ参照サンプルとして使用される。いくつかの例では、W2は2*W又はW+Hのいずれかに等しい。ここで、Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0349】
他の例では、L個の利用可能なクロマ参照サンプルは、現在のクロマブロックの利用可能なL個の左側の隣接クロマサンプルを判定することによって決定される。ここで、1<=L<=H2であり、L及びH2は正の整数である。H2は、左側の参照サンプル範囲を示す。L個の左側の隣接クロマサンプルが、利用可能なクロマ参照サンプルとして使用される。いくつかの例では、H2は2*H又はW+Hのいずれかに等しい。Wは現在のクロマブロックの幅を表し、Hは現在のクロマブロックの高さを表す。
【0350】
更なる例では、L個の利用可能なクロマ参照サンプルは、現在のクロマブロックの利用可能なL1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルを判定することによって決定される。ここで、1<=L1<=W2、及び1<=L2<=H2である。W2は上部の参照サンプル範囲を示し、H2は左側の参照サンプル範囲を示す。L1、L2、W2、及びH2は正の整数であり、L1+L2=Lである。これらの例では、L1個の上部の隣接クロマサンプル及びL2個の左側の隣接クロマサンプルが、利用可能なクロマ参照サンプルとして使用される。
【0351】
一例では、ルマ参照サンプルは、ルマブロックの上にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される。別の例では、ルマ参照サンプルは、ルマブロックの左側にあり、且つL個の利用可能なクロマ参照サンプルに基づいて選択された隣接サンプルのみをダウンサンプリングすることにより取得される。
【0352】
上記の例では、ルマブロックのダウンサンプリングしたルマブロックは、現在のクロマブロックに対応するルマブロックの再構成されたルマブロックをダウンサンプリングすることにより取得される。場合によっては、ルマ参照サンプルがルマブロックの上の隣接サンプルのみに基づいて取得された場合、及び現在のクロマブロックの一番上の行が現在のコーディングツリーユニット(CTU)の一番上の行と重なっている場合等に、ルマブロックの再構成バージョンの再構成した隣接ルマサンプルの1行のみを使用して、ルマ参照サンプルを取得する。
【0353】
イントラ予測処理ユニット2204は、ルマ参照サンプルと、ルマ参照サンプルに対応するクロマ参照サンプルとに基づいて線形モデル係数(α及びβ等)を計算するように構成される。イントラ予測処理ユニット2204は、線形モデル係数と、ルマブロックのダウンサンプリングしたルマブロックの値とに基づいて、現在のクロマブロックの予測を取得するようにさらに構成される。
【0354】
図23は、本開示のいくつかの態様による、ビデオ信号のビットストリームにおけるクロマイントラコーディングモードをコーディングする方法のフローチャートである。
【0355】
ブロック2302において、ビデオ信号のクロマブロックのイントラ予測は、イントラクロマ予測モードに基づいて行われる。イントラクロマ予測モードは、複数のモードから選択することができる。いくつかの例では、複数のモードは、3つのセット:導出モード(DM)又はクロスコンポーネント線形モデル(CCLM)予測モードの少なくとも1つを含む第1のモードセット、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む第2のモードセット、又は垂直モード、水平モード、DCモード、又は平面モードの少なくとも1つを含む第3のモードセットを含む。
【0356】
ブロック2304において、ビデオ信号のビットストリームが、イントラクロマ予測モードを示すシンタックス要素をビットストリームに含めることにより生成される。いくつかの例では、イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数より小さい。イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい。
【0357】
一例では、DMモードのシンタックス要素は0である。CCLMモードのシンタックス要素は10である。CCLM_Lモードのシンタックス要素は1110である。CCLM_Tモードのシンタックス要素は1111である。平面モードのシンタックス要素は11000である。垂直モードのシンタックス要素は11001である。水平モードのシンタックス要素は11010である。DCモードのシンタックス要素は11011である。
【0358】
別の例では、DMモードのシンタックス要素は00である。CCLMモードのシンタックス要素は10である。CCLM_Lモードのシンタックス要素は110である。CCLM_Tモードのシンタックス要素は111である。平面モードのシンタックス要素は0100である。垂直モードのシンタックス要素は0101である。水平モードのシンタックス要素は0110である。DCモードのシンタックス要素は0111である。
【0359】
図24は、本開示のいくつかの態様による、ビデオ信号のビットストリームにおけるクロマイントラコーディングモードを復号化する方法のフローチャートである。
【0360】
ブロック2402において、複数のシンタックス要素がビデオ信号のビットストリームから解析される。ブロック2404において、イントラクロマ予測モードは、複数のシンタックス要素からの、イントラクロマ予測モードを示すシンタックス要素に基づいて決定される。いくつかの例では、イントラクロマ予測モードは、複数のモードから決定される。例えば、複数のモードは、3つのセット:導出モード(DM)又はクロスコンポーネント線形モデル(CCLM)予測モードの少なくとも1つを含む第1のモードセット、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む第2のモードセット、或いは垂直モード、水平モード、DCモード、又は平面モードの少なくとも1つを含む第3のモードセットを含む。これらのイントラクロマ予測モードセットのうち、イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数より小さい。イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい。
【0361】
ブロック2406において、イントラクロマ予測モードに基づいて、ビデオ信号の現在のクロマブロックのイントラ予測が行われる。
【0362】
図25は、ビデオビットストリームを生成するための機器2500の例示的な構造を示すブロック図である。機器2500は、イントラ予測処理ユニット2502及び二値化ユニット2504を含み得る。一例では、イントラ予測処理ユニット2502は、
図2のイントラ予測ユニット254に対応し得る。一例では、二値化ユニット2504は、
図2のエントロピー符号化ユニット270に対応し得る。
【0363】
イントラ予測処理ユニット2502は、イントラクロマ予測モードに基づいて、ビデオ信号のクロマブロックのイントラ予測を行うように構成される。イントラクロマ予測モードは、第1のモードセット、第2のモードセット、又は第3のモードセットから選択される。第1のモードセットは、導出モード(DM)又はクロスコンポーネント線形モデル(CCLM)予測モードの少なくとも1つを含む。第2のモードセットは、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む。第3のモードセットは、垂直モード、水平モード、DCモード、又は平面モードの少なくとも1つを含む。
【0364】
二値化ユニット2504は、イントラクロマ予測モードを示すシンタックス要素を含めることにより、ビデオ信号のビットストリームを生成するように構成される。イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数より小さく、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい。
【0365】
一例では、DMモードのシンタックス要素は0である。CCLMモードのシンタックス要素は10である。CCLM_Lモードのシンタックス要素は1110である。CCLM_Tモードのシンタックス要素は1111である。平面モードのシンタックス要素は11000である。垂直モードのシンタックス要素は11001である。水平モードのシンタックス要素は11010である。DCモードのシンタックス要素は11011である。
【0366】
別の例では、DMモードのシンタックス要素は00である。CCLMモードのシンタックス要素は10である。CCLM_Lモードのシンタックス要素は110である。CCLM_Tモードのシンタックス要素は111である。平面モードのシンタックス要素は0100である。垂直モードのシンタックス要素は0101である。水平モードのシンタックス要素は0110である。DCモードのシンタックス要素は0111である。
【0367】
図26は、ビデオビットストリームを復号化するための機器2600の例示的な構造を示すブロック図である。機器は、解析ユニット2602、決定ユニット2604、及びイントラ予測処理ユニット2606を含み得る。一例では、解析ユニット2602は、
図3のエントロピー符号化ユニット304に対応し得る。一例では、決定ユニット2604及びイントラ予測処理ユニット2606は、
図3のイントラ予測ユニット354に対応し得る。
【0368】
解析ユニット2602は、ビデオ信号のビットストリームからのシンタックス要素を解析するように構成される。決定ユニット2604は、複数のシンタックス要素からのシンタックス要素に基づいてイントラクロマ予測モードを決定するように構成される。イントラクロマ予測モードは、第1のモードセット、第2のモードセット、又は第3のモードセットの1つから決定される。第1のモードセットは、導出モード(DM)又はクロスコンポーネント線形モデル(CCLM)予測モードの少なくとも1つを含む。第2のモードセットは、CCLM_Lモード又はCCLM_Tモードの少なくとも1つを含む。第3のモードセットは、垂直モード、水平モード、DCモード、又は平面モードの少なくとも1つを含む。
【0369】
イントラクロマ予測モードが第1のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数より小さく、イントラクロマ予測モードが第2のモードセットから選択される場合のシンタックス要素のビット数は、イントラクロマ予測モードが第3のモードセットから選択される場合のシンタックス要素のビット数より小さい。
【0370】
一例では、DMモードのシンタックス要素は0である。CCLMモードのシンタックス要素は10である。CCLM_Lモードのシンタックス要素は1110である。CCLM_Tモードのシンタックス要素は1111である。平面モードのシンタックス要素は11000である。垂直モードのシンタックス要素は11001である。水平モードのシンタックス要素は11010である。DCモードのシンタックス要素は11011である。
【0371】
別の例では、DMモードのシンタックス要素は00である。CCLMモードのシンタックス要素は10である。CCLM_Lモードのシンタックス要素は110である。CCLM_Tモードのシンタックス要素は111である。平面モードのシンタックス要素は0100である。垂直モードのシンタックス要素は0101である。水平モードのシンタックス要素は0110である。DCモードのシンタックス要素は0111である。
【0372】
イントラ予測処理ユニット2606は、イントラクロマ予測モードに基づいて、ビデオ信号の現在のクロマブロックのイントラ予測を行うように構成される。
【0373】
以下の参考文献は、現在の開示をよりよく理解するために参照により組み込まれる:JCTVC-H0544、MDLMの説明、JVET-G1001、CCLM又はLMの説明、セクション2.2.4、及びJVET-K0204、最大値及び最小値を使用してモデル係数を導出するための説明。
【0374】
以下は、上述した実施形態に示される符号化方法及び復号化方法のアプリケーション、並びにそれらアプリケーションを使用するシステムの説明である。
【0375】
図27は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、取込み装置3102、端末装置3106を含み、オプションでディスプレイ3126を含む。取込み装置3102は、通信リンク3104を介して端末装置3106と通信する。通信リンクは、上記の通信チャネル13を含み得る。通信リンク3104は、WIFI、イーサネット、ケーブル、ワイヤレス(3G/4G/5G)、USB、又はそれらの任意の種類の組合せ等を含むが、これらに限定されない。
【0376】
取込み装置3102は、データを生成し、上記の実施形態に示されるような符号化方法によってデータを符号化することができる。あるいはまた、取込み装置3102は、データをストリーミングサーバ(図には示されていない)に配信することができ、サーバは、データを符号化し、符号化したデータを端末装置3106に送信する。取込み装置3102は、カメラ、スマートフォン又はパッド、コンピュータ又はラップトップ、ビデオ会議システム、PDA、車載装置、又はそれらのいずれかの組合せ等を含むが、これらに限定されない。例えば、取込み装置3102は、上記のように、送信元装置12を含み得る。データがビデオを含む場合に、取込み装置3102に含まれるビデオエンコーダ20は、実際にビデオ符号化処理を行うことができる。データが音(つまり、音声)を含む場合に、取込み装置3102に含まれる音声エンコーダは、実際に音声符号化処理を行うことができる。いくつかの実際的なシナリオでは、取込み装置3102は、それら(ビデオ符号化及び音声符号化処理したデータ)を一緒に多重化することによって、符号化したビデオ及びオーディオデータを配信する。他の実際的なシナリオでは、例えばビデオ会議システムでは、符号化したオーディオデータ及び符号化したビデオデータは多重化されない。取込み装置3102は、符号化したオーディオデータ及び符号化したビデオデータを別々に端末装置3106に配信する。
【0377】
コンテンツ供給システム3100において、端末装置310は、符号化したデータを受信して再生する。端末装置3106は、上述した符号化したデータを復号化することができるスマートフォン又はパッド3108、コンピュータ又はラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、テレビ3114、セットトップボックス(STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、携帯情報端末(PDA)3122、車載装置3124、又はそれらのいずれかの組合せ等であり得る。例えば、端末装置3106は、上記のように、宛先装置14を含み得る。符号化したデータにビデオが含まれる場合に、端末装置に含まれるビデオデコーダ30は、優先してビデオ復号化を行う。符号化したデータに音声が含まれる場合に、端末装置に含まれる音声デコーダを優先して音声復号化処理を行う。
【0378】
そのディスプレイを含む端末装置、例えば、スマートフォン又はパッド3108、コンピュータ又はラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、テレビ3114、携帯情報端末(PDA)3122、又は車載装置3124の場合に、端末装置は、復号化したデータをそのディスプレイに供給することができる。ディスプレイを装備しない端末装置、例えば、STB3116、ビデオ会議システム3118、又はビデオ監視システム3120の場合に、外部ディスプレイ3126が、これらに接触して、復号化したデータを受信して表示する。
【0379】
このシステムの各装置が符号化又は復号化を行う場合に、上述した実施形態に示されるように、画像符号化装置又は画像復号化装置を使用することができる。
【0380】
図28は、端末装置3106の例の構造を示す図である。端末装置3106が取込み装置3102からストリームを受信した後に、プロトコル
処理ユニット3202は、ストリームの送信プロトコルを解析する。プロトコルには、リアルタイムストリーミングプロトコル(RTSP)、ハイパーテキスト転送プロトコル(HTTP)、HTTPライブストリーミングプロトコル(HLS)、MPEG-DASH、リアルタイムトランスポートプロトコル(RTP)、リアルタイムメッセージングプロトコル(RTMP)、又はそれらの任意の種類の組合せ等が含まれるが、これらに限定されない。
【0381】
プロトコル処理ユニット3202がストリームを処理した後に、ストリームファイルが生成される。ファイルは、逆多重化ユニット3204に出力される。逆多重化ユニット3204は、多重化したデータを、符号化したオーディオデータと符号化したビデオデータとに分離することができる。上記のように、いくつかの実際的なシナリオでは、例えばビデオ会議システムにおいて、符号化したオーディオデータ及び符号化したビデオデータは多重化されない。この状況では、符号化したデータは、逆多重化ユニット3204を介さずに、ビデオデコーダ3206及びオーディオデコーダ3208に送信される。
【0382】
逆多重化処理を介して、ビデオエレメンタリーストリーム(ES)、オーディオES、及びオプションの字幕が生成される。上述した実施形態で説明したようなビデオデコーダ30を含むビデオデコーダ3206は、上述した実施形態に示されるような復号化方法によってビデオESを復号化してビデオフレームを生成し、このデータを同期ユニット3212に供給する。オーディオデコーダ3208は、オーディオESを復号化してオーディオフレームを生成し、このデータを同期ユニット3212に供給する。あるいはまた、ビデオフレームは、そのデータを同期ユニット3212に供給する前に、バッファ(図28には示されていない)に格納することができる。同様に、オーディオフレームは、そのデータを同期ユニット3212に供給する前に、バッファ(図28には示されていない)に格納することができる。
【0383】
同期ユニット3212は、ビデオフレーム及びオーディオフレームを同期させ、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に供給する。例えば、同期ユニット3212は、ビデオ及びオーディオ情報のプレゼンテーション(上演)を同期させる。情報は、コーディングしたオーディオ及びビジュアルデータのプレゼンテーション(上演)に関するタイムスタンプ及びデータストリーム自体の配信に関するタイムスタンプを使用して、シンタックスでコーディングすることができる。
【0384】
字幕がストリームに含まれる場合に、字幕デコーダ3210は、字幕を復号化し、その復号化したデータをビデオフレーム及びオーディオフレームと同期させ、ビデオ/オーディオ/字幕をビデオ/オーディオ/字幕ディスプレイ3216に供給する。
【0385】
本発明は、上述したシステムに限定されるものではなく、上述した実施形態における画像符号化装置又は画像復号化装置のいずれかを他のシステム、例えば自動車システムに組み込むことができる。
【0386】
例として、限定されないが、そのようなコンピュータ可読記憶媒体は、命令又はデータ構造の形式で所望のプログラムコードを格納するために使用でき、且つコンピュータによってアクセスできるRAM、ROM、EEPROM、CD-ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置、フラッシュメモリ、又は任意の他の媒体を含み得る。また、接続は全てコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波等のワイヤレス技術を使用して、Webサイト、サーバ、又は他のリモートソースから送信される場合に、次に、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波等のワイヤレス技術が媒体の規定に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的な媒体を含まないが、代わりに、非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用される場合に、ディスク(disk)及びディスク(disc)には、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、及びBlu-rayディスクが含まれ、ディスク(disk)は通常データを磁気的に再生する一方、ディスク(disc)はレーザを使用して光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含める必要がある。
【0387】
命令は、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、或いは他の同等の統合された又はディスクリート論理回路等の1つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用する場合に、「プロセッサ」という用語は、前述の構造のいずれか、又は本明細書に記載の技術の実施態様に適した任意の他の構造を指す場合がある。さらに、いくつかの態様において、本明細書に記載する機能は、符号化及び復号化のために構成された、又は組み合わされたコーデックに組み込まれた専用のハードウェア及び/又はソフトウェアモジュール内で提供され得る。また、これらの技術は、1つ又は複数の回路又は論理要素に完全に実装することができる。
【0388】
本開示の技術は、無線ハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な装置又は機器に実装され得る。開示する技術を実行するように構成された装置の機能的態様を強調するために、本開示では様々なコンポーネント、モジュール、又はユニットを説明しているが、様々なコンポーネント、モジュール、又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、上記のように、様々なユニットは、コーデックハードウェアユニットに組み合わされるか、又は適切なソフトウェア及び/又はファームウェアと組み合わせて、上記の1つ又は複数のプロセッサを含む相互運用(inter-operative)ハードウェアユニットの集合によって提供され得る。
【0389】
いくつかの実施形態が本開示に提供されているが、開示したシステム及び方法は、本開示の精神又は範囲から逸脱することなく、他の多くの特定の形態で具体化され得ることを理解されたい。本実施例は、例示的であり、限定的ではないと見なすべきであり、意図は、本明細書に与えられる詳細に限定すべきではない。例えば、様々な要素又はコンポーネントを別のシステムに組み合わせたり統合したり、特定の機能を省略したり、又は実装しなかったりすることができる。
【0390】
さらに、離散的又は別個として様々な実施形態で説明及び図示する技術、システム、サブシステム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術、又は方法と組み合わせ又は統合することができる。互いに結合又は直接結合又は通信するものとして示し又は議論している他のアイテムは、電気的、機械的、又は他の方法にかかわらず、何らかのインターフェース、装置、又は中間コンポーネントを介して間接的に結合又は通信することができる。変更、置換え、及び変更の他の例は、当業者によって確認可能であり、本明細書に開示する精神及び範囲から逸脱することなく行うことができる。