(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023169238
(43)【公開日】2023-11-29
(54)【発明の名称】ビデオ・シーケンスのイントラ予測方法及び装置
(51)【国際特許分類】
H04N 19/593 20140101AFI20231121BHJP
H04N 19/11 20140101ALI20231121BHJP
H04N 19/136 20140101ALI20231121BHJP
H04N 19/176 20140101ALI20231121BHJP
H04N 19/186 20140101ALI20231121BHJP
【FI】
H04N19/593
H04N19/11
H04N19/136
H04N19/176
H04N19/186
【審査請求】有
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023145466
(22)【出願日】2023-09-07
(62)【分割の表示】P 2021564668の分割
【原出願日】2020-03-27
(31)【優先権主張番号】201910370987.9
(32)【優先日】2019-04-30
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】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)【発明者】
【氏名】チェン,ジェンレェ
(57)【要約】 (修正有)
【課題】ビデオ・シーケンスのイントラ予測方法及び装置を提供する。
【解決手段】イントラ予測方法は、クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するステップ、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定するステップ、CCLMがクロマ・コーディング・ユニットで実行されることを許容するかどうかに依存してクロマ・コーディング・ユニットの予測モードを決定するステップ及びクロマ・コーディング・ユニットの予測サンプルを取得するためにクロマ・コーディング・ユニットの予測モードに基づいてクロマ・コーディング・ユニットを処理するステップを含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ビデオ・シーケンスのイントラ予測方法であって:
クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するステップ;
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定するステップ;
CCLMが前記クロマ・コーディング・ユニットで実行されることを許容するかどうかに依存して前記クロマ・コーディング・ユニットの予測モードを決定するステップ;及び
前記クロマ・コーディング・ユニットの予測サンプルを取得するために前記クロマ・コーディング・ユニットの前記予測モードに基づいて前記クロマ・コーディング・ユニットを処理するステップ;
を含む方法。
【請求項2】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する前記ステップは:
M及びNの双方がプリセット閾値T1に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又は
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;
を含み、前記第1プリセット条件は非分割又は四分木分割モードを含む、請求項1に記載の方法。
【請求項3】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する前記ステップは:
Mがプリセット閾値T1に等しく且つNがT1/2に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又は
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;
を含み、前記第2プリセット条件は非分割又は垂直バイナリ分割モードを含む、請求項1に記載の方法。
【請求項4】
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する前記ステップは:
CCLMが、前記クロマ・コーディング・ツリー・ノードに含まれる前記クロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モード、及び前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するステップ;
を含む、請求項1に記載の方法。
【請求項5】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、CCLMが、前記クロマ・コーディング・ツリー・ノードに含まれる前記クロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モード、及び前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する前記ステップは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;又は
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足せず、Mがプリセット閾値T1に等しく、且つNがT1に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又は前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;
を含み、前記第1プリセット条件は非分割又は四分木分割モードを含む、請求項4に記載の方法。
【請求項6】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、CCLMが、前記クロマ・コーディング・ツリー・ノードに含まれる前記クロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モード、及び前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する前記ステップは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;又は
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足せず、N=T1であり、且つM=T1/2である場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又は前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行い、T1はプリセット値であるステップ;
を含み、前記第2プリセット条件は非分割又は垂直バイナリ分割モードを含む、請求項4に記載の方法。
【請求項7】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISP予測モードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記ルマ・コーディング・ツリー・ノードのサイズと前記ルマ・ブロックのサイズは両方ともT1xT1であること;
を含む、請求項5又は6に記載の方法。
【請求項8】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割され、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;
を含む、請求項5又は6に記載の方法。
【請求項9】
前記第3プリセット条件は:
条件1:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISP予測モードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは両方ともT1xT1であること;又は
条件2:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードに使用される前記分割モードは、非分割及び四分木分割以外の分割モードであり、前記ルマ・コーディング・ツリー・ノードの前記サイズはT1xT1であること;
を含む、請求項5又は6に記載の方法。
【請求項10】
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する前記ステップは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;
を含む、請求項1に記載の方法。
【請求項11】
前記第3プリセット条件は:
条件1:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割され、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;又は
条件2:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードに使用される前記分割モードは、非分割及び四分木分割以外の分割モードであり、前記ルマ・コーディング・ツリー・ノードのサイズはT1xT1であること;
を含む、請求項5、6又は10に記載の方法。
【請求項12】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISP予測モードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割されること;又は、前記ルマ・コーディング・ツリー・ノードの前記分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;
を含む、請求項5、6又は10に記載の方法。
【請求項13】
前記プリセット閾値T1は64に等しい、請求項2、3、5-12のうちの何れか1項に記載の方法。
【請求項14】
ビデオ・シーケンスのイントラ予測方法であって:
第1識別子と第2識別子を取得するためにビットストリームを分析するステップであって、前記第1識別子は、前記ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、前記第2識別子は、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記ビデオ・シーケンス中のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される、ステップ;及び
前記第1識別子が、前記ビデオ・シーケンス中の前記イントラ・ピクチャに前記分離ツリー構造が使用されていることを示し、前記第2識別子が、前記ビデオ・シーケンス中の前記クロマ・ブロックでCCLMが実行されることを許容することを示す場合に、請求項1-13のうちの何れか1項に記載の方法を実行するステップ;
を含む、方法。
【請求項15】
ビデオ・シーケンスのイントラ予測装置であって:
クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するように構成された取得ユニット;
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定し;及び、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容するかどうかに依存して前記クロマ・コーディング・ユニットの予測モードを決定するように構成された決定ユニット;及び
前記クロマ・コーディング・ユニットの予測サンプルを取得するために前記クロマ・コーディング・ユニットの前記予測モードに基づいて前記クロマ・コーディング・ユニットを処理するように構成された予測ユニット;
を含む装置。
【請求項16】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する場合において、前記決定ユニットは:
M及びNの双方がプリセット閾値T1に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており;
前記第1プリセット条件は非分割又は四分木分割モードを含む、請求項15に記載の装置。
【請求項17】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する場合において、前記決定ユニットは:
Mがプリセット閾値T1に等しく且つNがT1/2に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており;
前記第2プリセット条件は非分割又は垂直バイナリ分割モードを含む、請求項15に記載の装置。
【請求項18】
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する場合において、前記決定ユニットは:
CCLMが、前記クロマ・コーディング・ツリー・ノードに含まれる前記クロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モード、及び前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するように具体的に構成されている、請求項15に記載の装置。
【請求項19】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、CCLMが、前記クロマ・コーディング・ツリー・ノードに含まれる前記クロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モード、及び前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する場合において、前記決定ユニットは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うか;又は
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足せず、MがT1に等しく、且つNがT1に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行い、T1はプリセット値であるように具体的に構成されており;
前記第1プリセット条件は非分割又は四分木分割モードを含む、請求項18に記載の装置。
【請求項20】
前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、CCLMが、前記クロマ・コーディング・ツリー・ノードに含まれる前記クロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モード、及び前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する場合において、前記決定ユニットは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うか;又は
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足せず、N=T1であり、且つM=T1/2である場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足するならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行い、T1はプリセット閾値であるように具体的に構成されており;
前記第2プリセット条件は非分割又は垂直バイナリ分割モードを含む、請求項18に記載の装置。
【請求項21】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISP予測モードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記ルマ・コーディング・ツリー・ノードのサイズと前記ルマ・ブロックのサイズは両方ともT1xT1であること;
を含む、請求項19又は20に記載の装置。
【請求項22】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割され、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;
を含む、請求項19又は20に記載の装置。
【請求項23】
前記第3プリセット条件は:
条件1:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISP予測モードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは両方ともT1xT1であること;又は
条件2:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードに使用される前記分割モードは、非分割及び四分木分割以外の分割モードであり、前記ルマ・コーディング・ツリー・ノードの前記サイズはT1xT1であること;
を含む、請求項19又は20に記載の装置。
【請求項24】
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する場合において、前記決定ユニットは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されている、請求項15に記載の装置。
【請求項25】
前記第3プリセット条件は:
条件1:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割され、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;又は
条件2:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードに使用される前記分割モードは、非分割及び四分木分割以外の分割モードであり、前記ルマ・コーディング・ツリー・ノードのサイズはT1xT1であること;
を含む、請求項19、20又は24に記載の装置。
【請求項26】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割されること;又は、前記ルマ・コーディング・ツリー・ノードの前記分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;
を含む、請求項19、20又は24に記載の装置。
【請求項27】
前記プリセット閾値T1は64に等しい、請求項16、17、19-25のうちの何れか1項に記載の装置。
【請求項28】
ビデオ・シーケンスのイントラ予測装置であって:
第1識別子と第2識別子を取得するためにビットストリームを分析するように構成された復号化ユニットであって、前記第1識別子は、前記ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、前記第2識別子は、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記ビデオ・シーケンス中のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される、復号化ユニット;及び
前記第1識別子が、前記ビデオ・シーケンス中の前記イントラ・ピクチャに前記分離ツリー構造が使用されていることを示し、前記第2識別子が、前記ビデオ・シーケンス中の前記クロマ・ブロックでCCLMが実行されることを許容することを示す場合に、請求項1-13のうちの何れか1項に記載の方法を実行するように構成された予測ユニット;
を含む装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は2019年4月30日に中国国家知識産権局に出願された「ビデオ・シーケンスのイントラ予測方法及び装置」と題する中国特許出願第201910370987.9号に対する優先権を主張しており、その全体が参照により本件に援用される。
【0002】
技術分野
本願は、ビデオ符号化及び復号化の分野、特にビデオ・シーケンスのイントラ予測方法及び装置に関連する。
【0003】
背景
ビデオ・コーディング規格H.265では、ピクチャのフレームは、互いにオーバーラップしないコーディング・ツリー・ユニット(coding tree unit, CTU)にパーティション化され、CTUのサイズは64×64又は他の値に設定される可能性がある。64x64であるサイズのCTUは、64×64サンプルを含む矩形サンプル・マトリクスである。マトリクス・サンプル・マトリクスは64個のカラムを含み、各カラムは64個のサンプルを含み、各サンプルはルマ成分又は/及びクロマ成分を含む。
【0004】
H.265は、CTUが四分木のルート・ノードとして使用される四分木(quad-tree, QT)分割モードに基づいており、CTUは複数のリーフ・ノードに再帰的に分割される。ノードは1つのピクチャ領域に対応する。ノードが分割に続かない場合、そのノードはリーフ・ノードと言及され、ノードに対応するピクチャ領域はCUになる。ノードが分割され続ける場合、ノードに対応するピクチャ領域は、4つの等しいサイズのピクチャ領域に分割され、各領域は1つのノードに対応する。ノードが分割されるかどうかは、ビットストリーム内にある分割フラグであってノードに対応するもの、によって決定される。ルート・ノードの深さは0であり、子ノードの深さは親ノードの深さプラス1である。
【0005】
64x64であるサイズのCTUノード(0の深度を有する)は、CTUノードに対応する分割フラグに基づいて分割されず、64x64であるサイズのCUになる可能性があり、或いは32x32であるサイズの4つのノード(1の深さを有する)に分割される可能性がある。32x32であるサイズの4つのノードの各々は、ノードに対応する分割フラグに基づいて、更に分割され続けたりされなかったりする可能性がある。32x32であるサイズのノードが分割され続ける場合、16x16であるサイズの4つのノード(2の深さを有する)が生成される。残りは、ノードが更に分割されなくなるまで、同様に推測することができる。この場合、1つのCTUは1グループのCUに分割される。
【0006】
四分木分割に基づいて、二分木(binary tree, BT)分割モードと三分木(ternary tree, TT)分割モードが、VTM参照ソフトウェアに追加されている。
【0007】
更に、QTとBT/TTをカスケード接続する分割モードは、汎用ビデオ・コーディング・テスト・モデル(versatile video coding test model, VTM)で使用することが可能であり、四分木プラス・マルチタイプ・ツリー(quadtree plus multi-type tree, QT-BTT)モードと言及される。即ち、レベル1コーディング・ツリーのノードは、QTモードを用いることによってのみ子ノードに分割することが可能であり、レベル1コーディング・ツリーのリーフ・ノードは、レベル2コーディング・ツリーのルート・ノードであり;レベル2コーディング・ツリーのノードは、水平バイナリ分割、垂直バイナリ分割、水平ターナリー分割、及び垂直ターナリー分割の4つの分割モードのうちの1つを用いることによって、子ノードに分割することが可能であり;レベル2コーディング・ツリーのリーフ・ノードは、コーディング・ユニットである。
【0008】
ノードはリーフ・ノードであり、リーフ・ノードはCUであることが分析により分かった後、CUに対応するコーディング情報(予測モードやCUの変換係数のような情報、例えばH.265におけるシンタックス構造coding_unit()を含む)が更に分析される。次いで、予測、量子化解除、逆変換、及びループ・フィルタリングのような復号化処理が、コーディング情報に基づいてCUで実行され、CUに対応する再構築されたピクチャを生成する。QT-MTTのようなフレキシブルなコーディング・ツリー構造は、ピクチャのローカルな特徴に基づいて、CTUを適切なサイズのCUのグループに分割することを可能にする。
【0009】
CTUをCUのグループに分割するモードは、1つのコーディング・ツリーに対応する。VTMでは、分離ツリー構造は、イントラ・ピクチャ(Iピクチャ)に使用されるように許容されている。この場合、コーディング・ツリー内の特定のノードAから始まって、ノードAのルマ・ブロックは、ルマ・コーディング・ツリーを用いることによって分割され、ルマ・コーディング・ツリーのリーフ・ノードはルマCUであり、ルマ・サンプルのみを含む。ノードAのクロマ・ブロックはクロマ・コーディング・ツリーを用いることによって分割され、クロマ・コーディング・ツリーのリーフ・ノードはクロマCUであり、クロマ・サンプルのみを含む。
【0010】
VTM5(即ち、VTMソフトウェア・バージョン5)では、分離ツリー構造をイントラ・ピクチャに使用することが可能である。分離ツリー構造を用いるイントラ・ピクチャでは、128×128であるサイズのコーディング・ツリー・ノードは、4分木分割モードを用いることによって、64x64であるサイズの4つのノードに分割される可能性があり、64x64であるサイズの各ノードはルマ・サンプルとクロマ・サンプルを含む。分離ツリー構造は、64x64であるサイズのノードに使用され、即ち64x64であるサイズのノードのルマ・ブロックは、ルマ・コーディング・ツリーを用いることによって分割され、64x64であるサイズのノードのクロマ・ブロックはクロマ・コーディング・ツリーを用いることによって分割される。ルマ・コーディング・ツリーに使用される分割モードは、クロマ・コーディング・ツリーに使用される分割モードと異なる可能性がある。例えば、64x64であるサイズのノードのルマ・ブロックは、四分木分割モードを用いることによって分割される可能性があり、クロマ・ブロックは、水平バイナリ分割モードを用いることによって分割される可能性がある。YUV4:2:0フォーマットでは、クロマの水平及び垂直サンプリング・レートはクロマのものの半分であるので、MxNであるサイズのノードは(M/2)×(N/2)クロマ・サンプルに対応する。
【0011】
しかしながら、分離ツリー構造がイントラ・ピクチャに使用される場合、比較的長いクロマ処理待ち時間を生じさせ、ハードウェア・デコーダのスループットを低減する可能性がある。
【発明の概要】
【0012】
本願の実施形態は、ビデオ・シーケンスのイントラ予測方法及び装置を提供する。本願の実施形態は、クロマ処理待ち時間を低減し、ハードウェア・デコーダのスループットを改善することに役立つ。ビデオ・シーケンス(video sequence)は、1つ以上のピクチャ(picture)を含む。
【0013】
説明の簡潔性のために、本発明の実施形態におけるノードのサイズと形状は、ノードに対応するピクチャ領域のサイズと形状である。本発明の実施形態では、ノードの幅と高さの両方が、ノードに対応するルマ・サンプルの量によって表現される。
【0014】
第1態様によれば、本発明の実施形態はビデオ・シーケンスのイントラ予測方法を提供し、方法は:
クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するステップ;
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定するステップ;CCLMがクロマ・コーディング・ユニットで実行されることを許容するかどうかに依存してクロマ・コーディング・ユニットの予測モードを決定するステップ;及びクロマ・コーディング・ユニットの予測サンプルを取得するためにクロマ・コーディング・ユニットの予測モードに基づいてクロマ・コーディング・ユニットを処理するステップを含む。クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかは、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定され、これにより、CCLMが実行されるクロマ・コーディング・ユニットを処理する際の待ち時間を低減し、ハードウェア・デコーダのスループットを改善する。
【0015】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定するステップは:
M及びNの双方がプリセット閾値T1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップを含み、第1プリセット条件は非分割又は四分木分割モードを含む。
【0016】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定するステップは:
MがT1に等しく且つNがT1/2に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又は クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップを含み、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0017】
実現可能な実施形態において、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定するステップは:
ルマ・コーディング・ツリー・ノードが分割されない場合に、イントラ・サブ・パーティションISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するステップを含む。
【0018】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するステップは:
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足する場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;又は
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、MがT1に等しく、且つNがT1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しない場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップを含み、第1プリセット条件は非分割又は四分木分割モードを含む。
【0019】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、ルマ・コーディング・ツリー・ノードが分割されない場合に、イントラ・サブ・パーティションISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するステップは:
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件における任意の1つを充足する場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、N=T1であり、且つM=T1/2である場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しない場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップを含み、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0020】
実現可能な実施形態において、第3プリセット条件は、以下の条件1ないし条件13のうちの1つ又は任意の組み合わせを含み、条件1ないし条件13は以下の通りである:
【0021】
条件1:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、ルマ・コーディング・ツリー・ノードのサイズはT1xT1である。
【0022】
条件2:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0023】
条件3:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、水平ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、垂直バイナリ分割モード、垂直ターナリー分割モード、又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0024】
条件4:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、水平ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、水平ターナリー分割モード、垂直バイナリ分割モード、垂直ターナリー分割モード又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0025】
条件5:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、水平ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、垂直バイナリ分割モード、垂直ターナリー分割モード、又は水平ターナリー分割モードのうちの1つを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1xT1であり、クロマ・コーディング・ツリー・ノードのサイズはT1x(T1/2)である。
【0026】
条件6:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、垂直ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、水平バイナリ分割モード、水平ターナリー分割モード、又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズとルマ・コーディング・ツリー・ノードのサイズは両方ともT1xT1である。
【0027】
条件7:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、垂直ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、垂直ターナリー分割モード、水平バイナリ分割モード、水平ターナリー分割モード、又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0028】
条件8:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、垂直ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、水平バイナリ分割モード、水平ターナリー分割モード、又は垂直ターナリー分割モードのうちの1つを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズとルマ・ブロックのサイズは両方ともT1xT1であり、クロマ・コーディング・ツリー・ノードのサイズはT1x(T1/2)である。
【0029】
条件9:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、水平バイナリ分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0030】
条件10:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、垂直バイナリ分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0031】
条件11:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、水平ターナリー分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0032】
条件12:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、垂直ターナリー分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0033】
条件13:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードに使用される分割モードは、非分割及び四分木分割以外の分割モードであり、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0034】
本件では、クロマ・コーディング・ツリー・ノードが子ノードに分割されることは、具体的には、クロマ・コーディング・ツリー・ノードが、水平バイナリ分割モード、垂直バイナリ分割モード、水平ターナリー分割モード、垂直ターナリー分割モード、及び四分木分割モードのうちの1つを用いることによって、子ノードに分割されることを意味することに留意すべきである。
【0035】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0036】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISP予測モードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、ルマ・コーディング・ツリー・ノードのサイズとルマ・ブロックのサイズは両方ともT1xT1である。
【0037】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0038】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0039】
実現可能な実施形態において、第3プリセット条件は条件1と条件13を含む。
【0040】
実現可能な実施形態において、第3プリセット条件は条件2と条件13を含む。
【0041】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0042】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割される;又は、ルマ・コーディング・ツリー・ノードの分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0043】
実現可能な実施形態において、第3プリセット条件は、条件3と、条件5と、条件6と、条件8と、条件13とを含む。
【0044】
実現可能な実施形態において、第3プリセット条件は、条件4と、条件5と、条件7と、条件8と、条件13とを含む。
【0045】
実現可能な実施形態において、第3プリセット条件は、条件3と、条件5と、条件7と、条件8と、条件9と、条件10と、条件11と、条件12とを含む。
【0046】
実現可能な実施形態において、プリセット閾値T1は64に等しい。
【0047】
第2態様によれば、本発明の実施形態はビデオ・シーケンスのイントラ予測方法を提供し、方法は:
第1識別子と第2識別子を取得するためにビットストリームを分析するステップであって、第1識別子は、ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、第2識別子は、CCLMがビデオ・シーケンス中のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される、ステップ;及び
第1識別子が、ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されていることを示し、第2識別子が、ビデオ・シーケンス中のクロマ・ブロックでCCLMが実行されることを許容することを示す場合に、第1態様及び第1態様の実施形態のうちの任意の1つで説明されるビデオ・シーケンスのイントラ予測方法を実行するステップを含む。
【0048】
第3態様によれば、本発明の実施形態はビデオ・シーケンスのイントラ予測装置を提供し、装置は:
クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するように構成された取得ユニット;
CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定し;及び、CCLMがクロマ・コーディング・ユニットで実行されることを許容するかどうかに依存してクロマ・コーディング・ユニットの予測モードを決定するように構成された決定ユニット;及び
クロマ・コーディング・ユニットの予測サンプルを取得するためにクロマ・コーディング・ユニットの予測モードに基づいてクロマ・コーディング・ユニットを処理するように構成された予測ユニットを含む。
【0049】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する場合において、決定ユニットは:
M及びNの双方がプリセット閾値T1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第1プリセット条件は非分割又は四分木分割モードを含む。
【0050】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する場合において、決定ユニットは:
MがT1に等しく且つNがT1/2に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0051】
実現可能な実施形態において、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する場合において、決定ユニットは:
ルマ・コーディング・ツリー・ノードが分割されない場合に、ISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するように具体的に構成されている。
【0052】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、ルマ・コーディング・ツリー・ノードが分割されない場合に、イントラ・サブ・パーティションISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する場合において、決定ユニットは:
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足する場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うか;又はクロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、MがT1に等しく、且つNがT1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又はクロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しない場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第1プリセット条件は非分割又は四分木分割モードを含む。
【0053】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、ルマ・コーディング・ツリー・ノードが分割されない場合に、イントラ・サブ・パーティションISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する場合において、決定ユニットは:
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件のうちの任意の1つを充足する場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うか;又は
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、N=T1であり、且つM=T1/2である場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又はクロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しない場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0054】
実現可能な実施形態において、第3プリセット条件は、第1態様における条件1、条件2、条件3、条件4、条件5、条件6、条件7、条件8、条件9、条件10、条件11、条件12、及び条件13のうちの1つ以上を含む。
【0055】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0056】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISP予測モードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、ルマ・コーディング・ツリー・ノードのサイズとルマ・ブロックのサイズは両方ともT1xT1である。
【0057】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0058】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0059】
実現可能な実施形態において、第3プリセット条件は、第1態様における条件1と13を含む。
【0060】
実現可能な実施形態において、第3プリセット条件は、第1態様における条件2と13を含む。
【0061】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0062】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割されるか;又は、ルマ・コーディング・ツリー・ノードの分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0063】
実現可能な実施形態において、第3プリセット条件は、第1態様における条件3と、条件5と、条件6と、条件8と、条件13とを含む。
【0064】
実現可能な実施形態において、第3プリセット条件は、第1態様における条件4と、条件5と、条件7と、条件8と、条件13とを含む。
【0065】
実現可能な実施形態において、第3プリセット条件は、第1態様における条件3と、条件5と、条件7と、条件8と、条件9と、条件10と、条件11と、条件12とを含む。
【0066】
実現可能な実施形態において、プリセット閾値T1は64に等しい。
【0067】
第4態様によれば、本発明の実施形態はビデオ・シーケンスのイントラ予測装置を提供し、装置は:
第1識別子と第2識別子を取得するためにビットストリームを分析するように構成された復号化ユニットであって、第1識別子は、ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、第2識別子は、CCLMがビデオ・シーケンス中のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される、復号化ユニット;及び
第1識別子が、ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されていることを示し、第2識別子が、ビデオ・シーケンス中のクロマ・ブロックでCCLMが実行されることを許容することを示す場合に、第1態様におけるビデオ・シーケンスのイントラ予測方法のうちの全部又は一部を実行するように構成された予測ユニットを含む。
【0068】
第5態様によれば、本発明の実施形態は、不揮発性メモリと、互いに結合されたプロセッサとを含む復号化デバイスを提供し、プロセッサは、メモリに記憶されたプログラム・コードを呼び出して、第1態様又は第2態様の何れかにおける方法のステップのうちの一部又は全部を実行する。
【0069】
第6態様によれば、本発明の実施形態は、コンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な記憶媒体は、プログラム・コードを記憶し、プログラム・コードは、第1態様又は第2態様のうちの何れかにおける方法のステップのうちの一部又は全部を実行するための命令を含む。
【0070】
本願の第2ないし第6態様の技術的解決策は、本発明の第1態様の技術的解決策と一致しており、態様及び対応する実現可能な実装によって達成される有益な効果は同様であることが理解されるべきである。詳細は再度説明しない。
【図面の簡単な説明】
【0071】
本発明の実施形態又は先行技術における技術的解決策をより明確に説明するために、以下、実施形態又は先行技術を説明するための添付図面を簡単に説明する。以下の説明における添付図面は、本発明の幾つかの実施形態を単に示しているに過ぎず、当業者は、創造的労力を伴わずにこれらの添付図面から他の図面を導出する可能性があることは明らかである。
【0072】
【0073】
【
図2】クロマ・ブロックとルマ・ブロックの分割モードの概略図である。
【0074】
【
図3】クロマ・ブロックとルマ・ブロックの別の分割モードの概略図である。
【0075】
【
図4】本発明の実施形態によるビデオ符号化及び復号化システムの概略ブロック図である。
【0076】
【
図5a】本発明の実施形態によるビデオ・エンコーダの概略ブロック図である。
【0077】
【
図5b】本発明の実施形態によるビデオ・デコーダの概略ブロック図である。
【0078】
【
図5c】本発明の実施形態による符号化装置又は復号化装置の一例のブロック図である。
【0079】
【
図6】本発明の実施形態によるビデオ・シーケンスのイントラ予測方法の概略フローチャートである。
【0080】
【
図7】本発明の実施形態によるビデオ・シーケンスのイントラ予測方法の概略フローチャートである。
【0081】
【
図8】本発明の実施形態によるイントラ予測装置の概略構造図である。
【0082】
【
図9】本発明の実施形態によるイントラ予測装置の概略構造図である。
【発明を実施するための形態】
【0083】
以下、添付図面を参照しながら本願の実施態様を説明する。
【0084】
先ず、本発明における用語をここで説明する。
【0085】
コーディング・ツリー・ユニット(coding tree unit, CTU):ピクチャは複数のCTUを含み、通常、1つのCTUは1つの正方形ピクチャ領域に対応し、ピクチャ領域内にルマ・サンプルとクロマ・サンプルを含む(又はルマ・サンプルのみを含んでもよいし、又はクロマ・サンプルのみを含んでもよい)。CTUはシンタックス要素を更に含む。これらのシンタックス要素は、CTUを少なくとも1つの・コーディング・ユニット(coding unit, CU)に分割し、各コーディング・ユニットを復号化して再構築されたピクチャを取得する仕方に関する方法を示す。
【0086】
CU:CUは、通常、AxBの矩形領域に対応し、AxBルマ・サンプルとルマ・サンプルに対応するクロマ・サンプルを含み、Aは四角形の幅であり、Bは四角形の高さであり、AはBと同じであってもよいし、異なっていてもよい。AとBの値は、通常 、2の整数乗、例えば256、128、64、32、16、8、4である。コーディング・ユニットは、AxBの矩形領域の再構築されたピクチャを取得するために復号化することが可能である。復号化処理は、通常、予測ピクチャ及び残差を生成するために、予測、量子化解除、及び逆変換のような処理を実行することを含む。再構築されたピクチャは、予測ピクチャと残差を重ね合わせることによって取得される。
【0087】
四分木:四分木はツリー形状の構造であり、ノードは4つの子ノードに分割されることが可能である。四分木ベースのCTU分割モードは、ビデオ・コーディング規格H.265で使用されており:CTUがルート・ノードとして使用され、各ノードは1つの正方形領域に対応する。ノードは、それ以上分割されない可能性があり(この場合、ノードに対応する領域はCUである)、又はノードは、より下位のレベルのノード4つに分割される、即ち、正方形領域は、4つの等しいサイズの正方形領域に分割され(ここで、4つの等しいサイズの正方形領域のそれぞれの長さ及び幅は、分割される前の正方形領域の長さ及び幅の半分である)、
図1の(a)に示されるように、各領域は、1つのノードに対応する。
【0088】
二分木:二分木はツリー形状の構造であり、ノードは2つの子ノードに分割されることが可能である。二分木が使用される既存のコーディング方法では、バイナリ・ツリー構造のノードは分割されない可能性があり、又はノードは、より下位のレベルのノード2つに分割される。ノードは、2つの方法:(1)水平バイナリ分割:
図1の(b)に示すように、ノードに対応する領域は、2つの等しいサイズの領域:上位領域及び下位領域に分割され、各領域は1つのノードに対応する;又は(2)垂直バイナリ分割:
図1の(c)に示すように、ノードに対応する領域は、2つの等しいサイズの領域:左領域及び右領域に分割され、各領域は1つのノードに対応する;のうちの任意の1つにおいて2つのノードに分割される。
【0089】
三分木:三分木はツリー形状の構造であり、ノードは3つの子ノードに分割されることが可能である。既存の三分木ベースのコーディング方法では、三分木構造におけるノードは分割されない可能性があり、又はノードは、より下位のレベルのノード3つに分割される可能性がある。ノードは、2つの方法:(1)水平ターナリー分割:ノードに対応する領域は3つの領域:上位領域、中位領域、及び下位領域に分割され、各領域は1つのノードに対応し、
図1の(d)に示すように、上位領域、中位領域、及び下位領域の高さはそれぞれノードの高さの1/4、1/2、及び1/4である;(2)垂直ターナリー分割:ノードに対応する領域は3つの領域:左領域、中位領域、及び右領域に分割され、各領域は1つのノードに対応し、
図1の(f)に示すように、左領域、中位領域、及び右領域の幅はそれぞれノードの高さの1/4、1/2、及び1/4である;のうちの任意の1つにおいて3つのノードに分割される。
【0090】
多用途ビデオ・コーディング・テスト・モデル(versatile video coding test model, VTM):JVETにより組織され開発されたH.266/多用途ビデオ・コーディング(versatile video coding test model, VVC)規格のコーデック参照ソフトウェアである。
【0091】
【0092】
α及びβは線型モデル係数であり、predC(i,j)は位置(i,j)におけるクロマ・サンプルの予測子であり、rec’L(i,j)は、現在のクロマ・ブロックに対応するルマ再構築ブロックがクロマ成分の解像度までダウンサンプリングされた後の、位置(i,j)におけるルマ再構築サンプル値を表現する。YUV4:2:0フォーマットのビデオでは、ルマ成分の解像度は、クロマ成分の解像度の4倍(幅の2倍と高さの2倍)である。クロマ・ブロックと同じ解像度を有するルマ・ブロックを得るためには、ルマ成分は、クロマ成分と同じダウンサンプリング方法に従ってクロマ解像度までダウンサンプリングされることを必要とし、その後に使用される。
【0093】
イントラ・サブ・パーティション(intra sub-partition, ISP)は、サブ・ブロック分割に基づくイントラ予測技術であり、例えばVTM5におけるISP技術である。ISPモードが使用される場合、ルマ・ブロックは、水平に又は垂直に、複数の(例えば、2つ又は4つの)同じサイズのルマ・サブ・ブロックに分割され、ルマ・サブ・ブロックは順に復号化され再構築される。共通のイントラ予測モード(例えば、角度予測モード、平面予測モード、又は直流予測モード)がクロマ・ブロックに対して使用される場合、クロマ・ブロックの周囲の再構築されたサンプルのみが、クロマ・ブロックのイントラ予測に使用される。この場合、クロマ・ブロックのイントラ予測とルマ・ブロックのイントラ予測は同時に行われてもよく、対応する領域のルマ・ブロックにおける予測処理を行うことに対する、クロマ・ブロックにおける予測処理を行うための最大待ち時間(略して、クロマ処理待ち時間)は、0ルマ・サンプルを含む領域におけるイントラ予測と再構築を行うための処理時間である。単一ツリーでは、CUはルマ・サンプルとクロマ・サンプルを含む。CCLMがクロマ・サンプルに対して実行される場合、対応する位置のルマ再構築サンプルが使用されることを必要とする。ルマ・ブロックが逐次処理のために複数のサブ領域に分割される場合、ルマ・サブ領域に対してイントラ予測が実行された後に、ルマ・サブ領域の再構築されたサンプルを取得するために予測子と残差が重ね合わせられ、ルマ・サブ領域の再構築されたサンプルを用いることによって、対応する位置のクロマ・サブ領域においてCCLM予測が実行される。従って、分離ツリー構造がイントラ・ピクチャに使用される場合に、CCLM予測がクロマ・ブロックに対して実行されるとき、比較的長いクロマ処理待ち時間の問題が生じる可能性がある。
【0094】
例えば、64x64であるサイズのノードのルマ・ブロックが(
図2の(a)に示すように)四分木分割モードを用いることによって分割される場合、生成されるルマ・ノード4つの処理シーケンスは、ノード0、ノード1、ノード2、及びノード3である。64x64であるサイズのノードのクロマ・ブロックが、
図2の(b)に示される垂直バイナリ分割モードを用いることによって分割されて、2つのクロマ・ノードを生成する場合に、CCLM予測がクロマ・ノード0に対して実行されるならば、ルマ・ノード2が再構築された後に限り、CCLM予測に必要とされるルマ再構築サンプル値は、クロマ・ノード0に対して取得されることが可能である。クロマ処理待ち時間は、32x32であるサイズの3つのルマ領域(3072ルマ・サンプル)の処理時間である。別の例として、
図2の(c)に示される水平二分木を用いることによって、64x64であるサイズのノードのクロマ・ブロックが、2つのクロマ・ノードに分割され、上側の64x32であるサイズのノードのクロマ・ブロックが、水平二分木モードを用いることによって更に2つのノードに更に分割され続ける場合に、CCLM予測がクロマ・ノード0に対して実行されるならば、ルマ・ノード1が再構築された後に限り、CCLM予測に必要とされる全てのルマ再構築サンプル値は、クロマ・ノード0に対して取得されることが可能であり、クロマ処理待ち時間は、32x32であるサイズのルマ領域2つ(即ち、2048ルマ・サンプル)の処理時間である。
【0095】
64x64であるサイズのノードのクロマ・ブロックに対して何らかの分割が実行される場合、クロマ・ノードに対してCCLMを実行するための処理待ち時間は、32x32であるサイズの1つのルマ領域の処理時間を超えない。一例では、64x64であるサイズのルマ・ブロックが四分木分割モードを用いることによって分割される場合、
図2の(d)に示されるように、対応するクロマ・ブロックも四分木分割モードで分割されるならば、ルマ・ノード0が再構築された後にクロマ・ノード0に対してCCLMを実行することが可能であり、ルマ・ノード1が再構築された後にクロマ・ノード1に対してCCLMを実行することが可能である、等々である。別の例では、64x64であるサイズのノードのクロマ・ブロックが分割されない場合、
図2の(e)に示すように、クロマ・ブロックは、逐次的イントラ予測のために、4つの領域p0、p1、p2、及びp3に分割される可能性があり、ルマ・ノード0が再構築された後にクロマ領域p0に対してCCLMを実行することが可能であり、ルマ・ノード1が再構築された後にクロマ領域p1に対してCCLMを実行することが可能である、等々である。別の例では、64x64であるサイズのノードのクロマ・ブロックが水平分割モードを用いることによって最初に分割され、
図2の(f)に示すように、上側で64x32であるサイズのクロマ・ノードが垂直分割モードを用いることによって分割され、下側で64×32であるサイズのクロマ・ノードは分割されない場合、クロマ・ノード0、1、2のクロマ処理待ち時間は全て、32x32であるサイズのルマ領域を処理する際の待ち時間である。これは、ルマ・ノード0が再構築された後に、クロマ・ノード0に対してCCLMを行うことができ、ルマ・ノード1が再構築された後に、クロマ・ノード2に対してCCLMを行うことができ、ルマ・ノード2が完了した後に、クロマ・ノード2の領域p0に対してCCLMを行うことができ、ルマ・ノード3が再構築された後に、クロマ・ノード2の領域p1に対してCCLMを行うことができるからである。
【0096】
また、分離ツリー構造がイントラ・ピクチャに使用される場合、64x64であるサイズのルマ・ブロックが分割されず、ISPモードがルマ・ブロックに使用されるならば、クロマ処理待ち時間は、32x32であるサイズの1つのルマ領域の処理時間を超える可能性がある。例えば、
図3の(a)に示すように、64×64であるサイズのノードのルマ・ブロックが、垂直ISPモードを用いることによって4つのルマ・サブ・ブロックに分割される場合に、
図3の(b)に示すように、64x64であるサイズのノードのクロマ・ブロックが水平バイナリ分割モードを用いることによって分割される場合、4つのルマ・サブ・ブロックが再構築された後に限り、CCLMはクロマ・ノード0に対して実行されることが可能であり、クロマ処理待ち時間は、32x32であるサイズのルマ領域4つの処理時間である。同様に、
図3の(e)に示すように、64x64であるサイズのノードのルマ・ブロックが、水平ISPモードを用いることによって4つのルマ・サブ・ブロックに分割される場合に、
図3の(f)に示すように、64x64であるサイズのノードのクロマ・ブロックが垂直バイナリ分割モードを用いることによって分割される場合、4つのルマ・サブ・ブロックが再構成された後に限り、CCLMはクロマ・ノード0に対して実行されることが可能であり、クロマ処理待ち時間は、32x32であるサイズのルマ領域4つの処理時間である。
【0097】
64x64であるサイズのノードのクロマ・ブロックに対して何らかの分割が実行される場合、たとえ64x64であるサイズのルマ・ブロックが分割されず、ISPモードがルマ・ブロックに使用される場合でさえ、クロマ・ノードによるCCLMを実行するための処理待ち時間は、32x32であるサイズの1ルマ領域の処理時間を超えない。例えば、64x64であるサイズのノードのルマ・ブロックに垂直ISPモードが使用される場合に、
図3の(d)に示すように、64x64であるサイズのノードのクロマ・ブロックが分割されないとき、又は
図3の(c)に示すように、64x64であるサイズのノードのクロマ・ブロックが、32x64であるサイズのノードを取得するために垂直バイナリ・モードを用いることによって分割され、ノードが垂直バイナリ分割モードを用いることによって分割されるか又は分割されないとき、クロマ処理待ち時間は、16x64であるサイズの1つのルマ領域の処理時間であり、且つ1つの32x32ルマ領域の処理時間(両方とも1024ルマ・サンプルに相当する)にほぼ等しいと考えてよい。より具体的には、64x64であるサイズのノードのクロマ・ブロックが分割されない場合、クロマ・ブロックは、4つのサブ領域に垂直に分割される可能性があり、16x64であるサイズの対応するルマ・サブ・ブロックが再構築された後に、CCLMが各サブ領域で実行され始めることが可能である。64x64であるサイズのノードのクロマ・ブロックが垂直バイナリ・モードを用いることによって分割されて、32x64であるサイズのノードを取得し、ノードは、垂直バイナリ分割モードを用いることによって分割される場合、16x64であるサイズの対応するルマ・サブ・ブロックが再構築した後に、16x64であるサイズの各クロマ・ノードに対してCCLMが実行され始めることが可能である。32x64であるサイズのノードが水平に分割されない場合、ノードは、16x64であるサイズの2つのサブ領域に垂直に分割される可能性があり、16x64であるサイズの対応するルマ・サブ・ブロックが再構築された後に、CCLMが各サブ領域で実行され始めることが可能である。同様に、64x64であるサイズのノードのルマ・ブロックに水平ISPモードが使用される場合に、
図3の(h)に示すように、64x64であるサイズのノードのクロマ・ブロックが分割されないとき、又は
図3の(g)に示すように、64x64であるサイズのノードのクロマ・ブロックが、64x32であるサイズのノードを取得するために水平バイナリ分割モードを用いることによって分割され、ノードが水平バイナリ分割モードを用いることによって分割されるか又は分割されないとき、クロマ処理待ち時間は、64x16であるサイズの1つのルマ領域の処理時間であり、且つ32x32であるサイズの1つのルマ領域の処理時間に等しい。
【0098】
図4は、本願の実施態様で説明されるビデオ・コーディング・システム4の一例のブロック図である。本明細書で使用されるように、用語「ビデオ・コーデック」は、通常、ビデオ・エンコーダとビデオ・デコーダを指す。本願では、用語「ビデオ・コーディング」又は「コーディング」は、通常、ビデオ符号化又はビデオ復号化を指す可能性がある。ビデオ・コーディング・システム1におけるビデオ・エンコーダ100及びビデオ・デコーダ300は、本願で提供される複数の新たなインター予測モードのうちの任意の1つにおいて説明される種々の方法例を用いることによって、現在のコーディングされるピクチャ・ブロック又は現在のコーディングされるピクチャ・ブロックのサブ・ブロックの動き情報、例えば動きベクトルを予測するように構成され、その結果、予測動きベクトルは動き推定方法を用いることによって取得される動きベクトルに最大限に近づく。このように、動きベクトル差分は符号化の間に伝送されることを必要とせず、これにより符号化及び復号化のパフォーマンスを更に改善する。
【0099】
図4に示すように、ビデオ・コーディング・システム1は、ソース装置10と宛先装置30とを含む。ソース装置10は、符号化されたビデオ・データを生成する。従って、ソース装置10は、ビデオ符号化装置と言及されてもよい。宛先装置30は、ソース装置10によって生成された符号化されたビデオ・データを復号化することができる。従って、ソース装置30は、ビデオ・イントラ予測装置と言及されてもよい。ソース装置10、宛先装置30、又は、ソース装置10と宛先装置20の種々の実装ソリューションは、1つ以上のプロセッサと、1つ以上のプロセッサに結合されたメモリとを含む可能性がある。メモリは、RAM、ROM、EEPROM、フラッシュ・メモリ、又は他の任意の媒体であって、本明細書で説明されるように、コンピュータにとってアクセス可能な命令又はデータ構造の形式で所望のプログラム・コードを記憶するために使用されことが可能なものを含む可能性があるが、これらに限定されない。
【0100】
ソース装置10と宛先装置30は、デスクトップ・コンピュータ、モバイル・コンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレット・コンピュータ、セット・トップ・ボックス、「スマート」フォンのような携帯用電話機、テレビジョン・セット、カメラ、ディスプレイ装置、デジタル・メディア・プレーヤ、ビデオ・ゲーム・コンソール、車載コンピュータ、又は同様な装置を含む様々な装置を含む可能性がある。
【0101】
宛先装置30は、リンク50を介して、符号化されたビデオ・データをソース装置10から受信することができる。リンク50は、符号化されたビデオ・データをソース装置10から宛先装置30へ転送することが可能な1つ以上の媒体又は装置を含む可能性がある。一例では、リンク50は、ソース装置10が、符号化されたビデオ・データを宛先装置30へリアル・タイムで直接的に送信することを可能にする1つ以上の通信媒体を含む可能性がある。この例では、ソース装置10は、通信規格(例えば、無線通信プロトコル)に従って、符号化されたビデオ・データを変調する可能性があり、変調されたビデオ・データを宛先装置30へ送信する可能性がある。1つ以上の通信媒体は、無線通信媒体及び/又は有線通信媒体、例えば無線周波数(RF)スペクトル又は1つ以上の物理伝送ケーブルを含む可能性がある。1つ以上の通信媒体は、パケット・ベースのネットワークの一部である可能性があり、パケット・ベースのネットワークは、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はグローバル・ネットワーク(例えば、インターネット)である。1つ以上の通信媒体は、ルーター、スイッチ、基地局、又は、ソース装置10から宛先装置30への通信を促す他のデバイスを含む可能性がある。
【0102】
別の実施例では、符号化されたデータは、出力インターフェース140を介して記憶装置40へ出力することができる。同様に、符号化されたビデオ・データは、入力インターフェース340を介して記憶装置40からアクセスすることができる。記憶装置40は、複数の分散された又はローカルにアクセスされるデータ記憶媒体のうちの任意の1つ、例えば、ハード・ディスク・ドライブ、ブルーレイ・ディスク、DVD、CD-ROM、フラッシュ・メモリ、揮発性又は不揮発性メモリ、又は符号化されたビデオ・データを記憶するように構成された任意の他の適切なデジタル記憶媒体を含む可能性がある。
【0103】
別の例では、記憶装置40は、ソース装置10によって生成された符号化されたビデオを維持することが可能なファイル・サーバー又は別の中間記憶装置に対応する可能性がある。宛先装置30は、ストリーミング伝送又はダウンロードにより、記憶されたビデオ・データに記憶装置40からアクセスすることができる。ファイル・サーバーは、符号化されたビデオ・データを記憶することが可能であって、符号化されたビデオ・データを宛先装置30へ送信する任意のタイプのサーバーである可能性がある。例えば、ファイル・サーバーは、ネットワーク・サーバー(例えば、ウェブサイトに使用されるもの)、FTPサーバー、ネットワーク接続記憶(NAS)装置、又はローカル・ディスク・ドライブである可能性がある。宛先装置30は、任意の標準的なデータ接続(インターネット接続を含む)を介して、符号化されたビデオ・データにアクセスすることができる。標準的なデータ接続は、無線チャネル(例えば、Wi-Fi接続)、有線接続(例えば、DSL又はケーブル・モデム)、又はそれらの組み合わせであってファイル・サーバーに記憶された符号化されたビデオ・データにアクセスすることに適したものを含む可能性がある。符号化されたビデオ・データの記憶装置40からの伝送は、ストリーミング伝送、ダウンロード伝送、又はそれらの組み合わせである可能性がある。
【0104】
本願における動きベクトル予測技術は、ビデオ符号化及び復号化のために使用されて、複数のマルチメディア・アプリケーション、例えばオーバー・ザ・エア・テレビジョン放送、ケーブル・テレビジョン伝送、衛星テレビジョン伝送、ストリーミング・ビデオ伝送(例えば、インターネットを介するもの)、データ記憶媒体に記憶されたビデオ・データの符号化、データ記憶媒体に記憶されたビデオ・データの復号化、又は他のアプリケーションをサポートすることができる。幾つかの例では、ビデオ・コーディング・システム1は、片方向又は双方向のビデオ伝送をサポートして、ビデオ・ストリーミング伝送、ビデオ再生、ビデオ放送、及び/又はビデオ電話のようなアプリケーションをサポートするように構成されることが可能である。
【0105】
図4に示すビデオ・コーディング・システム1は一例に過ぎず、本願の技術は、ビデオ符号化装置とビデオ復号化装置との間の何らかのデータ通信を必ずしも含まないビデオ・コーディング(例えば、ビデオ符号化又はビデオ復号化)装置に適用可能である。他の例では、データはローカル・メモリから取り出され、ネットワークを介してストリーミングされる、等々。ビデオ符号化装置は、データを符号化し、データをメモリに記憶することが可能であり、及び/又はビデオ復号化装置は、データをメモリから取り出し、データを復号化することが可能である。多くの例において、データを符号化し、データをメモリに記憶し、及び/又はデータをメモリから取り出し、データを復号する装置であって互いに通信しない装置が、符号化及び復号を実行する。
【0106】
図4の例では、ソース装置10は、ビデオ・ソース120と、ビデオ・エンコーダ100と、出力インターフェース140とを含む。幾つかの例では、出力インターフェース140は、変調器/復調器(モデム)及び/又は送信機を含む可能性がある。ビデオ・ソース120は、ビデオ・キャプチャ装置(例えば、カメラ)、以前にキャプチャされたビデオ・データを含むビデオ・アーカイブ、ビデオ・データをビデオ・コンテンツ・プロバイダーから受信するためのビデオ・フィードイン・インターフェース、及び/又はビデオ・データを生成するためのコンピュータ・グラフィックス・システム、又は前述のビデオ・データ・ソースの組み合わせを含む可能性がある。
【0107】
ビデオ・エンコーダ100は、ビデオ・ソース120からのビデオ・データを符号化することができる。幾つかの例では、ソース装置10は、符号化されたビデオ・データを宛先装置30へ出力インターフェース140を介して直接的に送信する。別の例では、符号化されたビデオ・データは、代替的に、記憶装置40に記憶されてもよく、その結果、宛先装置30は、復号化及び/又は再生するために、符号化されたビデオ・データに以後にアクセスする。
【0108】
図4の例では、宛先装置30は、入力インターフェース340と、ビデオ・デコーダ300と、ディスプレイ装置330とを含む。幾つかの例では、入力インターフェース340は、受信機及び/又はモデムを含む。入力インターフェース340は、リンク30を介して及び/又は記憶装置40から、符号化されたビデオ・データを受信する可能性がある。ディスプレイ装置330は、宛先装置30と一体化されてもよく、又は宛先装置30の外側に配置されてもよい。ディスプレイ装置330は、通常、復号化されたビデオ・データを表示する。ディスプレイ装置330は、複数のタイプのディスプレイ装置、例えば、液晶ディスプレイ(LCD)、プラズマ・ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプのディスプレイ装置を含む可能性がある。
【0109】
図4には示されてはいないが、幾つかの態様において、ビデオ・エンコーダ100及びビデオ・デコーダ300はそれぞれオーディオ・エンコーダ及びオーディオ・デコーダとともに一体化される可能性があり、共通のデータ・ストリーム又は別個のデータ・ストリームにおいてオーディオ及びビデオを符号化するために、適切なマルチプレクサ・デマルチプレクサ(multiplexer-demultiplexer, MUX-DEMUX)ユニット又はその他のハードウェア及びソフトウェアを含む可能性がある。幾つかの例において、適用可能であれば、MUX-DEMUXユニットは、ITU H.223マルチプレクサ・プロトコル、又はユーザー・データグラム・プロトコル(UDP)のような別のプロトコルに準拠していてもよい。
【0110】
ビデオ・エンコーダ100及びビデオ・デコーダ300の各々は、例えば以下の複数の回路のうちの任意の1つ:1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ディスクリート・ロジック、ハードウェア、又はそれらの任意の組み合わせとして、実装される可能性がある。本願が部分的にソフトウェアにより実装される場合、装置は、適切な不揮発性コンピュータ読み取り可能な記憶媒体に、ソフトウェアのために使用される命令を記憶することが可能であり、1つ以上のプロセッサを使用してハードウェアで命令を実行し、本願における技術を実装することが可能である。前述のコンテンツ(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせ等を含む)のうちの任意の1つは、1つ以上のプロセッサと考えられてよい。ビデオ・エンコーダ100及びビデオ・デコーダ300の各々は、1つ以上のエンコーダ又はデコーダに含まれる可能性があり、エンコーダ又はデコーダのうちの何れかは、対応する装置における組み合わされたエンコーダ/デコーダ(コーデック)の一部分に統合される可能性がある。
【0111】
本願において、ビデオ・エンコーダ100は、何らかの情報を、例えばビデオ・デコーダ300へ「シグナリングする」又は「送信する」する他の装置として大まかに言及されてもよい。「シグナリングする」又は「伝送する」という用語は、圧縮されたビデオ・データを復号化するために使用されるシンタックス要素及び/又はその他のデータの転送を大まかに指す可能性がある。伝送は、リアル・タイムで、又はほぼリアル・タイムで生じる可能性がある。代替的に、通信は、一定の時間の後に生じる可能性があり、例えば、符号化されたビットストリーム中のシンタックス要素が、符号化の間に、コンピュータ読み取り可能な記憶媒体中に記憶されたときに発生する可能性があり、その後に、イントラ予測装置は、シンタックス要素が媒体中に記憶された後の任意の時点でシンタックス要素を取り出すことが可能である。
【0112】
ビデオ・エンコーダ100とビデオ・デコーダ300は、高効率ビデオ・コーディング(HEVC)のようなビデオ圧縮規格又はその拡張に従って動作することが可能であり、また、HEVCテスト・モデル(HM)に従うことが可能である。代替的に、ビデオ・エンコーダ100とビデオ・デコーダ300は、他の業界標準、例えばITU-T H.264及びH.265規格、又は規格の拡張に従って動作を実行することが可能である。しかしながら、本願における技術は、何らかの特定の符号化及び復号化規格に限定されない。
【0113】
図5aは、本願における(開示される)技術を実現するように構成されたビデオ・エンコーダ100の一例の概略的/概念的なブロック図である。
図5aの例では、ビデオ・エンコーダ100は、残差計算ユニット204と、変換処理ユニット206と、量子化ユニット208と、逆量子化ユニット210と、逆変換処理ユニット212と、再構成ユニット214と、バッファ216と、ループ・フィルタ・ユニット220と、復号化されたピクチャのバッファ(decoded picture buffer, DPB)230と、予測処理ユニット260と、エントロピー符号化ユニット270とを含む。予測処理ユニット260は、インター予測ユニット244と、イントラ予測ユニット254と、モード選択ユニット262とを含むことが可能である。インター予測ユニット244は、動き推定ユニットと、動き補償ユニット(不図示)とを含むことが可能である。
図5aに示すビデオ・エンコーダ20はまた、ハイブリッド・ビデオ・エンコーダ又はハイブリッド・ビデオ・コーデックに基づくビデオ・エンコーダと言及されてもよい。
【0114】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、エントロピー符号化ユニット270は、エンコーダ100のフォワード信号経路を形成する一方、例えば、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループ・フィルタ220、復号化されたピクチャのバッファ(decoded picture buffer, DPB)230、予測処理ユニット260は、エンコーダのバックワード信号経路を形成し、ビデオ・エンコーダのバックワード信号経路は、デコーダの信号経路に対応する(
図5bのデコーダ300を参照されたい)。
【0115】
エンコーダ100は、例えば入力202、ピクチャ201、又はピクチャ201のブロック203によって、例えばビデオ又はビデオ・シーケンスを形成するピクチャのシーケンスのうちのピクチャを受信する。ピクチャ・ブロック203はまた、現在のピクチャ・ブロック又は符号化されるべきピクチャ・ブロックとも言及され、ピクチャ201は、現在のピクチャ又は符号化されるべきピクチャと言及される(特に、ビデオ・コーディングにおいて、現在のピクチャを他のピクチャから、例えば同じビデオ・シーケンス、即ち現在のピクチャも含むビデオ・シーケンスの以前に符号化された及び/又は復号化されたピクチャから区別するためである)。
【0116】
パーティショニング
【0117】
実施形態において、エンコーダ100は、ピクチャ201を、ブロック203のような複数のブロック203にパーティション化するように構成されたパーティショニング・ユニット(
図5aには示されていない)を含むことが可能である。ピクチャ201は、通常、複数のオーバーラップしないブロックにパーティション化される。パーティショニング・ユニットは、ビデオ・シーケンスの全てのピクチャに対して同一のブロック・サイズと、ブロック・サイズを規定する対応するグリッドとを使用するように、又は、ピクチャ、サブセット、又はピクチャのグループ間でブロック・サイズを変更し、各ピクチャを対応するブロックにパーティション化するように構成されることが可能である。
【0118】
一例では、ビデオ・エンコーダ100の予測処理ユニット260は、上述したパーティショニング技術の任意の組み合わせを実行するように構成されることが可能である。
【0119】
ピクチャ201と同様に、ブロック203のサイズはピクチャ201のサイズよりも小さいが、ブロック203はまた、ルマ値(サンプル値)を有するサンプルの二次元アレイ又はマトリクスであるか、又はそれらとして考えることが可能である。換言すると、ブロック203は、例えば、1つのサンプル・アレイ(例えば、モノクロ・ピクチャ201の場合におけるルマ・アレイ)又は3つのサンプル・アレイ(例えば、カラー・ピクチャ201の場合における1つのルマ・アレイと2つのクロマ・アレイ)、又は適用されるカラー・フォーマットに依存する任意の他の数量及び/又は種類のアレイを含んでもよい。ブロック203の水平及び垂直方向(又は軸)のサンプルの数は、ブロック203のサイズを規定する。
【0120】
図5aに示されるエンコーダ100は、ブロック毎にピクチャ201を符号化し、例えば各ブロック203を符号化及び予測するように構成されている。
【0121】
残差計算
【0122】
残差計算ユニット204は、例えばピクチャ・ブロック203のサンプル値から、予測ブロック265のサンプル値をサンプル毎に(sample by sample)減算することにより、ピクチャ・ブロック203及び予測ブロック265(予測ブロック265についての詳細は以下において更に行われる)に基づいて残差ブロック205を計算し、サンプル・ドメインにおける残差ブロック205を取得するように構成される。
【0123】
変換
【0124】
変換処理ユニット206は、変換ドメインにおいて変換係数207を得るために、残差ブロック205のサンプル値に関して変換、例えば離散コサイン変換(discrete cosine transform, DCT)又は離散サイン変換(discrete sine transform, DST)を適用するように構成される。変換係数207はまた、変換残差係数とも呼ばれ、変換ドメインにおける残差ブロック205を表すことができる。
【0125】
変換処理ユニット206は、HEVC/H.265で指定される変換のような、DCT/DSTの整数近似を適用するように構成されてもよい。直交DCT変換と比較して、そのような整数近似は、典型的には、ある因子によってスケーリングされる。フォワード及びインバース変換を用いることによって処理される残差ブロックのノルムを確保するために、変換プロセスの一部として、付加的なスケーリング因子が適用される。スケーリング因子は、通常、例えばシフト演算のために2の冪乗であるスケーリング因子、変換係数のビット深度、精度と実装コストの間のトレードオフのような何らかの制約に基づいて選択される。例えば、特定のスケーリング因子は、例えばデコーダ30の側における例えば逆変換処理ユニット212による逆変換(及び、エンコーダ20の側における例えば逆変換処理ユニット212による対応する逆変換)に関して指定され、相応して、対応するスケーリング因子が、エンコーダ20の側における例えば変換処理ユニット206によるフォワード変換のために指定される可能性がある。
【0126】
量子化
【0127】
量子化ユニット208は、例えばスカラー量子化やベクトル量子化を適用することによって、変換係数207を量子化し、量子化された変換係数209を取得するように構成される。量子化された変換係数209はまた、量子化された残差係数209とも言及されてもよい。量子化プロセスは、幾つかの又は全ての変換係数207に関連するビット深度を低減することができる。例えば、nビット変換係数は、量子化中にmビット変換係数に丸められる可能性があり、ここで、nはmより大きい。量子化の程度は、量子化パラメータ(quantization parameter, QP)を調整することによって修正されることが可能である。例えば、スカラー量子化のために、異なるスケーリングが、より細かい又はより粗い量子化を達成するために適用されてもよい。より小さな量子化ステップはより細かい量子化に対応し、より大きな量子化ステップはより粗い量子化に対応する。適用可能な量子化ステップ・サイズは、量子化パラメータ(quantization parameter, QP)により指定されてもよい。例えば、量子化パラメータは、適用可能な量子化ステップ・サイズの所定のセットに対するインデックスであってもよい。例えば、より小さな量子化パラメータはより細かい量子化(より小さな量子化ステップ・サイズ)に対応することが可能であり、より大きな量子化パラメータはより粗い量子化(より大きな量子化ステップ・サイズ)に対応することが可能であり、その逆も可能である。量子化は、量子化ステップ・サイズによる除算と、例えば逆量子化ユニット210により実行される対応する量子化又は逆量子化とを含む可能性があり、或いは量子化ステップ・サイズによる乗算を含む可能性がある。例えばHEVCのような幾つかの規格による実施形態は、量子化ステップ・サイズを決定するために量子化パラメータを使用するように構成されてもよい。一般に、量子化ステップ・サイズは、除算を含む式の固定小数点近似を用いることによって、量子化パラメータに基づいて計算されることが可能である。追加的なスケーリング因子が量子化及び量子化解除のために導入され、残差ブロックのノルムであって、量子化ステップ・サイズ及び量子化パラメータに関する式の固定小数点近似で使用されるスケーリングに起因して修正される可能性があるノルム、を復元することが可能である。1つの例示的な実装において、逆変換及び量子化解除のスケーリングは組み合わせられてもよい。代替的に、カスタマイズされた量子化テーブルが使用され、エンコーダからデコーダへ、例えばビットストリームでシグナリングされてもよい。量子化はロスレスでない演算であり、量子化ステップ・サイズが増えるとロスが増える。
【0128】
逆量子化ユニット210は、量子化ユニット208の逆量子化を、量子化された係数に適用して、例えば量子化ユニット208により適用される量子化方式の逆を、量子化ユニット208と同じ量子化ステップに基づいて又はそれを使用して適用することにより、量子化解除された係数211を取得するように構成される。量子化解除された係数211はまた、量子化解除された残差係数211とも呼ばれる可能性があり、変換係数207に対応するが、量子化によるロスに起因して、通常は変換係数に一致しない。
【0129】
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、例えば逆離散コサイン変換(discrete cosine transform, DCT)又は逆離散サイン変換(discrete sine transform, DST)を適用して、サンプル・ドメインにおける逆変換ブロック213を取得するように構成される。逆変換ブロック213はまた、逆変換量子化解除ブロック213又は逆変換残差ブロック213と言及されてもよい。
【0130】
再構成ユニット214(例えば、加算器214)は、予測ブロック265に逆変換ブロック213(即ち、再構成された残差ブロック213)を加算して、例えば再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することにより、サンプル・ドメインにおいて再構成されたブロック215を取得するように構成される。
【0131】
オプションとして、例えばライン・バッファ216のバッファ・ユニット216(又は略称「バッファ」216)は、再構成されたブロック215と例えばイントラ予測のための対応するサンプル値とをバッファリング又は記憶するように構成される。他の実施形態において、エンコーダは、任意の種類の推定及び/又は予測、例えばイントラ予測のために、バッファ・ユニット216に記憶されたフィルタリングされていない再構成されたブロック及び/又は対応するサンプル値を使用するように構成されてもよい。
【0132】
例えば、実施形態において、エンコーダ100は、バッファ・ユニット216が、イントラ予測254のために再構成されたブロック215を記憶するためだけではなく、ループ・フィルタ・ユニット220(
図5aには図示せず)のためにも使用されるように、及び/又は例えばバッファ・ユニット216と復号化されたピクチャのバッファ・ユニット230とが1つのバッファを形成するように、構成されることが可能である。他の実施形態において、フィルタリングされたブロック221及び/又は復号化されたピクチャのバッファ230(ブロック又はサンプルは
図5aに示されていない)からのブロック又はサンプルは、イントラ予測254のための入力又は基礎として使用される。
【0133】
ループ・フィルタ・ユニット220(又は、略称「ループ・フィルタ」220)は、再構成されたブロック215をフィルタリングして、フィルタリングされたブロック221を取得し、サンプル遷移を平滑化し、又はビデオ品質を改善するように構成される。ループ・フィルタ・ユニット220は、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット(sample-adaptive offset, SAO)フィルタ、又は他のフィルタ、例えばバイラテラル・フィルタ、アダプティブ・ループ・フィルタ(adaptive loop filter, ALF)、鮮鋭化又は平滑化フィルタ、又は協調フィルタ、のような1つ以上のループ・フィルタを表現するように意図されている。ループ・フィルタ・ユニット220は、ループ内フィルタとして
図5aに示されているが、他の構成では、ループ・フィルタ・ユニット220は、ポスト・ループ・フィルタとして実装されてもよい。フィルタリングされたブロック221はまた、フィルタリングされた再構成されたブロック221として言及されてもよい。復号化されたピクチャのバッファ230は、ループ・フィルタ・ユニット220が、再構成された符号化されたブロックに対してフィルタリング処理を実行した後に、再構成された符号化されたブロックを記憶することが可能である。
【0134】
実施形態において、エンコーダ100(ループ・フィルタ・ユニット220に対応する)は、(サンプル適応オフセット情報のような)ループ・フィルタ・パラメータを、例えば直接的に又はエントロピー符号化ユニット270若しくは任意の他のエントロピー符号化ユニットにより実行されるエントロピー符号化の後に出力するように構成されることが可能であり、その結果、例えばデコーダ30は同じループ・フィルタ・パラメータを受信して、復号化のために適用することが可能である。
【0135】
復号化されたピクチャのバッファ(decoded picture buffer, DPB)230は、ビデオ・エンコーダ100によるビデオ・データ符号化で使用する参照ピクチャ・データを記憶する参照ピクチャ・メモリであってもよい。DPB230は、(同期DRAM(synchronous DRAM, SDRAM)、磁気抵抗RAM(magnetoresistive RAM, MRAM)、抵抗RAM(resistive RAM, RRAM)を含む)ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory, DRAM)、又は他のタイプのメモリ・デバイスのような、種々のメモリ・デバイスのうちの何れか1つによって形成されることが可能である。DPB230及びバッファ216は、同一のメモリ・デバイス又は別個のメモリ・デバイスによって提供されてもよい。一例では、復号化されたピクチャのバッファ(decoded picture buffer, DPB)230は、フィルタリングされたブロック221を記憶するように構成される。復号化されたピクチャのバッファ230は、更に、同じ現在のピクチャの、又は例えば以前に再構成されたピクチャのような異なるピクチャの、例えば以前に再構成されフィルタリングされたブロック221のような他の以前にフィルタリングされたブロックを記憶するように構成されることが可能であり、完全な以前の再構成された、即ち復号化されたピクチャ(及び対応する参照ブロック及び対応するサンプル)及び/又は例えばインター予測のために部分的に再構成された現在のピクチャ(及び対応する参照ブロック及びサンプル)を提供することが可能である。一例では、再構成されたブロック215が、ループ内フィルタリングなしに再構成される場合に、復号化されたピクチャのバッファ(decoded picture buffer, DPB)230は、再構成されたブロック215を記憶するように構成される。
【0136】
予測処理ユニット260はまた、ブロック予測処理ユニット260とも言及され、ブロック203(現在のピクチャ201の現在のブロック203)及び再構成されたピクチャ・データ、例えばバッファ216からの同じ(現在の)ピクチャの参照サンプル、及び/又は復号化されたピクチャのバッファ230からの1つ以上の以前に復号化されたピクチャからの参照ピクチャ・データ231を受信又は取得し、そのデータを予測のために処理し、即ち、インター予測ブロック245又はイントラ予測ブロック255であり得る予測ブロック265を提供するように構成される。
【0137】
モード選択ユニット262は、残差ブロック205の計算のため、及び再構成されたブロック215の再構成のために、予測ブロック265として使用されるべき予測モード(例えば、イントラ又はインター予測モード)及び/又は対応する予測ブロック245又は255を選択するように構成されることが可能である。
【0138】
実施形態において、モード選択ユニット262は、予測モードを(例えば、予測処理ユニット260によりサポートされる予測モードから)選択するために構成されてもよく、予測モードは、最良の一致又は言い換えれば最小の残差(最小の残差は、伝送又は記憶に対して、より良い圧縮を意味する)を提供する、又は最小のシグナリング・オーバーヘッド(最小のシグナリング・オーバーヘッドは、伝送又は記憶に対する、より良い圧縮を意味する)を提供し、又は両者を考慮する又はバランスをとる。モード選択ユニット262は、レート歪最適化(rate distortion optimization, RDO)に基づいて予測モードを決定するように、即ち、最小レート歪最適化を提供する予測モードを選択する、又は関連するレート歪が少なくとも予測モード選択基準を満たす予測モードを選択するように構成されてもよい。
【0139】
以下、エンコーダ100の一例によって、(例えば、予測処理ユニット260を用いることによって)実行される予測処理と、(例えば、モード選択ユニット262を用いることによって)実行されるモード選択とを、詳細に説明する。
【0140】
上述したように、エンコーダ100は、最良の又は最適な予測モードを、(予め決定された)予測モードのセットの中から決定又は選択するように構成される。予測モードのセットは、例えば、イントラ予測モード及び/又はインター予測モードを含む可能性がある。
【0141】
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えばDC(又は平均)モード及びプレーナ・モードのような非方向モード、又は例えばH.265で規定されているような方向モードを含むことが可能であり、又は、67個の異なるイントラ予測モード、例えばDC(又は平均)モード及びプレーナ・モードのような非方向モード、又は例えば開発中のH.266で規定されるもののような方向モードを含むことが可能である。
【0142】
(可能性のある)イントラ予測モードのセットは、利用可能な参照ピクチャ(即ち、DBP230に記憶されている復号化されたピクチャのうちの少なくとも一部分)及び他のインター予測パラメータに依存し、例えば参照ピクチャの全体が使用されるか又は参照ピクチャの一部分のみが使用されるかどうか、例えば最良に合致する参照ブロックを探索するための現在のブロックの領域周辺のサーチ・ウィンドウ領域に依存し、及び/又は、例えばハーフ・サンプル/クォーター・サンプル補間のようなサンプル補間が適用されるかどうかに依存する。
【0143】
上記の予測モードに加えて、スキップ・モード、及び/又はダイレクト・モードが適用されてもよい。
【0144】
予測処理ユニット260は、更に、ブロック203を、より小さなブロック・パーティション又はサブ・ブロックに、例えば四分木(quad-tree, QT)パーティション化、二分木(binary-tree, BT)パーティション化、三分木(triple-tree, TT)パーティション化、又はそれらの任意の組み合わせを反復的に用いることによって分割し、例えばブロック・パーティション又はサブ・ブロックの各々について予測を実行するように更に構成されることが可能である。モード選択は、パーティション化されたブロック203のツリー構造の選択と、ブロック・パーティション又はサブ・ブロックの各々に適用される予測モードとの選択とを含む。
【0145】
インター予測ユニット244は、動き推定(motion estimation, ME)ユニット(
図5aには示されていない)及び動き補償(motion compensation, MC)ユニット(
図5aには示されていない)を含むことが可能である。動き推定ユニットは、動き推定のために、ピクチャ・ブロック203(現在のピクチャ201の現在のピクチャ・ブロック203)及び復号化されたピクチャ231、又は少なくとも1つ又は複数の以前に再構成されたブロック、例えば他の/異なる以前に復号化されたピクチャ231の1つ以上の再構成されたブロックを受信又は取得するように構成される。例えば、ビデオ・シーケンスは、現在のピクチャと以前に復号化されたピクチャ31とを含む可能性がある。換言すれば、現在のピクチャと以前に復号化されたピクチャ31は、ビデオ・シーケンスを形成するピクチャの一部であってもよいし、又はピクチャのシーケンスを形成してもよい。
【0146】
例えば、エンコーダ100は、複数の他のピクチャの同じピクチャ又は異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ及び/又は参照ブロックの位置(座標X及びY)と現在ブロックの位置との間のオフセット(空間オフセット)とを、インター予測パラメータとして動き推定ユニット(
図5aには示されていない)へ提供するように構成されてもよい。このオフセットも動きベクトル(motion vector, MV)と呼ばれる。
【0147】
動き補償ユニットは、インター予測パラメータを取得して、例えば受信して、インター予測パラメータに基づいて又はそれを用いることによってインター予測を実行して、インター予測ブロック245を取得するように構成される。動き補償ユニットによって実行される動き補償は(
図5aには示されていない)、動き推定によって決定される動き/ブロック・ベクトルに基づいて予測ブロックをフェッチ又は生成すること(可能性として、サブ・サンプル精度で補間を実行することによるもの)を包含することが可能である。補間フィルタリングは、既知のサンプル・ピクセルから追加サンプルのサンプルを生成することが可能であり、従って潜在的に、ピクチャ・ブロックをコーディングするために使用されることが可能な候補予測ブロックの数を増加させる。現在のピクチャ・ブロックのPUに対する動きベクトルを受信すると、動き補償ユニット246は、参照ピクチャ・リストのうちの1つにおいて動きベクトルが指し示す予測ブロックを突き止めることができる。動き補償ユニット246はまた、ビデオ・スライスのピクチャ・ブロックを復号化する際にビデオ・デコーダ300により使用するためのブロック及びビデオ・スライスに関連するシンタックス要素を生成することも可能である。
【0148】
イントラ予測ユニット254は、例えば、ピクチャ・ブロック203(現在のピクチャ・ブロック)と、イントラ推定のための同じピクチャのうちの1つ以上の以前に再構成されたブロック、例えば再構成された隣接ブロックとを取得する、例えば受信するように構成される。エンコーダ100は、例えば、イントラ予測モードを複数の(所定の)イントラ予測モードから選択するように構成されることが可能である。
【0149】
実施形態において、エンコーダ100は、最適化基準に基づいて、例えば最小残差(例えば、イントラ予測モードは現在のピクチャ・ブロック203に最も類似する予測ブロック255を提供する)又は最小レート歪に基づいて、イントラ予測モードを選択するように構成されてもよい。
【0150】
イントラ予測ユニット254は、イントラ予測ブロック255を、例えば選択されたイントラ予測モードにおけるイントラ予測パラメータに基づいて決定するように更に構成されている。何れにせよ、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット254は、イントラ予測パラメータ、即ちブロックの選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット270に提供するように更に構成されている。一例において、イントラ予測ユニット254は、後述するイントラ予測技術の任意の組み合わせを実行するように構成されてもよい。
【0151】
エントロピー符号化ユニット270は、エントロピー符号化アルゴリズム又はスキーム(例えば、可変長コーディング(variable length coding, VLC)スキーム、コンテキスト適応VLC(context adaptive VLC, CAVLC)スキーム、算術コーディング・スキーム、コンテキスト適応バイナリ算術コーディング(context adaptive binary arithmetic coding, CABAC)、シンタックス・ベースのコンテキスト適応バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding, SBAC)、確率区間パーティショニング・エントロピー(probability interval partitioning entropy, PIPE)コーディング、又は他のエントロピー符号化方法又は技術)を、量子化された残差係数209、インター予測パラメータ、イントラ予測パラメータ、及び/又はループ・フィルタ・パラメータに適用し、出力272により出力されることが可能な符号化されたピクチャ・データ21を、例えば符号化されたビットストリーム21の形式で取得するように構成される。符号化されたビットストリームは、ビデオ・デコーダ30に送信されてもよいし、後の送信又はビデオ・デコーダ30による検索のために保存されてもよい。エントロピー符号化ユニット270は、符号化される現在のビデオ・スライスのための他のシンタックス要素をエントロピー符号化するように更に構成されることが可能である。
【0152】
ビデオ・エンコーダ100の他の構造的変形は、ビデオ・ストリームを符号化するために使用されることが可能である。例えば、非変換ベースのエンコーダ20は、幾つかのブロック又はフレームについて、変換処理ユニット206なしに残差信号を量子化することが可能である。別の実装において、エンコーダ100は、量子化ユニット208と逆量子化ユニット210とを単一のユニットに組み合わせることが可能である。
【0153】
図5bは、本発明の実現によるビデオ・デコーダの概略的なブロック図である。ビデオ・デコーダ300のエントロピー・デコーダ303は、ビットストリームを復号化して、量子化された係数及び幾つかのシンタックス要素を生成する。エントロピー・デコーダ303は、シンタックス要素を予測処理ユニット308へ転送する。ビデオ・デコーダ300は、ビデオ・スライス・レベル及び/又はピクチャ・ブロック・レベルでシンタックス要素(複数)/シンタックス要素(単数)を受信することが可能である。本願では、一例において、本願におけるシンタックス要素はクロマ・コーディング・ツリー・ノードに関連するイントラ予測データを含む可能性があり、イントラ予測データは、第1識別子qtbtt_dual_tree_intra_flagと、第2識別子sps_cclm_enabled_flagとを含む可能性があり、第1識別子はビデオ・シーケンス内のイントラ・ピクチャに対して分離ツリー構造が使用されるかどうかを示すために使用され、第2識別子はビデオ・シーケンス内のクロマ・ブロックに対してCCLMが実行されることを許容するかどうかを示すために使用される。オプションとして、インター予測データは、クロマ・コーディング・ツリー・ノードのサイズと分割フラグを更に含む可能性があり、分割フラグは、クロマ・コーディング・ツリー・ノードに対して、異なる分割モードが使用されることを示すために、異なる値に設定される可能性がある。オプションとして、別のシンタックス要素が更に含まれてもよい。
【0154】
エントロピー・デコーダ303は、ビットストリームをエントロピー復号化して、第1識別子qtbtt_dual_tree_intra_flagと第2識別子sps_cclm_enabled_flagを取得する。第1識別子が、イントラ・ピクチャに分離ツリー構造が使用されることを示し、第2識別子が、ビデオ・シーケンス内のクロマ・ブロックでCCLMが実行されることを許容することを示す場合に、エントロピー・デコーダ303は、ビットストリームからのクロマ・コーディング・ツリー・ノードのサイズと分割フラグを分析することに続き、イントラ予測器309は、分割フラグに基づいてクロマ・コーディング・ツリー・ノードの分割モードを決定し、CCLMがクロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する。エントロピー・デコーダ303は、ビットストリームからのクロマ・コーディング・ユニットの第1インデックスCuPreModeを分析する。第1インデックスの値がMODE_INTRAに等しい場合、エントロピー・デコーダ303は、ビットストリームからの第3識別子pcm_flagを分析することに続く。第3識別子が、クロマ・コーディング・ユニットにPCMモードが使用されていないことを示す場合に、エントロピー・デコーダ303は、ビットストリームからの第2インデックスintra_chroma_pred_modeを分析する。イントラ予測子309は、第2インデックスintra_chroma_pred_modeと、クロマ・コーディング・ユニットに対応するルマ・コーディング・ユニットの予測モードとに基づいて、クロマ・コーディング・ユニットの予測モードを決定し、次いで、クロマ・コーディング・ユニットの予測モードに基づいてクロマ・コーディング・ユニットをイントラ予測して、クロマ・コーディング・ユニットの予測サンプルを取得する。エントロピー・デコーダ303は更にビットストリームを分析して、クロマ・コーディング・ユニットの残差情報を取得する。
【0155】
量子化解除器304と逆変換器305は、クロマ・コーディング・ユニットの残差情報を処理して、クロマ・コーディング・ユニットの再構成された残差を取得する。
【0156】
イントラ予測器309がクロマ・コーディング・ユニットに使用される予測サンプルを生成した後に、ビデオ・デコーダ300は、逆変換器305からの再構成された残差とイントラ予測器310によって生成された予測サンプルとを加算して、クロマ・コーディング・ユニットの再構成されたサンプル、即ち、復号化されたピクチャ・ブロックを取得する。加算器311は、加算演算を実行するコンポーネントを表現する。必要な場合には、(復号化ループの中又は後の)ループ・フィルタは、サンプル遷移を平滑化するために、又は別の方法でビデオ品質を改善するために更に使用されることが可能である。フィルタ・ユニット306は、例えばデブロッキング・フィルタ、適応ループ・フィルタ(ALF)、及びサンプル適応オフセット(SAO)フィルタのような、1つ以上のループ・フィルタを表現することができる。フィルタ・ユニット306は、
図5bにおいてループ内フィルタとして示されているが、別の実装では、フィルタ・ユニット306は、ポスト・ループ・フィルタとして実装されてもよい。一例において、フィルタ・ユニット306は、ブロック歪を低減するためにブロック再構成に適用可能であり、この結果は、復号化されたビデオ・ストリームとして出力される。更に、所与のフレーム又はピクチャ内の復号化されたピクチャ・ブロックは、復号化されたピクチャのバッファ307内に更に記憶されることが可能であり、復号化されたピクチャのバッファ307は、後続の動き補償のために使用される参照ピクチャを記憶する。復号化されたピクチャのバッファ307は、メモリの一部であってもよく、ディスプレイ装置(例えば、
図4のディスプレイ装置330)における以後の提示のために復号化されたビデオを更に記憶してもよい。代替的に、復号化されたピクチャのバッファ307は、そのようなメモリから分離されてもよい。
【0157】
ビデオ・デコーダ300の別の構造的な変形が、符号化されたビデオ・ビットストリームを復号化するために使用されてもよいことは、理解されるべきである。例えば、ビデオ・デコーダ300は、フィルタ・ユニット306による処理を伴わずに、出力ビデオ・ストリームを生成することができる。代替的に、幾つかのピクチャ・ブロック又はピクチャ・フレームに関し、ビデオ・デコーダ300のエントロピー・デコーダ303は、復号化を経て量子化された係数を取得せず、相応して量子化解除器304及び逆変成器305による処理は必要とされない。
【0158】
図5cは、例示的な実施形態による、
図4のソース・デバイス10及び宛先デバイス30の何れか又は双方として使用することが可能な装置500の簡略化されたブロック図である。装置500は本願の技術を実装することが可能である。装置500は、複数のコンピューティング・デバイスを含むコンピューティング・システムの形式、又は、例えば携帯電話、タブレット・コンピュータ、ラップトップ・コンピュータ、又はデスクトップ・コンピュータのような単一のコンピューティング・デバイスの形式におけるものであってもよい。
【0159】
装置500のプロセッサ502は、中央処理ユニットであるとすることが可能である。代替的に、プロセッサ502は、任意の他のタイプのデバイス又は複数のデバイスであって、情報を制御又は処理することが可能であり、且つ存在している又は今後開発されるものであってもよい。図示されているように、開示される実装は、プロセッサ502のような単一のプロセッサを用いて実施されることが可能であるが、1つより多いプロセッサを用いることによって、速度及び効率における利点を達成することができる。
【0160】
実装において、装置500のメモリ504は、リード・オンリ・メモリ(Read Only Memory, ROM)デバイス又はランダム・アクセス・メモリ(random access memory, RAM)デバイスであるとすることが可能である。任意の他の適切なタイプのストレージ・デバイスがメモリ504として使用されることが可能である。メモリ504は、バス512を用いることによってプロセッサ502によりアクセスされるコード及びデータ506を含むことが可能である。メモリ504は、更に、オペレーティング・システム508及びアプリケーション・プログラム510を含むことが可能である。アプリケーション・プログラム510は、本明細書で説明される方法をプロセッサ502が実行することを許容する少なくとも1つのプログラムを含む。例えば、アプリケーション・プログラム510は、アプリケーション1ないしNを含むことが可能であり、アプリケーション1ないしNは本明細書で説明される方法を実行するビデオ・コーディング・アプリケーションを更に含む。装置500はまた、セカンダリ・ストレージ514の形式で追加メモリを含むことも可能である。セカンダリ・ストレージ514は、例えば、モバイル・コンピューティング・デバイスとともに使用されるメモリ・カードであってもよい。ビデオ通信セッションは、大量の情報を含む可能性があるので、これらの情報のうちの全部又は一部は、セカンダリ・ストレージ514に記憶され、処理の必要に応じてメモリ504にロードされることが可能である。
【0161】
装置500はまた、ディスプレイ518のような1つ以上の出力デバイスを含むことが可能である。一例では、ディスプレイ518は、タッチ入力を感知するように動作することが可能なタッチ感知素子を、ディスプレイに組み込むタッチ感知ディスプレイであってもよい。ディスプレイ518は、バス512を用いることによりプロセッサ502に結合されることが可能である。ユーザーが装置500をプログラムするか又は他の方法で使用することを許容する他の出力デバイスが、ディスプレイ518に対する追加又は代替として提供されることが可能である。出力デバイスがディスプレイであるか又はそれを含む場合に、ディスプレイは、液晶ディスプレイ(LCD)、陰極線管(CRT)ディスプレイ、プラズマ・ディスプレイ、又は発光ダイオード(LED)ディスプレイ、例えば有機LED(OLED)ディスプレイのような発光ダイオード(LED)ディスプレイによるものを含む様々な方法で実現されることが可能である。
【0162】
装置500はまた、画像感知デバイス520を含むか又はそれに接続されていてもよい。画像感知デバイス520は、例えばカメラ、又は、画像を感知することが可能な任意の他の画像感知デバイス520であって現存する又は今後開発されるものである。画像は、例えば、装置500を動かすユーザーの画像である。画像感知デバイス520は、装置500を動かすユーザーに直接的に対面して配置されてもよい。一例では、画像感知デバイス520の位置及び光軸は、画像感知デバイス520の視野がディスプレイ518に直に隣接する領域を含み、且つディスプレイ518をその領域から見ることができるように、設定されることが可能である。
【0163】
装置500はまた、音響感知デバイス522、例えばマイクロホン、又は現在する又は今後開発される任意の他の音響感知デバイスであって装置500の近辺で音を感知することが可能なもの、を含むか又はそれと通信することが可能である。音響感知デバイス522は、装置500を動かすユーザーに直接的に対面して配置されてもよく、装置500を動かす場合に、ユーザーにより生じた音、例えば声又は他の音を受信するように構成されてもよい。
【0164】
図5cは、装置500のプロセッサ502及びメモリ504を単一ユニットに一体化したものとして描いているが、他の構成が使用されてもよい。プロセッサ502の動作は、ローカル領域又は他のネットワーク内で直接的に結合されるか又は分散されることが可能な複数のマシン(各マシンが1つ以上のプロセッサを有する)に分散されることが可能である。メモリ504は、ネットワーク・ベースのメモリ、又は装置500が動作する複数のマシン内のメモリのような複数のマシンに分散されることが可能である。ここでは、単一のバスとして描かれているが、装置500のバス512は、複数のバスを含むことが可能である。更に、セカンダリ・ストレージ514は、装置500の他のコンポーネントに直接的に結合されることが可能であり、又はネットワークを介してアクセスされることが可能であり、且つメモリ・カードのような単一の集積ユニット又は複数のメモリ・カードのような複数のユニットを含むことが可能である。従って、装置500は広く様々な構成で実装されることが可能である。
【0165】
図5aに示すエンコーダ、
図5bに示すデコーダ、及び
図5cに示す装置は、
図6及び
図7に示す以下の方法の実施形態の一部又は全部を実行することができることに留意すべきである。
【0166】
図6は、本発明の実施形態によるビデオ・シーケンスのイントラ予測方法の概略フローチャートである。
図6に示すように、方法は以下のステップを含む。
【0167】
S601.クロマ・コーディング・ツリーノードのサイズと分割モードを取得する。
【0168】
具体的には、クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するために、ビットストリーム内の対応するシンタックス要素が分析される。クロマ・コーディング・ツリー・ノードの分割モードは、非分割、四分木分割、水平バイナリ分割、水平ターナリー分割、垂直バイナリ分割、垂直ターナリー分割のうちの少なくとも1つを含む可能性がある。確かに、代替的に別の分割モードが存在してもよい。これは本発明で限定されない。
【0169】
本件では、本発明のこの実施形態におけるビデオ・シーケンスのフォーマットは、YUV4:2:0フォーマット、YUV4:2:2フォーマット、又はYUV4:2:4フォーマットであってもよいことに留意すべきである。
【0170】
S602.クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する。
【0171】
クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットは、クロマ・コーディング・ツリー・ノードに対応するピクチャ領域のクロマ・コーディング・ユニットである。クロマ・コーディング・ツリー・ノードが分割されない場合、クロマ・コーディング・ツリー・ノードは、1つのクロマ・コーディング・ユニットを含む。クロマ・コーディング・ツリー・ノードが子ノードに分割される場合、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットは、クロマ・コーディング・ツリー・ノードの全てのコーディング・ツリー・リーフ・ノードに対応するクロマ・コーディング・ユニットである。
【0172】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定するステップは、更に:
M及びNの双方がプリセット閾値T1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップであって、第1プリセット条件は非分割又は四分木分割モードを含み、閾値T1は例えば64又は32である、ステップ;又は
MがT1に等しく且つNがT1/2に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップを含み、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0173】
より具体的には、第1プリセット条件が非分割モード又は四分木分割モードである場合、「クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するとき」は「クロマ・コーディング・ツリー・ノードの分割モードが、非分割モード又は四分木分割モードであるとき」である。第2プリセット条件が非分割モード又は垂直バイナリ分割モードである場合、「クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するとき」は、「クロマ・コーディング・ツリー・ノードの分割モードが非分割モード又は垂直バイナリ分割モードであるとき」である。別の実現可能な実施形態では、第1プリセット条件は、代替的に、非分割、四分木分割モード、又は水平バイナリ分割モードであってもよい。別の実現可能な実施形態では、第2プリセット条件は、代替的に、非分割、垂直バイナリ分割モード、又は水平バイナリ分割モードであってもよい。
【0174】
現在のクロマ・コーディング・ツリー・ノードが分割されていない場合、現在のクロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットのコーディング・モード情報は更に分析され、復号化及び再構築は完了する。そうではない場合、現在のクロマ・コーディング・ツリー・ノードは、現在のクロマ・コーディング・ツリー・ノードの分割モードに基づいて、複数のノードに分割される。
【0175】
本件では、分離ツリー構造がイントラ・ピクチャに使用される場合、T1x(T1/2)であるサイズのクロマ・コーディング・ツリー・ノードは、水平バイナリ分割モードを用いることによって、T1xT1であるサイズのクロマ・コーディング・ツリー・ノードを分割することによってのみ取得することが可能であること;従って、「クロマ・コーディング・ツリー・ノードのサイズがT1×(T1/2)である」ことは、クロマ・コーディング・ツリー・ノードの親ノード(即ち、T1xT1であるサイズのクロマ・コーディング・ツリー・ノード)の分割モードが水平バイナリ分割モードであること、と等価であることに留意すべきである。
【0176】
例えば、クロマ・コーディング・ツリー・ノードのサイズは64x64であると仮定する。
図2の(a)に示すように、64x64であるサイズのクロマ・コーディング・ツリー・ノードのルマ・ブロックが、四分木分割モードを用いることによって分割される場合、クロマ・コーディング・ツリー・ノードの分割モードが四分木分割モードであるならば、即ち、
図2の(d)に示すように、クロマ・コーディング・ツリーノードのクロマ・ブロックに四分木分割モードが使用されるならば、ルマ・ノード0が再構築された後に、CCLMをクロマ・ノード0に対して実行することが可能であり、ルマ・ノード1が再構築された後に、CCLMをクロマ・ノード1に対して実行することが可能である、等々である。別の例として、クロマ・コーディング・ツリー・ノードの分割モードが非分割である場合、即ち、クロマ・コーディング・ツリー・ノードのクロマ・ブロックが非分割である場合、
図2の(e)に示すように、クロマ・ブロックは、4つのサブ領域p0、p1、p2、及びp3に分割される可能性があり、p0、p1、p2、及びp3のイントラ予測は順次完了する。ルマ・ノード0が再構築された後に、CCLMをクロマ領域p0に対して実行することが可能であり、ルマ・ノード1が再構築される前に、CCLMをクロマ領域p1に対して実行することが可能である、等々。
【0177】
64x64であるサイズのクロマ・コーディング・ツリー・ノードのクロマ・ブロックが、先ず、水平バイナリ分割モードを用いることによって分割され、上部の64x32であるサイズのクロマ・ノードが、垂直バイナリ分割モードを用いることによって分割され、下部の64x32であるサイズのクロマ・ノードが分割されない場合、
図2(f)に示すように、ルマ・ノード0が再構築された後にCCLMをクロマ・ノード0に対して実行することが可能であり、ルマ・ノード1が再構築された後にCCLMをクロマ・ノード1に対して実行することが可能であり、ルマ・ノード2が再構築された後にCCLMをクロマ・ノード2の領域p0に対して実行することが可能であり、ルマ・ノード3が再構築された後にCCLMをクロマ・ノード2の領域p1に対して実行することが可能である。従って、64x64であるサイズのクロマ・コーディング・ツリー・ノードのクロマ・ブロックが分割されないか、又は4分木分割モードを用いることによって分割される場合、又は64x32であるサイズのクロマ・コーディング・ツリー・ノードのクロマ・ブロックが分割されないか、又は垂直バイナリ分割モードを用いることによって分割される場合、クロマ・ノードでCCLMを実行するための処理待ち時間は、32x32であるサイズの1ルマ領域の処理時間を超えない。
【0178】
本実施形態では、T1xT1であるサイズのルマ・コーディング・ツリー・ノードによって使用されることが可能な分割モードは、非分割モードと四分木分割モードのみを含むように限定されてもよい。この限定は、Iフレーム・ピクチャの最大バイナリ・ツリー・ノード・サイズ(例えば、VTM5におけるMaxBtSizeY)がT1/2を超えることはできないこと、及び最大ターナリー・ツリー・ノードサイズ(例えば、VTM5におけるMaxTtSizeY)がT1/2を超えることはできないこと、という限定によって実現することができる。
【0179】
更に、T1xT1がサイズであるルマ・コーディング・ユニットであって、クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードに含まれるものに、ISPモードは使用されない。
【0180】
実現可能な実施形態では、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかは、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定される。更に、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかは、クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて更に決定される。
【0181】
実現可能な実施形態において、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定するステップは:
ルマ・コーディング・ツリー・ノードが分割されない場合に、イントラ・サブ・パーティションISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するステップを含み、ルマ・コーディング・ツリー・ノードが分割されないケースは1つのルマ・コーディング・ユニットに対応し;従って、ルマ・コーディング・ツリー・ノードが分割されないケースに対応するルマ・ブロックは、ルマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ユニットのルマ・ブロックである。
【0182】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードは、クロマ・コーディング・ツリーが位置する分離ツリーのルマ・コーディング・ツリーにおいて、T1xT1であるサイズのルマ・コーディング・ツリー・ノードである。例えば、分離ツリーがVVCドラフト5のイントラ・ピクチャに使用される場合、64x64コーディング・ツリー・ノードは、分離ツリーを用いることによって分割され、分離ツリーは、ルマ・コーディング・ツリーとクロマ・コーディング・ツリーを含む。T1が64に設定される場合、クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードは、クロマ・コーディング・ツリーが位置する分離ツリーのルマ・コーディング・ツリーのルート・ノードである。
【0183】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、ルマ・コーディング・ツリー・ノードが分割されない場合に、イントラ・サブ・パーティションISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するステップは:
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件における任意の1つの条件を充足する場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;又は
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、MがT1に等しく、且つNがT1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しない場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップであって、第1プリセット条件は非分割又は四分木分割モードを含む、ステップ;又は
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、MがT1に等しく、且つNがT1/2に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うステップ;又はクロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しない場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップを含み、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0184】
実施形態において、第3プリセット条件は、以下の条件1ないし条件13のうちの1つ又は任意の組み合わせを含み、条件1ないし条件13は以下の通りである:
【0185】
条件1:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、ルマ・コーディング・ツリー・ノードのサイズはT1xT1である(ルマ・コーディング・ツリー・ノードとクロマ・コーディング・ツリー・ノードは同じ分離ツリーに属する、即ち、ルマ・コーディング・ツリー・ノードの左上隅の座標は、クロマ・コーディング・ツリーのルート・ノードの左上隅の座標と同じである)。
【0186】
条件2:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0187】
条件3:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、水平ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、垂直バイナリ分割モード、垂直ターナリー分割モード、又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0188】
条件4:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、水平ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、水平ターナリー分割モード、垂直バイナリ分割モード、垂直ターナリー分割モード又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0189】
条件5:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、水平ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、垂直バイナリ分割モード、垂直ターナリー分割モード、又は水平ターナリー分割モードのうちの1つを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1xT1であり、クロマ・コーディング・ツリー・ノードのサイズはT1x(T1/2)である。
【0190】
条件6:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、垂直ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、水平バイナリ分割モード、水平ターナリー分割モード、又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズとルマ・コーディング・ツリー・ノードのサイズは両方ともT1xT1である。
【0191】
条件7:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、垂直ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、垂直ターナリー分割モード、水平バイナリ分割モード、水平ターナリー分割モード、又は四分木分割モードのうちの1つを用いることによって、子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0192】
条件8:クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、垂直ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは、水平バイナリ分割モード、水平ターナリー分割モード、又は垂直ターナリー分割モードのうちの1つを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズとルマ・ブロックのサイズは両方ともT1xT1であり、クロマ・コーディング・ツリー・ノードのサイズはT1x(T1/2)である。
【0193】
条件9:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、水平バイナリ分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0194】
条件10:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、垂直バイナリ分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0195】
条件11:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、水平ターナリー分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0196】
条件12:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードは、垂直ターナリー分割モードを用いることによって、子ノードに分割され、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0197】
条件13:クロマ・コーディング・ツリーノードに対応するルマ・コーディング・ツリー・ノードに使用される分割モードは、非分割及び四分木分割以外の分割モードであり、ルマ・コーディング・ツリー・ノードのサイズはT1×T1である。
【0198】
クロマ・コーディング・ツリー・ノードに使用される分割モードは非分割及び四分木分割以外の分割モードであることは、ルマ・コーディング・ツリー・ノードに使用される分割モードが四分木分割でも非分割でもないことを意味することに留意すべきである。
【0199】
四分木マルチタイプ・ツリー(quad-tree plus multi-type tree, QT-MTT)構造においては、ノードに許容される分割モードは、最大で、非分割、水平バイナリ分割モード、垂直バイナリ分割モード、水平ターナリー分割モード、垂直ターナリー分割モード、及び四分木分割モードを含むことに本件では留意すべきであり;従って、条件3において、「クロマ・コーディング・ツリー・ノードが、垂直バイナリ分割モード、垂直ターナリー分割モード、又は四分木分割モードのうちの1つを用いることによって、子ノードに分割されること」は、QT-MTT構造では、「クロマ・コーディング・ツリー・ノードに使用される分割モードは、水平バイナリ分割モード、水平ターナリー分割モード、又は非分割ではない」ものとして、等価的に説明することができる。
【0200】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードに使用される分割モードは、非分割及び四分木分割に限定されることを前提として、第3プリセット条件は、条件1ないし9のうちの少なくとも1つを含む。
【0201】
本件では、クロマ・コーディング・ツリー・ノードが子ノードに分割されることは、具体的には、クロマ・コーディング・ツリー・ノードが、水平バイナリ分割モード、垂直バイナリ分割モード、水平ターナリー分割モード、垂直ターナリー分割モード、及び四分木分割モードのうちの1つを用いることによって、子ノードに分割されることを意味することに留意すべきである。
【0202】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0203】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISP予測モードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、ルマ・コーディング・ツリー・ノードのサイズはT1xT1である。
【0204】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0205】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0206】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0207】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割されるか;又はルマ・コーディング・ツリー・ノードの分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0208】
実現可能な実施形態において、第3プリセット条件は条件1ないし13のうちの1つ以上を含む。
【0209】
実現可能な実施形態において、第3プリセット条件は条件1又は条件13を含む。
【0210】
実現可能な実施形態において、第3プリセット条件は条件2又は条件13を含む。
【0211】
実現可能な実施形態において、第3プリセット条件は、条件3と、条件5と、条件6と、条件8と、条件13とを含む。
【0212】
実現可能な実施形態において、第3プリセット条件は、条件4と、条件5と、条件7と、条件8と、条件13とを含む。
【0213】
実現可能な実施形態において、第3プリセット条件は、条件4と、条件5と、条件7と、条件8と、条件9と、条件10と、条件11と、条件12とを含む。
【0214】
可能な実施形態において、T1は64に等しくてもよい。即ち、クロマ・コーディング・ツリー・ノードのサイズがT1xT1である場合、クロマ・コーディング・ツリー・ノードのサイズは実際に64x64である。クロマ・コーディング・ツリー・ノードのサイズがT1x(T1/2)である場合、クロマ・コーディング・ツリー・ノードのサイズは実際に64x32である。ルマ・コーディング・ツリー・ノードのサイズがT1xT1である場合、ルマ・コーディング・ツリーノードのサイズは実際に64x64である。ルマ・コーディング・ツリーのノードのルマ・ブロックのサイズがT1xT1である場合、クロマ・コーディング・ツリー・ノードのサイズは実際に64x64である。
【0215】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定した後に、クロマ・コーディング・ユニットが第3プリセット条件を充足するかどうかが決定され、更に、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかを決定する。
【0216】
S603.クロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかに依存して、クロマ・コーディング・ユニットの予測モードを取得する。
【0217】
クロマ・コーディング・ユニットの予測モードは、ダイレクト・モード、プレーナ・モード(planar mode)、直流モード(DCモード)、角度モード(angular mode)、CCLMモード、パルス・コード変調(pulse-code modulation, PCM)モード、イントラ・ブロック・コピー(IBC)モードのうちの少なくとも1つを含む。
【0218】
具体的には、クロマ・コーディング・ユニットのシンタックス要素CuPredModeはシンタックス・テーブルから分析される。クロマ・コーディング・ユニットのCuPredModeの値がMODE_INTRAに等しい場合、pcm_flagが分析によって取得され、pcm_flagは、クロマ・コーディング・ユニットにPCMモードが使用されるかどうかを示すために使用される。クロマ・コーディング・ユニットにPCMモードが使用されていないことがpcm_flagに基づいて判定された場合には、シンタックス要素intra_chroma_pred_modeが更に分析される。
【0219】
【0220】
【0221】
xCbとxCrはクロマ・コーディング・ユニットの左上隅の座標を表現し(これらは、対応するルマ・サンプルの量を用いることによって表現される)、 cbWidthとcbHeight はそれぞれクロマ・コーディング・ユニットの幅と高さを表現し(これらは、対応するルマ・サンプルの量を用いることによって表現される)、 intra_chroma_pred_mode[xCb][yCb]はクロマ・コーディング・ユニットのイントラ予測モードの数を表現し、 IntraPredModeY[xCb + cbWidth/2][yCb + cbHeight/2]は座標位置(xCb + cbWidth/2, yCb + cbHeight/2)のルマ・イントラ予測モードを表現し、クロマ・コーディング・ユニットのイントラ予測モードIntraPredModeC[xCb][yCb]はテーブル1又はテーブル2を調べることによって取得することができる。
【0222】
S604.クロマ・コーディング・ユニットの予測モードに基づいて、クロマ・コーディング・ユニットでイントラ予測を実行して、クロマ・コーディング・ユニットの予測サンプルを取得する。
【0223】
実現可能な実施形態において、第1識別子qtbtt_dual_tree_intra_flagと第2識別子sps_cclm_enabled_flagはビットストリームから分析される。第1識別子は、イントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、第2識別子はCCLMがビデオ・シーケンス内のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される。例えば、第1識別子の値が第1値(例えば、1又は真)である場合、第1識別子は、ビデオ・シーケンス内のイントラ・ピクチャに対して分離ツリー構造が使用されることを示すために使用され;又は第1識別子の値が第2値(例えば、0又は偽)である場合、第1識別子は、ビデオ・シーケンス内のイントラ・ピクチャに対して分離ツリー構造が使用されないことを示すために使用される。第2識別子の値が第1値(例えば、1又は真)である場合、第2識別子は、ビデオ・シーケンス内のクロマ・ブロックでCCLMが許容されることを示すために使用され;又は、第2識別子の値が第2値(例えば、0又は偽)である場合、第2識別子は、ビデオ・シーケンス内のクロマ・ブロックでCCLMが許容されないことを示すために使用される。
【0224】
第1識別子の値と第2識別子の値の両方が第1値である場合、本発明のイントラ予測方法を用いることによって、クロマ・コーディング・ユニットに対してイントラ予測演算が実行される。
【0225】
本発明のこの実施形態における解決策では、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかは、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定され、これにより、クロマ・コーディング・ユニットでCCLMを実行するための処理待ち時間を低減し、ハードウェア・デコーダのスループットを改善する、ということを知ることができる。
【0226】
図7は、本発明の実施形態による復号化方法の概略フローチャートである。
図7に示すように、本方法は、以下のステップを含む。
【0227】
S701.ビットストリームを分析して、クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得する。
【0228】
具体的には、ビデオ復号化ユニットは、ビットストリームを復号化して、対応するシンタックス要素を取得し、更に、そのシンタックス要素に基づいてクロマ・コーディング・ツリー・ノードのサイズと分割モードを決定する。
【0229】
S702.クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでクロス・コンポーネント線型モデル(CCLM)イントラ予測が実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する。
【0230】
S703.クロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかに依存して、クロマ・コーディング・ユニットの予測モードを決定する。
【0231】
S704.クロマ・コーディング・ユニットの予測モードに基づいてクロマ・コーディング・ユニットを処理し、クロマ・コーディング・ユニットの予測サンプルを取得する。
【0232】
ステップS701ないしS704の具体的な説明については、
図6に示す実施形態のステップS601ないしS604の関連する説明を参照されたい。詳細はここで再度説明しない。
【0233】
S705.クロマ・コーディング・ユニットの再構築された残差を取得し、クロマ・コーディング・ユニットの再構築されたサンプルを、クロマ・コーディング・ユニットの再構築された残差とクロマ・コーディング・ユニットの予測サンプルに基づいて取得する。
【0234】
具体的には、残差情報はコーディングされたブロック・フラグと変換係数を含み、更に、水平変換タイプと垂直変換タイプ(例えば、DCT-2、DCT-7、又はDCT-8)を含んでもよい。
【0235】
具体的には、ビットストリームが分析される。クロマ・コーディング・ユニットの残差情報が分析により取得された場合には、量子化解除処理と逆変換処理がクロマ・コーディング・ユニットの残差情報に関して実行されて、クロマ・コーディング・ユニットの再構築された残差を取得するか;又は、クロマ・コーディング・ユニットの残差情報が分析により取得されなかった場合には、クロマ・コーディング・ユニットの再構築された残差は0であると判定される。残差情報は、コーディングされたブロック・フラグと変換係数を含み、更に、水平変換タイプと垂直変換タイプ(例えば、DCT-2、DCT-7又はDCT-8)を含んでもよい。クロマ・コーディング・ユニットの再構築された残差とクロマ・コーディング・ユニットの予測サンプルが追加され、追加の結果は事前設定値のレンジ内(例えば、0ないし255、又は0ないし1023)にクリッピングされ、クロマ・コーディング・ユニットの再構築されたサンプルを取得する。
【0236】
本発明のこの実施形態における解決策では、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットでCCLMが実行されることを許容するかどうかは、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定され、これにより、クロマ・コーディング・ユニットでCCLMを実行するための処理待ち時間を低減し、ハードウェア・デコーダのスループットを改善し、ビデオ復号化効率を改善する、ということを知ることができる。
【0237】
図8は、本発明の実施形態によるイントラ予測装置の概略構造図である。
図8に示されるように、イントラ予測装置800は:
クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するように構成された取得ユニット801;
CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定し;及び、CCLMがクロマ・コーディング・ユニットで実行されることを許容するかどうかに依存してクロマ・コーディング・ユニットの予測モードを決定するように構成された決定ユニット802;及び
クロマ・コーディング・ユニットの予測サンプルを取得するためにクロマ・コーディング・ユニットの予測モードに基づいてクロマ・コーディング・ユニットを処理するように構成された予測ユニット803を含む。
【0238】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する場合において、決定ユニット802は:
M及びNの双方がプリセット閾値T1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第1プリセット条件は非分割又は四分木分割モードを含む。
【0239】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、CCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する場合において、決定ユニット802は:
MがT1に等しく且つNがT1/2に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又は、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0240】
実現可能な実施形態において、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モードに基づいて決定する場合において、決定ユニット802は:
ルマ・コーディング・ツリー・ノードが分割されない場合に、ISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定するように具体的に構成されている。
【0241】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、ルマ・コーディング・ツリー・ノードが分割されない場合に、ISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する場合において、決定ユニット802は:
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足する場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うか;又は
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、MがT1に等しく、且つNがT1に等しい場合に、クロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又はクロマ・コーディング・ツリー・ノードの分割モードが第1プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第1プリセット条件は非分割又は四分木分割モードを含む。
【0242】
実現可能な実施形態において、クロマ・コーディング・ツリー・ノードのサイズはMxNであり、ルマ・コーディング・ツリー・ノードが分割されない場合に、ISPモードが、対応するルマ・ブロックに使用されることを許容するかどうか、及びCCLMが、クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、クロマ・コーディング・ツリー・ノードのサイズと分割モード、及びクロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードに基づいて決定する場合において、決定ユニット802は:
クロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件における任意の1つの条件を充足する場合に、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うか;又はクロマ・コーディング・ツリー・ノードの分割モードが第3プリセット条件を充足せず、N=T1であり、且つM=T1/2である場合に、クロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足するならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容する決定を行うか;又はクロマ・コーディング・ツリー・ノードの分割モードが第2プリセット条件を充足しないならば、CCLMがクロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、第2プリセット条件は非分割又は垂直バイナリ分割モードを含む。
【0243】
実現可能な実施形態において、第3プリセット条件は、
図6に示される例における条件1、条件2、条件3、条件4、条件5、条件6、条件7、条件8、条件9、条件10、条件11、条件12、及び条件13のうちの1つ以上を含む。
【0244】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0245】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISP予測モードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、ルマ・コーディング・ツリー・ノードのサイズとルマ・ブロックのサイズは両方ともT1xT1である。
【0246】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0247】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割され、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0248】
実現可能な実施形態において、第3プリセット条件は、
図6に示す例における条件1と13を含む。
【0249】
実現可能な実施形態において、第3プリセット条件は、
図6に示す例における条件2と13を含む。
【0250】
実現可能な実施形態において、第3プリセット条件は以下を含む:
【0251】
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分モードは、非分割、四分木分割モード、水平バイナリ分割モード、及び垂直バイナリ分割モードのうちの1つであり、ルマ・コーディング・ツリー・ノードのサイズはT1xT1であるか;又は
クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの分割モードは非分割であり、ISPモードがルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、クロマ・コーディング・ツリー・ノードは子ノードに分割されるか;又は、ルマ・コーディング・ツリー・ノードの分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、クロマ・コーディング・ツリー・ノードのサイズと、ルマ・コーディング・ツリー・ノードのサイズと、ルマ・ブロックのサイズは全てT1xT1である。
【0252】
実現可能な実施形態において、第3プリセット条件は、
図6に示す例における条件3と、条件5と、条件6と、条件8と、条件13とを含む。
【0253】
実現可能な実施形態において、第3プリセット条件は、
図6に示す例における条件4と、条件5と、条件7と、条件8と、条件13とを含む。
【0254】
実現可能な実施形態において、第3プリセット条件は、
図6に示す例における条件3と、条件5と、条件7と、条件8と、条件9と、条件10と、条件11と、条件12とを含む。
【0255】
実現可能な実施形態において、プリセット閾値T1は64に等しい。
【0256】
前述のユニット(取得ユニット801、決定ユニット802、及び予測ユニット803)は、前述の方法の関連するステップを実行するように構成されることに留意すべきである。具体的には、取得ユニット801は、ステップS601及びS701において関連する内容を実行するように構成され、決定ユニット802は、ステップS602、S603、S702、及びS703において関連する内容を実行するように構成され、予測ユニット803は、ステップS604及びS704において関連する内容を実行するように構成される。換言すれば、取得ユニット801は、
図5bにおけるエントロピー・デコーダ303及びイントラ予測器309の関連する機能を実装するように構成され、決定ユニット802及び予測ユニット803は、
図5bにおけるイントラ予測器309の関連する機能を実装するように構成される。
【0257】
本実施形態では、イントラ予測装置800はユニットの形態で提示されている。本件における「ユニット」は、特定用途向け集積回路(application-specific integrated circuit, ASIC)、1つ以上のソフトウェア又はファームウェア・プログラムを実行するプロセッサ及びメモリ、集積論理回路、及び/又は前述の機能を提供することが可能な他のデバイスであってもよい。
【0258】
図9は、本発明の実施形態によるビデオ・シーケンスのイントラ予測装置の概略構造図である。
図9に示すように、イントラ予測装置900は:
第1識別子と第2識別子を取得するためにビットストリームを分析するように構成された復号化ユニット901であって、第1識別子は、ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、第2識別子は、CCLMがビデオ・シーケンス中のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される、復号化ユニット901;及び
第1識別子が、ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されていることを示し、第2識別子が、ビデオ・シーケンス中のクロマ・ブロックでCCLMが実行されることを許容することを示す場合に、
図6におけるビデオ・シーケンスのイントラ予測方法のうちの全部又は一部を実行するように構成された予測ユニット902を含む。
【0259】
上記ユニット(復号化ユニット901及び予測ユニット903)は、上記方法の関連するステップを実行するように構成されることに留意すべきである。換言すれば、復号化ユニット901は、
図5bにおけるエントロピー・デコーダ303の関連する機能を実装するように構成され、予測ユニット902は、
図5bにおけるイントラ予測器309の関連する機能を実装するように構成される。
【0260】
本発明の実施形態は、コンピュータ記憶媒体を更に提供する。コンピュータ記憶媒体はプログラムを記憶することが可能であり;プログラムが実行される場合に、上記の方法の実施形態で説明されるイントラ予測方法のうちの任意の1つのステップのうちの少なくとも一部又は全部が含まれる。
【0261】
本明細書で開示及び説明される様々な例示的な論理ブロック、モジュール、アルゴリズム・ステップを参照して説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現することが可能であることを、当業者は理解することができる。ソフトウェアによって実現される場合、例示的な論理ブロック、モジュール、及びステップに関連して説明された機能は、1つ以上の命令又はコードとしてコンピュータ読み取り可能な媒体に記憶されるか、又はコンピュータ読み取り可能な媒体を介して伝送され、ハードウェア・ベースの処理ユニットによって実行されることが可能である。コンピュータ読み取り可能な媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ読み取り可能な記憶媒体、又は(例えば通信プロトコルに従って)ある場所から他の場所へのコンピュータ・プログラムの伝送を促す任意の媒体を含む通信媒体を含む可能性がある。このように、コンピュータ読み取り可能な媒体は、一般に、(1)非一時的な有形のコンピュータ読み取り可能な記憶媒体、又は(2)信号又は搬送波のような通信媒体に対応する可能性がある。データ記憶媒体は、本願で説明される技術を実施する命令、コード、及び/又はデータ構造を取り出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスされることが可能な任意の利用可能な媒体である可能性がある。コンピュータ・プログラム製品は、コンピュータ読み取り可能な媒体を含む可能性がある。
【0262】
例えば、限定ではないが、このようなコンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、CD-ROM又はその他の光ディスク・ストレージ装置、磁気ディスク・ストレージ装置、又はその他の磁気ストレージ装置、フラッシュ・メモリ、又は任意の他の媒体であって命令又はデータ構造の形式で所望のプログラム・コードを記憶するために使用することが可能であり且つコンピュータによってアクセスされることが可能な媒体を含むことが可能である。また、任意の接続が、コンピュータ読み取り可能な媒体として適宜言及される。例えば、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波のような無線技術により、ウェブサイト、サーバー、又は他のリモート・ソースから、命令が送信される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、DSL、又は赤外線、無線、及びマイクロ波のような無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読み取り可能な記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的な媒体を含まず、非一時的な有形の記憶媒体を実際には意味していることが理解されるはずである。本明細書で使用されているディスク及びdiskは、コンパクト・ディスク(CD)、レーザー・ディスク、光ディスク、デジタル多用途ディスク(DVD)、及びブルーレイ・ディスクを含む。ディスクは、通常、磁気的にデータを再生し、ディスクはレーザーを用いることによって光学的にデータを再生する。上記のアイテムの組み合わせもまた、コンピュータ読み取り可能な媒体の範囲内に含まれるはずである。
【0263】
命令は、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル論理アレイ(FPGA)、又は他の同等な集積回路又は個別論理回路のような1つ以上のプロセッサによって実行されることが可能である。従って、本明細書で使用されるような用語「プロセッサ」は、前述の構造の何れか、又は本明細書で説明される技術を実装するのに適した他の任意の構造であってもよい。更に、幾つかの態様において、本明細書で説明される例示的な論理ブロック、モジュール、及びステップで説明される機能は、符号化及び復号化のために構成される専用ハードウェア及び/又はソフトウェア・モジュール内で提供されてもよいし、又は組み合わせられたコーデックに組み込まれてもよい。また、全ての技術は1つ以上の回路又は論理素子において実装されてもよい。
【0264】
本願における技術は、ワイヤレス・ハンドセット、集積回路(IC)、又は一組のIC(例えば、チップ・セット)を含む様々なデバイス又はデバイスで実現されてもよい。開示される技術を実現するように構成される装置の機能的側面を強調するために、種々のコンポーネント、モジュール、又はユニットが本願で説明されているが、必ずしも異なるハードウェア・ユニットにより実現されることを必要としていない。実際、上述のように、種々のユニットは、コーデック・ハードウェア・ユニット内に、適切なソフトウェア及び/又はファームウェアと共に組み合わされてもよいし、又は(上述した1つ以上のプロセッサを含む)相互運用可能なハードウェア・ユニットによって提供されてもよい。
【0265】
以上の説明は、本願の具体的な実装の例に過ぎず、本願の保護範囲を限定するようには意図されていない。本願に開示される技術的範囲内で、当業者により容易に把握される任意の変形又は置換は、本願の保護範囲内に含まれるものとする。従って、本願の保護範囲は、クレームの保護範囲に従うものとする。
【手続補正書】
【提出日】2023-09-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ・シーケンスのイントラ予測方法であって:
クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するステップ;
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定するステップ;
CCLMが前記クロマ・コーディング・ユニットで実行されることを許容するかどうかに依存して前記クロマ・コーディング・ユニットの予測モードを決定するステップ;及び
前記クロマ・コーディング・ユニットの予測サンプルを取得するために前記クロマ・コーディング・ユニットの前記予測モードに基づいて前記クロマ・コーディング・ユニットを処理するステップ;
を含み、前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定するステップは:
M及びNの双方がプリセット閾値T1に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップであって、前記第1プリセット条件は非分割又は四分木分割モードを含む、ステップ;又は
Mがプリセット閾値T1に等しく且つNがT1/2に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップであって、前記第2プリセット条件は非分割又は垂直バイナリ分割モードを含む、ステップ;
を含む、方法。
【請求項2】
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定するステップは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うステップ;
を含む、請求項1に記載の方法。
【請求項3】
前記第3プリセット条件は:
条件1:前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割され、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;又は
条件2:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードに使用される前記分割モードは、非分割及び四分木分割以外の分割モードであり、前記ルマ・コーディング・ツリー・ノードのサイズはT1xT1であること;
を含む、請求項2に記載の方法。
【請求項4】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISP予測モードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割されること;又は、前記ルマ・コーディング・ツリー・ノードの前記分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;
を含む、請求項2に記載の方法。
【請求項5】
前記プリセット閾値T1は64に等しい、請求項1に記載の方法。
【請求項6】
ビデオ・シーケンスのイントラ予測方法であって:
第1識別子と第2識別子を取得するためにビットストリームを分析するステップであって、前記第1識別子は、前記ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、前記第2識別子は、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記ビデオ・シーケンス中のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される、ステップ;及び
前記第1識別子が、前記ビデオ・シーケンス中の前記イントラ・ピクチャに前記分離ツリー構造が使用されていることを示し、前記第2識別子が、前記ビデオ・シーケンス中の前記クロマ・ブロックでCCLMが実行されることを許容することを示す場合に、請求項1-5のうちの何れか1項に記載の方法を実行するステップ;
を含む、方法。
【請求項7】
ビデオ・シーケンスのイントラ予測装置であって:
クロマ・コーディング・ツリー・ノードのサイズと分割モードを取得するように構成された取得ユニット;
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定し;及び、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容するかどうかに依存して前記クロマ・コーディング・ユニットの予測モードを決定するように構成された決定ユニット;及び
前記クロマ・コーディング・ユニットの予測サンプルを取得するために前記クロマ・コーディング・ユニットの前記予測モードに基づいて前記クロマ・コーディング・ユニットを処理するように構成された予測ユニット;
を含み、前記クロマ・コーディング・ツリー・ノードの前記サイズはMxNであり、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する場合において、
前記決定ユニットは:M及びNの双方がプリセット閾値T1に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第1プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、前記第1プリセット条件は非分割又は四分木分割モードを含むか、又は
前記決定ユニットは:Mがプリセット閾値T1に等しく且つNがT1/2に等しい場合に、前記クロマ・コーディング・ツリー・ノードの前記分割モードが第2プリセット条件を充足しないならば、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されており、前記第2プリセット条件は非分割又は垂直バイナリ分割モードを含む、装置。
【請求項8】
クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記クロマ・コーディング・ツリー・ノードに含まれるクロマ・コーディング・ユニットで実行されることを許容するかどうかを、前記クロマ・コーディング・ツリー・ノードの前記サイズと前記分割モードに基づいて決定する場合において、前記決定ユニットは:
前記クロマ・コーディング・ツリー・ノードの前記分割モードが第3プリセット条件を充足する場合に、CCLMが前記クロマ・コーディング・ユニットで実行されることを許容しない決定を行うように具体的に構成されている、請求項7に記載の装置。
【請求項9】
前記第3プリセット条件は:
条件1:前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割され、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;又は
条件2:前記クロマ・コーディング・ツリー・ノードに対応する前記ルマ・コーディング・ツリー・ノードに使用される前記分割モードは、非分割及び四分木分割以外の分割モードであり、前記ルマ・コーディング・ツリー・ノードのサイズはT1xT1であること;
を含む、請求項8に記載の装置。
【請求項10】
前記第3プリセット条件は:
前記クロマ・コーディング・ツリー・ノードに対応するルマ・コーディング・ツリー・ノードの前記分割モードは非分割であり、ISPモードが前記ルマ・コーディング・ツリー・ノードのルマ・ブロックに使用され、前記クロマ・コーディング・ツリー・ノードは子ノードに分割されること;又は、前記ルマ・コーディング・ツリー・ノードの前記分割モードは、水平バイナリ分割モード及び垂直バイナリ分割モードのうちの1つであり、前記クロマ・コーディング・ツリー・ノードの前記サイズと、前記ルマ・コーディング・ツリー・ノードのサイズと、前記ルマ・ブロックのサイズは全てT1xT1であること;
を含む、請求項8に記載の装置。
【請求項11】
前記プリセット閾値T1は64に等しい、請求項7に記載の装置。
【請求項12】
ビデオ・シーケンスのイントラ予測装置であって:
第1識別子と第2識別子を取得するためにビットストリームを分析するように構成された復号化ユニットであって、前記第1識別子は、前記ビデオ・シーケンス中のイントラ・ピクチャに分離ツリー構造が使用されるかどうかを示すために使用され、前記第2識別子は、クロス・コンポーネント線型モデル(CCLM)イントラ予測が、前記ビデオ・シーケンス中のクロマ・ブロックで実行されることを許容するかどうかを示すために使用される、復号化ユニット;及び
前記第1識別子が、前記ビデオ・シーケンス中の前記イントラ・ピクチャに前記分離ツリー構造が使用されていることを示し、前記第2識別子が、前記ビデオ・シーケンス中の前記クロマ・ブロックでCCLMが実行されることを許容することを示す場合に、請求項1-6のうちの何れか1項に記載の方法を実行するように構成された予測ユニット;
を含む装置。
【外国語明細書】