(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-29
(45)【発行日】2022-09-06
(54)【発明の名称】予測モードおよび符号化ブロックフラグ(CBF)のコンテキスト設計を更に向上する方法および機器
(51)【国際特許分類】
H04N 19/13 20140101AFI20220830BHJP
H04N 19/159 20140101ALI20220830BHJP
H04N 19/176 20140101ALI20220830BHJP
【FI】
H04N19/13
H04N19/159
H04N19/176
(21)【出願番号】P 2020557988
(86)(22)【出願日】2019-11-27
(86)【国際出願番号】 US2019063516
(87)【国際公開番号】W WO2020117583
(87)【国際公開日】2020-06-11
【審査請求日】2020-10-19
(32)【優先日】2018-12-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-04-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】坂東 大五郎
(56)【参考文献】
【文献】国際公開第2017/088810(WO,A1)
【文献】米国特許出願公開第2017/0251213(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデコーダが実行するビデオ復
号の方法であって、前記方法は、
ビデオシーケンスの中の複数の近隣ブロックのうちの少なくとも1つがイントラ予測モードにより
復号される
かを決定するステップと、
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1コンテキストにより現在ブロックの予測モードフラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちの少なくとも1つがイントラ-インター予測モードにより復号されるか否かを決定するステップと、
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ-インター予測モードにより復号されることを決定することに応答して、前記第1コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー復号するステップと、
前記複数の近隣ブロックのうちのどれも前記イントラ予測モードおよび前記イントラ-インター予測モードのいずれによっても復号されないと決定することに応答して、前記第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー復号するステップと、
を含む方法。
【請求項2】
前記現在ブロックの前記予測モードフラグをエントロピー
復号する前記ステップは、前記第1コンテキストおよび前記第2コンテキストによってのみ
復号するステップを含む、請求項1に記載の方法。
【請求項3】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1スキップコンテキストにより前記現在ブロックのスキップフラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2スキップコンテキストにより前記現在ブロックの前記スキップフラグをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項4】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1アフィンコンテキストにより前記現在ブロックのアフィンフラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2アフィンコンテキストにより前記現在ブロックの前記アフィンフラグをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項5】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1サブブロック統合コンテキストにより前記現在ブロックのサブブロック統合フラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2サブブロック統合コンテキストにより前記現在ブロックの前記サブブロック統合フラグをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項6】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1符号化単位(CU)分割コンテキストにより前記現在ブロックのCU分割フラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2CU分割コンテキストにより前記現在ブロックの前記C
U分割フラグをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項7】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1適応動きベクトル解像度(AMVR)コンテキストにより前記現在ブロックのAMVRフラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2AMVRコンテキストにより前記現在ブロックの前記AMVRフラグをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項8】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1イントラ-インター予測モードコンテキストにより前記現在ブロックのイントラ-インターモードフラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2イントラ-インターモードコンテキストにより前記現在ブロックの前記イントラ-インターモードフラグをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項9】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1三角形パーティションモードコンテキストにより前記現在ブロックの三角形パーティションモードフラグをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2三角形パーティションモードコンテキストにより前記現在ブロックの前記三角形パーティションモードフラグをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項10】
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1符号化ブロックフラグ(CBF)コンテキストにより前記現在ブロックのCBFをエントロピー
復号するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2CBFコンテキストにより前記現在ブロックの前記CBFをエントロピー
復号するステップと、
を更に含む請求項1に記載の方法。
【請求項11】
ビデオ復号のための機器であって、前記機器は、
コンピュータプログラムコードを格納するよう構成される少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスして、前記コンピュータプログラムコードに従い動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、ビデオシーケンスの中の複数の近隣ブロックのうちの少なくとも1つがイントラ予測モードにより
復号されるかを決定させるよう構成される第1決定コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1コンテキストにより現在ブロックの予測モードフラグをエントロピー
復号させるよう構成される第1実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないことを決定することに応答して、第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー
復号させる第2実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つがイントラ-インター予測モードにより復号されるか否かを決定させるよう構成される第2決定コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ-インター予測モードにより復号されることを決定することに応答して、前記第1コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー復号させるよう構成される第3実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも前記イントラ予測モードおよび前記イントラ-インター予測モードのいずれによっても復号されないと決定することに応答して、前記第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー復号させるよう構成される第4実行コードと、
を含む、機器。
【請求項12】
前記第1実行コードは、前記プロセッサに、前記現在ブロックの前記予測モードフラグのエントロピー
復号を実行させるよう更に構成され、前記第1コンテキストおよび前記第2コンテキストによってのみ
復号することを含む、請求項
11に記載の機器。
【請求項13】
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1スキップコンテキストにより前記現在ブロックのスキップフラグをエントロピー
復号させるよう構成される第3実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2スキップコンテキストにより前記現在ブロックの前記スキップフラグをエントロピー
復号させるよう構成される第4実行コードと、
を更に含む、請求項
11に記載の機器。
【請求項14】
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1アフィンコンテキストにより前記現在ブロックのアフィンフラグをエントロピー
復号させるよう構成される第3実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2アフィンコンテキストにより前記現在ブロックの前記アフィンフラグをエントロピー
復号させるよう構成される第4実行コードと、
を更に含む、請求項
11に記載の機器。
【請求項15】
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1サブブロック統合コンテキストにより前記現在ブロックのサブブロック統合フラグをエントロピー
復号させるよう構成される第3実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2サブブロック統合コンテキストにより前記現在ブロックの前記サブブロック統合フラグをエントロピー
復号させるよう構成される第4実行コードと、
を更に含む請求項
11に記載の機器。
【請求項16】
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1符号化単位(CU)分割コンテキストにより前記現在ブロックのCU分割フラグをエントロピー
復号させるよう構成される第3実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2CU分割コンテキストにより前記現在ブロックの前記CU分割フラグをエントロピー
復号させるよう構成される第4実行コードと、
を更に含む、請求項
11に記載の機器。
【請求項17】
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより
復号されることを決定することに応答して、第1適応型動きベクトル精度(AMVR)コンテキストにより前記現在ブロックのAMVRフラグをエントロピー
復号させるよう構成される第3実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより
復号されないと決定することに応答して、第2AMVRコンテキストにより前記現在ブロックの前記AMVRフラグをエントロピー
復号させるよう構成される第4実行コードと、
を更に含む、請求項
11に記載の機器。
【請求項18】
デコーダの少なくとも1つのプロセッサに、請求項1~10のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【請求項19】
ビデオエンコーダが実行するビデオ符号化の方法であって、前記方法は、
ビデオシーケンスの中の複数の近隣ブロックのうちの少なくとも1つがイントラ予測モードにより符号化されるかを決定するステップと、
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1コンテキストにより現在ブロックの予測モードフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちの少なくとも1つがイントラ-インター予測モードにより符号化されるか否かを決定するステップと、
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ-インター予測モードにより符号化されることを決定することに応答して、前記第1コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも前記イントラ予測モードおよび前記イントラ-インター予測モードのいずれによっても符号化されないと決定することに応答して、前記第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化するステップと、
を含む方法。
【請求項20】
ビデオ符号化のための機器であって、前記機器は、
コンピュータプログラムコードを格納するよう構成される少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスして、前記コンピュータプログラムコードに従い動作するよう構成される少なくとも1つのプロセッサと、
を含み、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、ビデオシーケンスの中の複数の近隣ブロックのうちの少なくとも1つがイントラ予測モードにより符号化されるかを決定させるよう構成される第1決定コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1コンテキストにより現在ブロックの予測モードフラグをエントロピー符号化させるよう構成される第1実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないことを決定することに応答して、第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化させる第2実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つがイントラ-インター予測モードにより符号化されるか否かを決定させるよう構成される第2決定コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ-インター予測モードにより符号化されることを決定することに応答して、前記第1コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化させるよう構成される第3実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも前記イントラ予測モードおよび前記イントラ-インター予測モードのいずれによっても符号化されないと決定することに応答して、前記第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化させるよう構成される第4実行コードと、
を含む機器。
【請求項21】
エンコーダの少なくとも1つのプロセッサに、請求項19に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、参照により全体がここに組み込まれる、米国特許商標局に、2018年12月7日に出願した米国仮特許出願番号第62/777,041号、および2019年4月24日に出願した米国特許出願番号第16/393,439号、の優先権を主張する。
【0002】
[技術分野]
実施形態と一致する方法および機器は、ビデオ符号化に関連し、特に、予測モードよび符号化ブロックフラグ(coded block flag(CBF))のコンテキスト設計を向上するための方法および機器に関する。
【背景技術】
【0003】
図1Aに、高効率ビデオ符号化(High Efficiency Video Coding(HEVC))で使用されるイントラ予測モードが示される。HEVCには、全部で35個のイントラ予測モードがある。この中で、モード10(101)は水平モードであり、モード26(102)は垂直モードであり、モード2(103)、モード18(104)、モード34(105)は対角モードである。イントラ予測モードは、3つの最も可能なモード(most probable modes(MPMs))および32個の残りのモードによりシグナリングされる。
【0004】
次世代映像符号化(Versatile Video Coding(VVC))に関して、以下に部分的符号化単位シンタックステーブルが示される。フラグpred_mode_flagは、スライスタイプがイントラではなく、スキップモードが選択されず、および1つのコンテキストだけ(例えば、変数pred_mode_flag)がこのフラグを符号化するために使用される場合に、シグナリングされる。部分的符号化単位シンタックステーブルは以下の通りである。
【表1】
【0005】
図1Bを参照すると、VVCには、全部で87個のイントラ予測モードがある。この中で、モード18(106)は水平モードであり、モード50(107)は垂直モードであり、モード2(108)、モード34(109)、モード66(110)は対角モードである。モード-1~-10(111)およびモード67~76(112)は、広角イントラ予測(Wide-Angle Intra Prediction(WAIP))モードである。
【0006】
エンコーダは、イントラ符号化ブロックのクロマ成分について、平面モード(モードインデックス0)、DCモード(モードインデックス1)、水平モード(モードインデックス18)、垂直モード(モードインデックス66)、および対角モード(モードインデックス66)を含む5個のモードの中から最良クロマ予測モードを、および関連するルマ成分について、イントラ予測モードの直接コピー、つまりDMモードを選択する。クロマについて、イントラ予測方向とイントラ予測モード番号との間のマッピングは、以下の表1に示される。
【表2】
【0007】
重複するモードを回避するために、DMモード以外の4個のモードが、関連するルマ成分のイントラ予測モードに従い割り当てられる。クロマ成分のイントラ予測モード番号が4であるとき、ルマ成分のイントラ予測方向は、クロマ成分のイントラ予測サンプル生成のために使用される。クロマ成分のイントラ予測モード番号が4ではなく、ルマ成分のイントラ予測モード番号と同じとき、66のイントラ予測方向が、クロマ成分のイントラ予測サンプル生成のために使用される。
【0008】
多方向(Multi-hypothesis)イントラ-インター予測は、1つのイントラ予測と、1つのマージインデックス(merge indexed)予測、つまりイントラ-インター予測モードとを組み合わせる。マージ符号化単位(coding unit(CU))の中で、マージモードのために1つのフラグがシグナリングされ、フラグがTrueであるとき、イントラ候補リストからイントラモードを選択する。ルマ成分については、イントラ候補リストは、DC、平面、水平、および垂直を含む4個のイントラ予測モードから導出され、イントラ候補リストのサイズはブロック形状に依存して3または4であり得る。CU幅がCU高さの2倍より大きいとき、水平モードはイントラ候補リストから削除され、CU高さがCU幅の2倍より大きいとき、垂直モードがイントラ候補リストから削除される。イントラモードインデックスにより選択された1つのイントラ予測モードと、マージインデックスにより選択された1つのマージインデックス予測とが、加重平均を用いて結合される。クロマ成分については、追加シグナリングを伴わずに、DMが常に適用される。
【0009】
予測を結合するための重みを以下に説明する。DCまたは平面モードが選択される、または符号化ブロック(Coding Block(CB))幅または高さが4より小さいとき、等しい重みが適用される。CB幅または高さが4以上であるCBについては、水平/垂直モードが選択されるとき、1つのCBは、先ず、水平方向/垂直方向に分割されて、4個の等面積の領域になる。各重みセットは、(w_intrai,w_interi)と示され、ここで、iは1~4であり、(w_intra1,w_inter1)=(6,2)、(w_intra2,w_inter2)=(5,3)、(w_intra3,w_inter3)=(3,5)、(w_intra4,w_inter4)=(2,6)であり、対応する領域に適用される。(w_intra1,w_inter1)は参照サンプルに最も近い領域のためであり、(w_intra4,w_inter4)は参照サンプルに最も離れた領域のためである。次に、結合された予測は、2つの重み付けされた予測を加算し、3ビットだけ右へシフトすることにより、計算できる。さらに、予測子(predictor)のイントラ多方向のイントラ予測モードは、それらがイントラ符号化される場合、後続の近隣CBのイントラモード符号化のために保存できる。
【発明の概要】
【0010】
実施形態によると、ビデオ復号または符号化の方法であって、前記方法は、
ビデオシーケンスの中の複数の近隣ブロックのうちの少なくとも1つがイントラ予測モードにより符号化されるか否かを決定するステップと、
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1コンテキストにより現在ブロックの予測モードフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化するステップと、
を含む方法がある。
【0011】
実施形態によると、ビデオ符号化、復号、またはエンコーディングのための機器であって、前記機器は、コンピュータプログラムコードを記憶する少なくとも1つのメモリと、前記少なくとも1つのメモリにアクセスして前記コンピュータプログラムコードに従い動作するよう構成される少なくとも1つのプロセッサと、を含む、機器がある。前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、ビデオシーケンスの中の複数の近隣ブロックのうちの少なくとも1つがイントラ予測モードにより符号化されるか否かを決定させるよう構成される第1決定コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されると決定することに応答して、第1コンテキストにより現在ブロックの予測モードフラグをエントロピー符号化させるよう構成される実行コードと、
前記少なくとも1つのプロセッサに、前記複数の近隣ブロックのうちのどれも前記イントラ予測モードにより符号化されないと決定することに応答して、第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化させるよう構成される第2実行コードと、を含む。
【0012】
実施形態によると、命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサに、
ビデオシーケンスの中の複数の近隣ブロックのうちの少なくとも1つがイントラ予測モードにより符号化されるか否かを決定させ、
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1コンテキストにより現在ブロックの予測モードフラグをエントロピー符号化させ、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化させる、
非一時的コンピュータ可読記憶媒体がある。
【0013】
実施形態によると、前記現在ブロックの前記予測モードフラグをエントロピー符号化する前記ステップは、前記第1コンテキストおよび前記第2コンテキストによってのみ符号化するステップを含む。
【0014】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つがイントラ-インター予測モードにより符号化されるか否かを決定するステップと、
前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ-インター予測モードにより符号化されることを決定することに応答して、前記第1コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも前記イントラ予測モードおよび前記イントラ-インター予測モードのいずれによっても符号化されないと決定することに応答して、前記第2コンテキストにより前記現在ブロックの前記予測モードフラグをエントロピー符号化するステップと、
を更に含む。
【0015】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1スキップコンテキストにより前記現在ブロックのスキップフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2スキップコンテキストにより前記現在ブロックの前記スキップフラグをエントロピー符号化するステップと、がある。
【0016】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1アフィンコンテキストにより前記現在ブロックのアフィンフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2アフィンコンテキストにより前記現在ブロックの前記アフィンフラグをエントロピー符号化するステップと、がある。
【0017】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1サブブロック統合コンテキストにより前記現在ブロックのサブブロック統合フラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2サブブロック統合コンテキストにより前記現在ブロックの前記サブブロック統合フラグをエントロピー符号化するステップと、がある。
【0018】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1符号化単位(CU)分割コンテキストにより前記現在ブロックのCU分割フラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2CU分割コンテキストにより前記現在ブロックの前記CU」分割フラグをエントロピー符号化するステップと、がある。
【0019】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1適応動きベクトル解像度(AMVR)コンテキストにより前記現在ブロックのAMVRフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2AMVRコンテキストにより前記現在ブロックの前記AMVRフラグをエントロピー符号化するステップと、がある。
【0020】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1イントラ-インター予測モードコンテキストにより前記現在ブロックのイントラ-インターモードフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2イントラ-インターモードコンテキストにより前記現在ブロックの前記イントラ-インターモードフラグをエントロピー符号化するステップと、がある。
【0021】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1三角形パーティションモードコンテキストにより前記現在ブロックの三角形パーティションモードフラグをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2三角形パーティションモードコンテキストにより前記現在ブロックの前記三角形パーティションモードフラグをエントロピー符号化するステップと、がある。
【0022】
実施形態によると、前記複数の近隣ブロックのうちの少なくとも1つが前記イントラ予測モードにより符号化されることを決定することに応答して、第1符号化ブロックフラグ(CBF)コンテキストにより前記現在ブロックのCBFをエントロピー符号化するステップと、
前記複数の近隣ブロックのうちのどれも少なくとも前記イントラ予測モードにより符号化されないと決定することに応答して、第2CBFコンテキストにより前記現在ブロックの前記CBFをエントロピー符号化するステップと、がある。
【図面の簡単な説明】
【0023】
【
図1A】HEVCにおけるイントラ予測モードの図である。
【0024】
【
図1B】VVCにおけるイントラ予測モードの図である。
【0025】
【
図2】一実施形態による通信システムの簡略ブロック図である。
【0026】
【
図3】一実施形態による、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置の図である。
【0027】
【
図4】一実施形態によるビデオデコーダの機能ブロック図である。
【0028】
【
図5】一実施形態によるビデオエンコーダの機能ブロック図である。
【0029】
【
図6】一実施形態による、現在ブロックおよび現在ブロックの近隣ブロックの図である。
【0030】
【
図7】一実施形態による、ビデオシーケンスの復号または符号化のためにイントラ-インター予測を制御する方法を示すフローチャートである。
【0031】
【
図8】一実施形態による、ビデオシーケンスの復号または符号化のためにイントラ-インター予測を制御する機器の簡略ブロック図である。
【0032】
【
図9】実施形態を実装するために適するコンピュータシステムの図である。
【0033】
【
図10】一実施形態による、ビデオシーケンスの復号または符号化を制御する方法を示すフローチャートである。
【0034】
【
図11】一実施形態による、ビデオシーケンスの復号または符号化を制御する方法を示すフローチャートである。
【発明を実施するための形態】
【0035】
図2は、一実施形態による通信システム200の簡略ブロック図である。通信システム200は、ネットワーク250を介して相互接続される少なくとも2つの端末210~220を含んでよい。データの一方向送信では、第1端末210は、ネットワーク250を介して他の端末220へ送信するために、ビデオデータをローカルで符号化して第2端末220は、ネットワーク250から他の端末の符号化ビデオデータを受信し、符号化データを復号して、復元したビデオデータを表示してよい。単方向データ伝送は、メディアサービングアプリケーション等で共通であってよい。
【0036】
図2は、例えばビデオ会議中に生じ得る、符号化ビデオの双方向送信をサポートするために適用される第2の端末ペア(230、240)を示す。データの双方向送信では、各端末220、240は、ネットワーク250を介して他の端末へ送信するために、ローカルでキャプチャしたビデオデータを符号化してよい。各端末230、240は、また、他の端末により送信された符号化ビデオデータを受信してよく、符号化データを復号してよく、および復元したビデオデータをローカルディスプレイ装置で表示してよい。
【0037】
図2では、端末装置210~240は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示されてよいが、実施形態の原理はこれらに限定されない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、および/または専用ビデオ会議設備による適用がある。ネットワーク250は、端末装置210~240の間で符号化ビデオデータを運ぶ任意の数のネットワークを表し、例えば有線および/または無線通信ネットワークを含む。通信ネットワーク250は、回線切り替えおよび/またはパケット切り替えチャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、および/またはインターネットを含む。本発明の議論の目的で、ネットワーク250のアーキテクチャおよびトポロジは、以下で特に断りの無い限り、実施形態の動作にとって重要でないことがある。
【0038】
図3は、一実施形態による、ストリーミング環境300におけるビデオエンコーダおよびビデオデコーダの配置の図である。開示の主題は、例えばビデオ会議、デジタルTV、CD、DVD、メモリスティック、等を含むデジタル媒体への圧縮ビデオの格納、他のビデオ可能アプリケーション、等に等しく適用可能である。
【0039】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム302を生成するビデオソース301、例えばデジタルカメラを含み得るキャプチャサブシステム313を含んでよい。サンプルストリーム302は、符号化ビデオビットストリームと比べるとき高データ容量を強調するために太線で示され、カメラ301に結合されるエンコーダ303により処理できる。エンコーダ303は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にしまたは実装することができる。符号化ビデオビットストリーム304は、サンプルストリームと比べたとき、低データ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバ305に格納できる。1つ以上のストリーミングクライアント306、308は、ストリーミングサーバ305にアクセスして、符号化ビデオビットストリーム304のコピー307、309を読み出すことができる。クライアント306は、ビデオデコーダ310を含むことができる。ビデオデコーダ310は、符号化ビットストリーム307の入来するコピーを復号し、ディスプレイ312または他のレンダリング装置(図示しない)においてレンダリング可能な出力ビデオサンプルストリーム311を生成する。幾つかのストリーミングシステムでは、ビデオビットストリーム304、307、309は、特定のビデオ符号化/圧縮標準に従い符号化できる。これらの標準の例は、ITU-T Recommendation H.265を含む。ビデオ符号化標準VVCは開発中である。開示の主題は、VVCの文脈で使用されてよい。
【0040】
図4は、一実施形態によるビデオデコーダ310の機能ブロック
図400である。
【0041】
受信機410は、ビデオデコーダ310により符号化されるべき1つ以上の符号化ビデオシーケンス、同じまたは別の実施形態では、一度に1つの符号化ビデオシーケンスを受信してよい。ここで、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスと独立している。符号化ビデオシーケンスは、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル412から受信されてよい。受信機410は、他のデータ、例えば、それぞれの使用エンティティ(図示しない)へと転送され得る符号化音声データおよび/または付随的データストリームと共に、符号化ビデオデータを受信してよい。受信機410は、他のデータから符号化ビデオシーケンスを分離してよい。ネットワークジッタを除去するために、バッファメモリ415は、受信機410とエントロピーデコーダ/パーサ420(以後、「パーサ420」)との間に結合されてよい。受信機410が、十分な帯域幅の記憶/転送装置から制御可能に、またはアイソクロナス(isochronous)ネットワークから、データを受信しているとき、バッファ415は、必要なくてよくまたは小さくできる。インターネットのようなベストエフォート型パケットネットワークで使用する場合、バッファ415が必要であってよく、比較的大きくすることができ、有利なことに適応サイズにすることができる。
【0042】
ビデオデコーダ310は、符号化ビデオシーケンスからシンボル421を再構成するために、パーサ420を含んでよい。これらのシンボルのカテゴリは、ビデオデコーダ310の動作を管理するために使用される情報、および場合によっては
図4に示したようにデコーダの統合部分ではないがデコーダに結合され得るディスプレイ312のようなレンダリング装置を制御するための情報を含む。レンダリング装置のための制御情報は、SEI(Supplementary Enhancement Information)メッセージまたはVUI(Video Usability Information)パラメータセットフラグメント(図示しない)の形式であってよい。パーサ420は、受信された符号
化ビデオシーケンスをパース/エントロピー復号してよい。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または標準に従うことができ、可変長符号化、ハフマン符号化、コンテキスト依存性を有するまたは有しない算術符号化、等を含む、当業者によく知られた原理に従うことができる。パーサ420は、符号化ビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(Coding Units:CU)、ブロック、変換ユニット(Transform Units:TU)、予測ユニット(Prediction Units:PU)、等を含み得る。エントロピーデコーダ/パーサは、符号化ビデオシーケンスから、変換係数、量子化パラメータ(quantizer parameter(QP))値、動きベクトル、等のような情報も抽出してよい。
【0043】
パーサ420は、バッファ415から受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル421を生成してよい。パーサ420は、符号化データを受信し、および特定のシンボル421を選択的に復号してよい。さらに、パーサ420は、特定のシンボル421が動き補償予測ユニット453、スケーラ/逆変換ユニット451、イントラ予測ユニット452、またはループフィルタユニット454に提供されるべきか否かを決定してよい。
【0044】
シンボル421の再構成は、符号化ビデオピクチャまたはその部分の種類(例えば、インターおよびイントラピクチャ、インターおよびイントラブロック)および他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、パーサ420により符号化ビデオシーケンスからパースされたサブグループ制御情報により制御できる。パーサ420と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0045】
既に言及した機能ブロックを超えて、デコーダ310は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0046】
第1ユニットは、スケーラ/逆変換ユニット451である。スケーラ/逆変換ユニット451は、量子化された変換係数、および、どの変換が使用されるべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ420からのシンボル421として受信する。スケーラ/逆変換ユニット451は、アグリゲータ455に入力され得るサンプル値を含むブロックを出力できる。
【0047】
幾つかの例では、スケーラ/逆変換ユニット451の出力サンプルは、イントラ符号化ブロック、つまり、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロック、に属することができる。このような予測情報は、イントラピクチャ予測ユニット452により提供できる。幾つかの場合には、イントラピクチャ予測ユニット452は、再構成中のブロックと同じサイズおよび形状のブロックを、現在(部分的に再構成された)ピクチャ456からフェッチした周囲の既に再構成された情報を用いて、生成する。アグリゲータ455は、幾つかの場合には、サンプル毎に、イントラ予測ユニット452の生成した予測情報を、スケーラ/逆変換ユニット451により提供された出力サンプル情報に追加する。
【0048】
他の場合には、スケーラ/逆変換ユニット451の出力サンプルは、インター符号化された、場合によっては動き補償されたブロックに関連し得る。このような場合には、動き補償予測ユニット453は、参照ピクチャメモリ457にアクセスして、予測のために使用されるサンプルをフェッチできる。ブロックに関連するシンボル421に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ455により、出力サンプル情報を生成するために、スケーラ/逆変換ユニットの出力に追加され得る(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニットが予測サンプルをフェッチする参照ピクチャメモリ内のアドレスは、例えばX、Yおよび参照ピクチャコンポーネントを有し得るシンボル421の形式で、動き補償予測ユニットの利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリからフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等も含み得る。
【0049】
アグリゲータ455の出力サンプルは、ループフィルタユニット454において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術は、符号化ビデオビットストリームに含まれ且つパーサ420からのシンボル421としてループフィルタユニット454に利用可能にされたパラメータにより制御されるが、符号化ピクチャまたは符号化ビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報にも応答し、前に再構成されループフィルタリングされたサンプル値にも応答し得るインループフィルタ技術を含み得る。
【0050】
ループフィルタユニット454の出力は、レンダー装置312へと出力できおよび将来のインターピクチャ予測で使用するために参照ピクチャメモリ456に格納され得るサンプルストリームであり得る。
【0051】
特定の符号化ピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。符号化ピクチャが完全に再構成され、符号化ピクチャが(例えばパーサ420により)参照ピクチャとして識別されると、現在参照ピクチャ456は、参照ピクチャメモリ457の一部になることができ、後続の符号化ピクチャの再構成を開始する前に、新鮮な現在ピクチャメモリを再割り当てできる。
【0052】
ビデオデコーダ310は、ITU-T Rec. H.265のような標準で策定された所定のビデオ圧縮技術に従い復号動作を実行してよい。符号化ビデオシーケンスが、ビデオ圧縮技術または標準で、具体的にはその中のプロファイル文書で指定された、ビデオ圧縮技術または標準のシンタックスに従うという意味で、符号化ビデオシーケンスは、使用中のビデオ圧縮技術または標準により指定されたシンタックスに従ってよい。また、遵守のために必要なことは、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様および符号化ビデオシーケンスの中でシグナリングされるHDRバッファ管理のためのメタデータを通じて更に制限され得る。
【0053】
一実施形態では、受信機410は、符号化ビデオと共に追加(冗長)データを受信してよい。追加データは、符号化ビデオシーケンスの部分として含まれてよい。追加データは、データを正しく復号するためおよび/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(310)により使用されてよい。追加データは、例えば、時間的、空間的、または信号雑音比(SNR)の拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、等の形式であり得る。
【0054】
図5は、一実施形態によるビデオエンコーダ303の機能ブロック
図500である。
【0055】
エンコーダ303は、ビデオサンプルを、エンコーダ303により符号化されるべきビデオ画像をキャプチャし得るビデオソース301(エンコーダの部分ではない)から受信してよい。
【0056】
ビデオソース301は、エンコーダ303により符号化されるべきソースビデオシーケンスを、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB, RGB,...)、および任意の適切なサンプリング構造(例えば、YCrCb4:2:0, YCrCb4:4:4)のデジタルビデオサンプルストリームの形式で、提供してよい。メディア提供システムでは、ビデオソース(301)は、前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムでは、ビデオソース(301)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、続けて閲覧されると動きを与える複数の個別ピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間的配列として組織化されてよい。各ピクセルは、使用中のサンプリング構造、色空間、等に依存して、1つ以上のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を直ちに理解できる。以下の説明はサンプルに焦点を当てる。
【0057】
一実施形態によると、エンコーダ303は、ソースビデオシーケンスのピクチャを、符号化ビデオシーケンス543へと、リアルタイムにまたはアプリケーションにより要求される任意の他の時間制約の下で符号化し圧縮してよい。適切な符号化速度の実施は、制御部550の1つの機能である。制御部は、後述するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。当業者は、特定のシステム設計のために最適化されたビデオエンコーダ303に関連し得るとき、制御部550の他の機能を直ちに識別できる。
【0058】
幾つかのビデオエンコーダは、当業者が「符号化ループ」として直ちに認識する中で動作する。非常に簡略化した説明として、符号化ループは、エンコーダ530(以後、「ソースコーダ」)(符号化されるべき入力ピクチャと参照ピクチャとに基づき、シンボルを生成する)およびエンコーダ303内に組み込まれ、シンボルを再構成して、(シンボルと符号化ビデオビットストリームとの間の任意の圧縮が開示の主題において考慮されるビデオ圧縮技術の中で無損失であるとき)(リモート)デコーダが生成し得るサンプルデータを生成する(ローカル)デコーダ533の符号化部分を含むことができる。再構成されたサンプルストリームは、参照ピクチャメモリ534に入力される。シンボルストリームの復号が、デコーダ位置(ローカルまたはリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャバッファの内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(および、例えばチャネルエラーのために同期性が維持できない場合には、結果として生じるドリフト)は、当業者によく知られている。
【0059】
「ローカル」デコーダ533の動作は、
図4と関連して以上に詳述した「リモート」デコーダ310のものと同じであり得る。簡単に
図4も参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ545およびパーサ420による符号化ビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、チャネル412、受信機410、バッファ415、およびパーサ420を含むデコーダ310のエントロピー復号部分は、ローカルデコーダ533に完全に実装されなくてよい。
【0060】
この点で行われる考察は、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術も、対応するエンコーダ内と実質的に同一の機能形式で存在する必要があるということである。エンコーダ技術の説明は、それらが包括的に説明されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0061】
動作中、幾つかの例では、ソースコーダ530は、動き補償された予測符号化を実行してよい。これは、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の前に符号化されたフレームを参照して予測的に入力フレームを符号化する。この方法では、符号化エンジン532は、入力フレームのピクセルブロックと、入力フレームに対する予測基準として選択されてよい参照フレームのピクセルブロックとの間の差分を符号化する。
【0062】
ローカルビデオデコーダ533は、ソースコーダ530により生成されたシンボルに基づき、参照フレームとして指定されてよいフレームの符号化ビデオデータを復号してよい。符号化エンジン532の動作は、有利なことに、損失処理であってよい。符号化ビデオデータがビデオデコーダ(
図4に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ533は、参照フレームに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャキャッシュ534に格納されるべき再構成参照フレームを生じ得る。このように、エンコーダ303は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照フレームと共通の内容を有する再構成参照フレームのコピーをローカルに格納してよい。
【0063】
予測器535は、符号化エンジン532のために予測探索を実行してよい。つまり、符号化されるべき新しいフレームについて、予測器535は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータまたは参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ534を検索してよい。予測器(535)は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器535により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ534に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0064】
制御部550は、例えば、ビデオデータの符号化のために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ530の符号化動作を管理してよい。
【0065】
全ての前述の機能ユニットの出力は、エントロピーコーダ545におけるエントロピー符号化を受けてよい。エントロピーコーダ545は、ハフマン符号化、可変長符号化、算術符号化、等のような当業者によく知られた技術に従いシンボルを無損失圧縮することにより、種々の機能ユニットにより生成されたシンボルを、符号化ビデオシーケンスへと変換する。
【0066】
送信機540は、符号化ビデオデータを格納し得る記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル560を介する伝送のために準備するために、エントロピーコーダ545により生成された符号化ビデオシーケンスをバッファリングしてよい。送信機540は、ビデオコーダ530からの符号化ビデオデータを、送信されるべき他のデータ、例えば符号化音声データおよび/または補助データストリーム(図示されないソース)と融合(merge)してよい。
【0067】
制御部550は、エンコーダ303の動作を管理してよい。符号化中、制御部550は、それぞれのピクチャに適用され得る符号化技術に影響し得る特定の符号化ピクチャタイプを、各符号化ピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0068】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずに符号化および復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、およびそれらの個々の適用および特徴を認識する。
【0069】
予測ピクチャ(Pピクチャ)は、殆どの場合、各ブロックのサンプル値を予測するために1つの動きベクトルおよび参照インデックスを用いてイントラ予測またはインター予測を用いて符号化および復号され得るピクチャであってよい。
【0070】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを用いてイントラ予測またはインター予測を用いて符号化および復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャおよび関連付けられたメタデータを使用できる。
【0071】
ソースピクチャは、共通に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎に符号化されてよい。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てにより決定される他の(既に符号化された)ブロックへの参照により予測的に符号化されてよい。例えば、Iピクチャのブロックは、非予測的に符号化されてよく、またはそれらは同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてよい(空間予測またはイントラ予測)。Pピクチャのピクセルブロックは、1つの前に符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して、予測的に符号化されてよい。Bピクチャのブロックは、1つまたは2つの前に符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して、非予測的に符号化されてよい。
【0072】
ビデオデコーダ303は、ITU-T Rec. H.265のような所定のビデオ符号化技術または標準に従い符号化動作を実行してよい。その動作において、ビデオコーダ303は、入力ビデオシーケンスの中の時間的および空間的冗長性を利用する予測符号化動作を含む種々の圧縮動作を実行してよい。符号化ビデオデータは、したがって、使用されているビデオ符号化技術または標準により指定されたシンタックスに従ってよい。
【0073】
一実施形態では、送信機540は、符号化ビデオと共に追加データを送信してよい。ビデオコーダ530は、このようなデータを符号化ビデオシーケンスの部分として含んでよい。追加データは、時間/空間/SNR拡張レイヤ、冗長ピクチャおよびスライスのような他の形式の冗長データ、SEI(Supplementary Enhancement Information)メッセージ、VUI(Visual Usability Information)パラメータセットフラグメント、等を含んでよい。
【0074】
関連技術では、ブロックがイントラまたはインター予測されるかを示すフラグpred_mode_flagについて、1つのコンテキストだけが使用され、近隣ブロックに適用されるフラグの値は使用されない。さらに、近隣ブロックがイントラ-インター予測モードにより符号化されるとき、それは、イントラおよびインター予測モードの混合を使用して予測され、したがって、フラグpred_mode_flagをシグナリングするコンテキスト設計について、近隣ブロックがイントラ-インター予測モードを用いて符号化されるか否かを考慮することは、より効率的であり得る。
【0075】
ここで説明する実施形態は、別個にまたは任意の順序で結合されて使用され得る。以下の記載では、フラグpred_mode_flagは、現在ブロックがイントラまたはインター符号化されるかを示す。
【0076】
図6は、一実施形態による、現在ブロックおよび現在ブロックの近隣ブロックの
図600である。
【0077】
図6を参照すると、現在ブロック610は、現在ブロック610の上の近隣ブロック620および左の近隣ブロック630と一緒に示される。上の近隣ブロック620および左の近隣ブロック630の各々は、幅4および高さ4を有してよい。
【0078】
実施形態では、近隣ブロック(例えば、上の近隣ブロック620および左の近隣ブロック630)がイントラ予測モード、インター予測モード、またはイントラ-インター予測モードにより符号化されるという情報は、現在ブロック(例えば現在ブロック610)のフラグpred_mode_flagをエントロピー符号化するために使用されるコンテキスト値を導出するために使用される。詳細には、近隣ブロックがイントラ-インター予測モードにより符号化されるとき、関連するイントラ予測モードは、現在ブロックのイントラモード符号化および/またはMPM導出のために使用されるが、近隣ブロックは、現在ブロックのフラグpred_mode_flagをエントロピー符号化するためのコンテキスト値を導出するとき、近隣ブロックのためにイントラ予測が使用されても、インター符号化ブロックと考えられる。
【0079】
一例では、イントラ-インター予測モードの関連するイントラ予測モードは、常に平面である。
【0080】
別の例では、イントラ-インター予測モードの関連するイントラ予測モードは、常にDCである。
【0081】
さらに別の例では、関連するイントラ予測モードは、イントラ-インター予測モードにおいて適用されるイントラ予測モードに揃えられる。
【0082】
一実施形態では、近隣ブロック(例えば、上の近隣ブロック620および左の近隣ブロック630)がイントラ-インター予測モードにより符号化されるとき、関連するイントラ予測モードは、現在ブロック(例えば、現在ブロック610)のイントラモード符号化および/またはMPM導出のために使用されるが、近隣ブロックも、現在ブロックのフラグpred_mode_flagをエントロピー符号化するためのコンテキスト値を導出するとき、イントラ符号化ブロックと考えられる。
【0083】
一例では、イントラ-インター予測モードの関連するイントラ予測モードは、常に平面である。
【0084】
別の例では、イントラ-インター予測モードの関連するイントラ予測モードは、常にDCである。
【0085】
さらに別の例では、関連するイントラ予測モードは、イントラ-インター予測モードにおいて適用されるイントラ予測モードに揃えられる。
【0086】
一実施形態では、コンテキストインデックスまたは値は、近隣ブロックがイントラ予測モード、インター予測モード、およびインター-イントラ予測モードにより符号化されるとき、それぞれ2、0、1だけインクリメントされる。
【0087】
別の実施形態では、コンテキストインデックスまたは値は、近隣ブロックがイントラ予測モード、インター予測モード、およびインター-イントラ予測モードにより符号化されるとき、それぞれ1、0、0.5だけインクリメントされ、最終的なコンテキストインデックスは最も近い整数に丸め込まれる。
【0088】
コンテキストインデックスまたは値が現在ブロックの近隣ブロックの全部に関してインクリメントされ、最終的なコンテキストインデックスが決定された後に、平均コンテキストインデックスは、決定した最終的なコンテキストインデックスを近隣ブロックの数により除算して最も近い整数に丸め込まれたものに基づき決定されてよい。フラグpred_mode_flagは、決定した平均コンテキストインデックスに基づき、現在ブロックがイントラ符号化またはインター符号化されていることを示すよう設定されてよい。例えば、決定した平均コンテキストインデックスが1なら、フラグpred_mode_flagは、現在ブロックがイントラ符号化されていることを示すよう設定されてよく、決定した平均コンテキストインデックスが0なら、フラグpred_mode_flagは、現在ブロックがインター符号化されていることを示すよう設定されてよい。
【0089】
実施形態では、現在ブロック(例えば、現在ブロック610)がイントラ予測モード、インター予測モード、またはインター-イントラ予測モードにより符号化されるかの情報は、現在ブロックのCBFをエントロピー符号化するために1つ以上のコンテキスト値を導出するために使用される。
【0090】
一実施形態では、3つの別個のコンテキスト(例えば、変数)は、CBFをエントロピー符号化するために使用される。1つは現在ブロックがイントラ予測モードにより符号化されるときに使用され、1つは現在ブロックがインター予測モードにより符号化されるときに使用され、1つは現在ブロックがイントラ-インター予測モードにより符号化されるときに使用される。3つの別個のコンテキストは、ルマCBFを符号化するためにのみ、クロマCBFを符号化するためにのみ、またはルマおよびクロマCBFの両方を符号化するためにのみ、適用されてよい。
【0091】
別の実施形態では、2つの別個のコンテキスト(例えば、変数)は、CBFをエントロピー符号化するために使用される。1つは現在ブロックがイントラ予測モードにより符号化されるときに使用され、1つは現在ブロックがインター予測モードまたはイントラ-インター予測モードにより符号化されるときに使用される。2つの別個のコンテキストは、ルマCBFを符号化するためにのみ、クロマCBFを符号化するためにのみ、またはルマおよびクロマCBFの両方を符号化するためにのみ、適用されてよい。
【0092】
更に別の実施形態では、2つの別個のコンテキスト(例えば、変数)は、CBFをエントロピー符号化するために使用される。1つは現在ブロックがイントラ予測モードまたはインター予測モードにより符号化されるときに使用され、1つは現在ブロックがイントラ-インター予測モードにより符号化されるときに使用される。2つの別個のコンテキストは、ルマCBFを符号化するためにのみ、クロマCBFを符号化するためにのみ、またはルマおよびクロマCBFの両方を符号化するためにのみ、適用されてよい。
【0093】
図7は、一実施形態による、ビデオシーケンスの復号または符号化のためにイントラ-インター予測を制御する方法700を示すフローチャートである。幾つかの実装では、
図7の1つ以上の処理ブロックは、デコーダ310により実行されてよい。幾つかの実装では、
図7の1つ以上の処理ブロックは、エンコーダ303のような、デコーダ310と別個のまたはそれを含む別の装置または装置のグループにより実行されてよい。
【0094】
図7を参照すると、第1ブロック710で、方法700は、現在ブロックの近隣ブロックがイントラ-インター予測モードにより符号化されるか否かを決定するステップを含む。近隣ブロックがイントラ-インター予測モードにより符号化されないと決定することに基づき(710でNo)、方法700は終了する。
【0095】
近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき(710でYes)、第2ブロック720で、方法700は、イントラ-インター予測モードに関連するイントラ予測モードを用いて、現在ブロックのイントラモード符号化を実行するステップを含む。
【0096】
第3ブロック730で、方法700は、予測モードフラグが現在ブロックがインター符号化されることを示すように、現在ブロックがイントラ符号化またはインター符号化されるかを示す予測モードフラグを設定するステップを含む。
【0097】
方法700は、近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき(710でYes)、イントラ-インター予測モードに関連するイントラ予測モードを用いて、現在ブロックのMPM導出を実行するステップを更に含んでよい。
【0098】
イントラ-インター予測モードに関連するイントラ予測モードは、平面モード、DCモード、またはイントラ-インター予測モードで適用されるイントラ予測モードであってよい。
【0099】
方法700は、近隣ブロックがイントラ予測モード、インター予測モード、またはイントラ-インター予測モードにより符号化されるかを決定するステップと、
近隣ブロックがイントラ予測モードにより符号化されると決定することに基づき、予測モードフラグのコンテキストインデックスを2だけインクリメントするステップと、
近隣ブロックがインター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを0だけインクリメントするステップと、
近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを1だけインクリメントするステップと、
インクリメントしたコンテキストインデックスおよび現在ブロックの近隣ブロックの数に基づき、平均コンテキストインデックスを決定するステップと、
決定した平均コンテキストインデックスに基づき、予測モードフラグを設定するステップと、を更に含んでよい。
【0100】
方法は、近隣ブロックがイントラ予測モード、インター予測モード、またはイントラ-インター予測モードにより符号化されるかを決定するステップと、
近隣ブロックがイントラ予測モードにより符号化されると決定することに基づき、予測モードフラグのコンテキストインデックスを1だけインクリメントするステップと、
近隣ブロックがインター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを0だけインクリメントするステップと、
近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを0.5だけインクリメントするステップと、
インクリメントしたコンテキストインデックスおよび現在ブロックの近隣ブロックの数に基づき、平均コンテキストインデックスを決定するステップと、
決定した平均コンテキストインデックスに基づき、予測モードフラグを設定するステップと、を更に含んでよい。
【0101】
図7は方法700の例示的なブロックを示すが、方法700は、幾つかの実装では、
図7に示されたブロックより多数のブロック、少数のブロック、または異なる配置のブロックを含んでよい。追加または代替として、方法700のブロックのうちの2つ以上は、並列に実行されてよい。
【0102】
さらに、提案した方法は、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)により実施されてよい。一例では、1つ以上のプロセッサは、提案した方法のうちの1つ以上を実行するための、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0103】
図8は、一実施形態による、ビデオシーケンスの復号または符号化のためにイントラ-インター予測を制御する機器800の簡略ブロック図である。
【0104】
図8を参照すると、機器800は、第1決定コード810、実行コード820、設定コード830を含む。機器800は、インクリメントコード840および第2決定コード850を更に含んでよい。
【0105】
第1決定コード810は、少なくとも1つのプロセッサに、現在ブロックの近隣ブロックがイントラ-インター予測モードにより符号化されるか否かを決定させるよう構成される。
【0106】
実行コード820は、少なくとも1つのプロセッサに、近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき、イントラ-インター予測モードに関連するイントラ予測モードを用いて、現在ブロックのイントラモード符号化を実行させるよう構成される。
【0107】
設定コード830は、少なくとも1つのプロセッサに、近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき、予測モードフラグが現在ブロックはインター符号化されると示すように、現在ブロックがイントラ符号化またはインター符号化されるかを示す予測モードフラグを設定させるよう構成される。
【0108】
実行コード820は、少なくとも1つのプロセッサに、近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき、イントラ-インター予測モードに関連するイントラ予測モードを用いて、現在ブロックのMPM(Most Probable Mode)導出を実行させるよう構成される。
【0109】
イントラ-インター予測モードに関連するイントラ予測モードは、平面モード、DCモード、またはイントラ-インター予測モードで適用されるイントラ予測モードであってよい。
【0110】
第1決定コード810は、少なくとも1つのプロセッサに、近隣ブロックがイントラ予測モード、インター予測モード、またはイントラ-インター予測モードにより符号化されるかを決定させるよう更に構成されてよい。インクリメントコード840は、少なくとも1つのプロセッサに、近隣ブロックがイントラ予測モードにより符号化されると決定することに基づき、予測モードフラグのコンテキストインデックスを2だけインクリメントさせ、近隣ブロックがインター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを0だけインクリメントさせ、近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを1だけインクリメントさせるよう構成されてよい。
【0111】
第2決定コード850は、少なくとも1つのプロセッサに、インクリメントしたコンテキストインデックスおよび現在ブロックの近隣ブロックの数に基づき、平均コンテキストインデックスを決定させるよう構成されてよい。設定コード830は、少なくとも1つのプロセッサに、決定した平均コンテキストインデックスに基づき、予測モードフラグを設定させるよう更に構成されてよい。
【0112】
第1決定コード810は、少なくとも1つのプロセッサに、近隣ブロックがイントラ予測モード、インター予測モード、またはイントラ-インター予測モードにより符号化されるかを決定させるよう更に構成されてよい。インクリメントコード840は、少なくとも1つのプロセッサに、近隣ブロックがイントラ予測モードにより符号化されると決定することに基づき、予測モードフラグのコンテキストインデックスを1だけインクリメントさせ、近隣ブロックがインター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを0だけインクリメントさせ、近隣ブロックがイントラ-インター予測モードにより符号化されると決定することに基づき、コンテキストインデックスを0.5だけインクリメントさせるよう構成されてよい。第2決定コード850は、少なくとも1つのプロセッサに、インクリメントしたコンテキストインデックスおよび現在ブロックの近隣ブロックの数に基づき、平均コンテキストインデックスを決定させるよう構成されてよい。設定コード830は、少なくとも1つのプロセッサに、決定した平均コンテキストインデックスに基づき、予測モードフラグを設定させるよう更に構成されてよい。
【0113】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ可読媒体に物理的に格納できる。
図9は、実施形態を実装するために適するコンピュータシステム900の図である。
【0114】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接またはインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コードまたはコンピュータ言語を用いて符号化できる。
【0115】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータまたはそのコンポーネントで実行できる。
【0116】
コンピュータシステム900の
図9に示すコンポーネントは、本来例示であり、実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に対するようないかなる限定も示唆しない。さらに、コンポーネントの構成も、コンピュータシステム(900)の例示的な実施形態に示されたコンポーネントのうちのいずれかまたは組み合わせに関連する任意の依存性または要件を有すると解釈されるべきではない。
【0117】
コンピュータシステム900は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0118】
入力ヒューマンインタフェース装置は、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグラブ904、ジョイスティック905、マイクロフォン906、スキャナ907、カメラ908、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0119】
コンピュータシステム900は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、および匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置を含んでよい(例えば、タッチスクリーン910、データグラブ904、またはジョイスティック905による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ909、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン910、陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含み、それぞれタッチスクリーン入力能力を有しまたは有さず、それぞれ感覚フィードバック能力を有しまたは有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、および発煙剤タンク(図示しない)、およびプリンタ(図示しなより多くの出力を出力可能であってよい))。
【0120】
コンピュータシステム900は、人間のアクセス可能な記憶装置、および、例えばCD/DVD等の媒体921を備えるCD/DVDROM/RW920のような光学媒体、サムドライブ922、取り外し可能ハードドライブまたは個体状態ドライブ923、テープおよびフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0121】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、または他の一時的信号を包含しないことも理解すべきである。
【0122】
コンピュータシステム900は、1つ以上の通信ネットワークへのインタフェースも含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークへは、更に、ローカル、広域、都市域、車両および産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM(global systems for mobile communications)、第3世代(3G)、第4世代(4G)、第5世代(5G)、LTE(Long-Term Evolution)等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両および産業、等を含む。特定のネットワークは、一般に、特定の汎用データポートまたは周辺機器バス949(例えば、コンピュータシステム900のUSBポート)に取り付けられる外部ネットワークインタフェースを必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム900のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、またはセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。これらのネットワークを用いて、コンピュータシステム(900)は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANBus)、または例えばローカルまたは広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコルおよびプロトコルスタックが、上述のネットワークおよびネットワークインタフェースの各々で使用され得る。
【0123】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、およびネットワークインタフェースは、コンピュータシステム900のコア940に取り付け可能である。
【0124】
コア940は、1つ以上の中央処理ユニット(CPU)941、グラフィック処理ユニット(GPU)942、GPGAの形式の専用プログラマブル処理ユニット943、特定タスクのためのハードウェアアクセラレータ944、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)945、ランダムアクセスメモリ(RAM)946、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置947と共に、システムバス948を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス948は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス948に直接に、または周辺機器バス949を通じて、取り付け可能である。周辺機器バスのアーキテクチャは、PCI、USB、等を含む。
【0125】
CPU941、GPU942、FPGA943、およびアクセラレータ944は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM945またはRAM946格納できる。一時的データもRAM946に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置947に格納できる。メモリ装置のうちのいずれかへの高速記憶および読み出しは、CPU(941)、GPU(942)、大容量記憶装置(947)、ROM(945)、RAM(946)等のうちの1つ以上に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0126】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体およびコンピュータコードは、実施形態の目的のために特別に設計され構成されたものであり得、または、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0127】
例としておよび限定ではなく、アーキテクチャを有するコンピュータシステム900、および具体的にはコア940は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置947またはROM945のような非一時的特性のコア940の特定の記憶装置、および上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア940により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置またはチップを含み得る。ソフトウェアは、コア(940)および具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM(946)に格納されたデータ構造の定義および該データ構造の変更を含む、ここに記載した特定の処理または特定の処理の特定の部分を実行させることができる。追加または代替として、コンピュータシステムは、ここに記載の特定の処理または特定の処理の特定の部分を実行するためにソフトウェアと一緒にまたはそれに代わって動作可能な論理ハードワイヤドまたは他の回路内の実装(例えば、アクセラレータ(944))の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(IC)のような)回路、実行のためにロジックを実装する回路、またはそれらの両方を含み得る。実施形態は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを含む。
【0128】
発明者らは、pred_mode_flagが、現在ブロックとその近隣、近隣ブロックとの何らかの相関を有することを発見した。近隣が、1に等しいpred_mode_flag、コンテキストを使用する場合、現在ブロックも1に等しいpred_mode_flagを使用する可能性が高くてよく、またはそうするべきである。このような場合には、相関のお陰で、算術符号化/復号において向上したコンテキスト効率が達成され得る。近隣ブロック情報は、符号化効率の向上のために、現在のpred_mode_flagをエントロピー符号化/復号するためにコンテキストとして使用され得る。
【0129】
追加で、VVCでは、インター予測とイントラ予測の混合としての特別な予測モードであるイントラ-インター予測モードが存在してよい。
【0130】
したがってpred_mode_flagのエントロピー符号化/復号のコンテキストとして、近隣ブロックを追加することが望ましい場合には、近隣ブロックがイントラ-インター予測モードにより符号化された場合に、近隣ブロックが、コンテキストを導出するためにイントラまたはインターモードとして考えられるかを決定する必要があり得る。本願の態様は、異なる設計が存在し得るpred_mode_flagのエントロピー符号化/復号のためのコンテキストの設計に関連する。
【0131】
上述のように、複数の近隣ブロックが識別される場合、何個の近隣ブロックがイントラ符号化されるかに依存して、3つのコンテキストが使用されてよい。例えば、イントラ符号化された近隣ブロックが存在しない場合、コンテキストインデックス0が使用されてよい。イントラ符号化された1つの近隣ブロックが存在する場合、コンテキストインデックス1が使用されてよく、その他の場合、コンテキストインデックス2が使用され得る2個の近隣ブロックが存在し得る。したがって、イントラ符号化により符号化される近隣ブロックの数に依存して、3つのコンテキストが存在してよい。
【0132】
しかしながら、3つのコンテキストから2つのコンテキストへとコンテキストの数を削減することにより、更なる向上が達成されてよい。例えば、近隣ブロックのうちのどれもイントラ符号化により符号化されない場合、第1コンテキストが使用されてよく、その他の場合、近隣ブロックのいずれかがイントラ符号化を使用している場合、別のコンテキストが使用されてよい。このような設計は、VVCの部分として採用されてよい。
【0133】
図10は、実施形態による例示的なフローチャート1000を示し、ここに説明される差分を除き上述の実施形態と同様である。
【0134】
ステップ1001で、現在ブロックの1つ以上の近隣ブロックを決定するためのチェックであり、ステップ1002で、これらの近隣ブロックのうちの1つ以上がイントラ符号化されるか否かを決定してよい。否の場合、ステップ1003で、第1コンテキストが現在ブロックに対して使用されてよく、肯の場合、ステップ1004で、別のコンテキストが現在ブロックに対して使用されてよい。
【0135】
例示的な実施形態によると、イントラ符号化が使用されるか否かを決定するために1つ以上の近隣ブロックがチェックされるだけでなく、イントラ-インター符号化が使用されるかどうかをチェックしてもよい。
【0136】
図11は、実施形態による例示的なフローチャート1100を示し、ここに説明される差分を除き上述の実施形態と同様である。
【0137】
ステップ1101で、現在ブロックの1つ以上の近隣ブロックを決定するためのチェックであり、ステップ1102で、これらの近隣ブロックのうちの1つ以上がイントラ符号化されるか否かを決定してよい。否の場合、ステップ1103で、1つ以上の近隣ブロックがイントラ-インター符号化を使用しているか否かがチェックされてよく、肯定の場合、ステップ1104で、第1コンテキストが現在ブロックに対して使用されてよい。その他の場合、ステップ1102でイントラ符号化が決定される、またはステップ1103でイントラ-インター符号化が決定される場合、ステップ1105で別のコンテキストが現在ブロックのために使用されてよい。
【0138】
図10に加えて、および同様に
図11に加えて、pred_mode_flagが議論されたが、VVCによる更なる採用は、以下のシンタックスにより更に説明するように、他のシンタックス要素、例えばスキップフラグ、アフィンフラグ、サブブロックマージフラグを含む。
【0139】
【0140】
【0141】
【0142】
つまり、例示的な実施形態では、幾つかの近隣ブロックが先ず識別され、2つのコンテキストが現在ブロックのpred_mode_flagをエントロピー符号化するために使用され、識別された近隣ブロックのいずれもイントラ予測モードにより符号化されないとき、第1コンテキストが使用されてよく、その他の場合に他のコンテキストが使用されてよい。
【0143】
また、幾つかの近隣ブロックが、先ず識別されてよく、2つのコンテキストが現在ブロックのpred_mode_flagをエントロピー符号化するために使用されてよい。識別された近隣ブロックのいずれも、イントラ予測モードまたはイントラ-インター予測により符号化されないとき、第1コンテキストが使用されてよく、その他の場合、第2コンテキストが使用されてよい。
【0144】
他の例では、幾つかの近隣ブロックが、先ず識別されてよく、2つのコンテキストが現在ブロックのCBFフラグをエントロピー符号化するために使用されてよい。識別された近隣ブロックのいずれも、イントラ予測モードにより符号化されないとき、第1コンテキストが使用されてよく、その他の場合、第2コンテキストが使用されてよい。
【0145】
他の例では、幾つかの近隣ブロックが、先ず識別されてよく、2つのコンテキストが現在ブロックのCBFフラグをエントロピー符号化するために使用されてよい。識別された近隣ブロックのいずれも、イントラ予測モードまたはイントラ-インター予測により符号化されないとき、第1コンテキストが使用されてよく、その他の場合、第2コンテキストが使用されてよい。
【0146】
スキップフラグ(cu_skip_flag)、アフィンフラグ(inter_affine_flag)、サブブロックマージフラグ(merge_subblock_flag)、CU分割フラグ(qt_split_cu_flag,mtt_split_cu_flag,mtt_split_cu_vertical_flag,mtt_split_cu_binary_flag)、IMVフラグ(amvr_mode)、イントラ-インターモードフラグ、三角パーティショニングフラグ、のようなエントロピー符号化シンタックス要素のとき、上述の実施形態に従い、近隣ブロックのために使用される対応するフラグ値に依存して2つのコンテキストを使用することを提案する。このようなフラグの例は、上述の表で導入されている。これらのフラグの意味は、スキップモード、アフィンモード、サブブロックマージモード、等のうちの1つまたは別のもののような異なるそれぞれのモードを示唆してよい。
【0147】
さらに、例示的な実施形態によると、幾つかの近隣ブロックが先ず識別される。上述のフラグをエントロピー符号化するとき、識別した近隣ブロックのうちのいずれも対応するモードにより符号化されないとき(関連するフラグ値が対応するモードが可能であると示す値と共にシグナリングされることを意味する)、第1コンテキストが使用されてよく、その他の場合、第2コンテキストが使用されてよい。追加で、本開示の観点から当業者に理解され得るように、
図10および
図11を参照する実施形態のうちのいずれも、これらの追加フラグと共に使用されてよい。
【0148】
上述のように、例示的な実施形態によると、コンテキスト数は、有利なことに、フラグおよびそのような予測のために2つのコンテキストにまで削減されてよい。
【0149】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、および種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示されまたは説明されないが、本開示の原理を実施し、したがって、本開示の精神および範囲に含まれる多数のシステムおよび方法を考案可能である。