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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7313470ビデオデコーディング方法、及びビデオデコーディングシステム
<>
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図1
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図2
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図3
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図4
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図5
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図6
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図7
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図8
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図9
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図10
  • 特許-ビデオデコーディング方法、及びビデオデコーディングシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-13
(45)【発行日】2023-07-24
(54)【発明の名称】ビデオデコーディング方法、及びビデオデコーディングシステム
(51)【国際特許分類】
   H04N 19/11 20140101AFI20230714BHJP
   H04N 19/593 20140101ALI20230714BHJP
   H04N 19/176 20140101ALI20230714BHJP
   H04N 19/157 20140101ALI20230714BHJP
   H04N 19/147 20140101ALI20230714BHJP
【FI】
H04N19/11
H04N19/593
H04N19/176
H04N19/157
H04N19/147
【請求項の数】 20
(21)【出願番号】P 2021559924
(86)(22)【出願日】2020-11-26
(65)【公表番号】
(43)【公表日】2022-05-26
(86)【国際出願番号】 US2020062447
(87)【国際公開番号】W WO2021108734
(87)【国際公開日】2021-06-03
【審査請求日】2021-10-08
(31)【優先権主張番号】62/941,350
(32)【優先日】2019-11-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/068,522
(32)【優先日】2020-10-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】大濱 宏之
(56)【参考文献】
【文献】米国特許出願公開第2019/0045225(US,A1)
【文献】米国特許出願公開第2019/0306499(US,A1)
【文献】Liang Zhao Xin Zhao Xiang Li and Shan Liu,CE3-related: Intra mode coding [online], JVET-L JVET-L0280-r1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0280-v3.zip>,2018年10月06日,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ入力の現在フレームを取得するステップと、
前記現在フレームを複数のコーディングブロックに分割するステップと、
許容されたイントラ予測モード(AIPM)セットに含まれるイントラ予測モードで各コーディングブロックのシンボルレベルを予測するステップであって、前記AIPMセットに含まれる前記イントラ予測モードが、複数の異なるビデオコーディングスキームの各々のビデオコーディングフォーマットでの全ての利用可能なイントラ予測モードのサブセットであり、コーディング効率および圧縮性能に基づいて決定され、前記AIPMセットに含まれる前記イントラ予測モードのそれぞれが、インデックス番号によって識別される、前記予測するステップと、
残差シンボルレベルを変換および量子化するステップと、
前記変換および量子化された残差シンボルレベルをエントロピーコーディングするステップと、
ビットストリームを出力するステップと、を含むビデオデコーディング方法。
【請求項2】
前記AIPMセットに含まれる前記イントラ予測モードは、
前記現在フレームの現在のビデオコーディングフォーマットが、多用途ビデオコーディング(VVC)規格に基づくビデオコーディングスキームであるか、AOMediaビデオ1(AV1)規格に基づくビデオコーディングスキームであるかを決定するステップと、
前記現在のビデオコーディングフォーマットが前記VVC規格に基づくビデオコーディングスキームである場合、前記AIPMセットに6つの最確モード(MPM)および32個の残りのモードを含めるステップと、
前記現在のビデオコーディングフォーマットが前記AV1規格に基づくビデオコーディングスキームである場合、現在コーディングブロックのサイズまたは隣接コーディングブロックの前記イントラ予測モードに関係なく、前記AIPMセットに8つの公称角度の角度イントラ予測モードおよび非方向性またはスムーズイントラ予測モードを含めるステップとによって決定される、請求項1に記載の方法。
【請求項3】
前記現在のビデオコーディングフォーマットが前記VVC規格に基づくビデオコーディングスキームである場合、
前記6つのMPMは、5つの隣接コーディングブロックから導出され、
前記32個の残りのモードは、前記6つのMPMの角度隣接モードにオフセット値を加えることによって導出され、
導出プロセスが32個未満の残りのモードを生成する場合、前記32個の残りのモードに達するまで、デフォルトモードリストから追加のモードを選択する、請求項2に記載の方法。
【請求項4】
前記オフセット値は、{1、2、3、4、6、8}から選択され、
オフセット値毎に、既に生成されていない限り、各角度隣接モードにそのオフセット値を加えて残りのモードを生成し、
前記デフォルトモードリストは、{0、1、2、50、18、34、66、10、26、42、58、6、14、22、30、38、46、54、62、4、8、12、20、24、28、32、36、40、44、48、52、56、60、64、17、19、49、51}を含む、請求項3に記載の方法。
【請求項5】
前記現在のビデオコーディングフォーマットが前記AV1規格に基づくビデオコーディングスキームである場合、
前記AIPMセット内の前記角度イントラ予測モードは、M個以下の隣接コーディングブロックから導出され、ここで、Mは正の整数であり、
前記8つの公称角度は、45°、67°、90°、113°、135°、157°、180°、および203°であり、
前記非方向性またはスムーズイントラ予測モードは、DCモード、PAETHモード、SMOOTHモード、SMOOTH_Vモード、およびSMOOTH_Hモードを含む、請求項2に記載の方法。
【請求項6】
前記SMOOTHモードは、前記AIPMセットの第1の位置に配置され、
前記DCモードは、前記AIPMセットの第2の位置に配置される、請求項5に記載の方法。
【請求項7】
前記現在コーディングブロックの高さが前記現在コーディングブロックの幅以上の場合、前記SMOOTH_Vモードは前記AIPMセットに含まれ、
前記現在コーディングブロックの幅が前記現在コーディングブロックの高さより大きい場合、前記SMOOTH_Hモードは前記AIPMセットに含まれる、請求項6に記載の方法。
【請求項8】
前記現在コーディングブロックの幅が前記現在コーディングブロックの高さ以上の場合、前記SMOOTH_Vモードは前記AIPMセットに含まれ、
前記現在コーディングブロックの高さが前記現在コーディングブロックの幅より大きい場合、前記SMOOTH_Hモードは前記AIPMセットに含まれる、請求項6に記載の方法。
【請求項9】
前記AIPMセットをK個のレベルに分割するステップであって、Kが1より大きい整数であり、K個のレベルのそれぞれが2個のイントラ予測モードを含み、Lが1より大きい整数であるステップをさらに含む、請求項5乃至8のいずれか一項に記載の方法。
【請求項10】
前記AIPMセットのK個のレベルのうちの第1のレベルは、前記隣接コーディングブロックの前記イントラ予測モードの1つが角度イントラ予測モードである場合、非公称角度の少なくとも1つの角度イントラ予測モードを含む、請求項9に記載の方法。
【請求項11】
前記AIPMセットのK個のレベルのうちの第1のレベルは、全ての前記公称角度の前記角度イントラ予測モードを含む、請求項9に記載の方法。
【請求項12】
前記AIPMセットのK個のレベルのうちの第1のレベルは、前記非方向性またはスムーズイントラ予測モードを含む、請求項9に記載の方法。
【請求項13】
Kが2に等しい場合、前記エントロピーコーディングは、現在のイントラ予測モードが第1のレベルにあるかまたは第2のレベルにあるかを示す第1のフラグと、示されたレベルの前記現在のイントラ予測モードの前記インデックス番号をシグナリングする、請求項9に記載の方法。
【請求項14】
Kが3に等しい場合、前記エントロピーコーディングは、現在のイントラ予測モードが第1レベルにあるか否かを示す第1のフラグと、前記現在のイントラ予測モードが第2のレベルにあるかまたは第3のレベルにあるかを示す第2のフラグと、示されたレベルの前記現在のイントラ予測モードの前記インデックス番号をシグナリングする、請求項9に記載の方法。
【請求項15】
前記隣接コーディングブロックの前記角度イントラ予測モードの数は、前記エントロピーコーディングのコンテキストモデリングで前記イントラ予測モードをシグナリングするためのコンテキストインジケータとして使用される、請求項5乃至8のいずれか一項に記載の方法。
【請求項16】
前記隣接コーディングブロックの前記角度イントラ予測モードの数が0に等しい場合、第1のコンテキストを使用し、
前記隣接コーディングブロックの前記角度イントラ予測モードの数が1に等しい場合、第2のコンテキストを使用し、
前記隣接コーディングブロックの前記角度イントラ予測モードの数が2に等しい場合、第3のコンテキストを使用する、請求項15に記載の方法。
【請求項17】
前記隣接コーディングブロックの前記角度イントラ予測モードの数が0に等しい場合、第1のコンテキストを使用し、
前記隣接コーディングブロックの前記角度イントラ予測モードの数が1に等しい場合、第2のコンテキストを使用し、
前記隣接コーディングブロックの前記角度イントラ予測モードの数が2に等しく、かつその2つの角度イントラ予測モードが等しい場合、第3のコンテキストを使用し、
前記隣接コーディングブロックの前記角度イントラ予測モードの数が2に等しく、かつその2つの角度イントラ予測モードが等しくない場合、第4のコンテキストを使用する、請求項15に記載の方法。
【請求項18】
現在コーディングブロックが彩度ブロックの場合、前記コンテキストインジケータは、隣接彩度ブロックの前記角度イントラ予測モードの数と、コロケートされる輝度ブロックの前記角度イントラ予測モードの数から導出される、請求項15に記載の方法。
【請求項19】
コンピュータプログラム命令を記憶するメモリと、
前記メモリに結合され、前記コンピュータプログラム命令を実行するとき、
ビデオ入力の現在フレームを取得するステップと、
前記現在フレームを複数のコーディングブロックに分割するステップと、
許容されたイントラ予測モード(AIPM)セットに含まれるイントラ予測モードで各コーディングブロックのシンボルレベルを予測するステップであって、前記AIPMセットに含まれる前記イントラ予測モードが、複数の異なるビデオコーディングスキームの各々のビデオコーディングフォーマットでの全ての利用可能なイントラ予測モードのサブセットであり、コーディング効率および圧縮性能に基づいて決定され、前記AIPMセットに含まれる前記イントラ予測モードのそれぞれが、インデックス番号によって識別される、前記予測するステップと、
残差シンボルレベルを変換および量子化するステップと、
前記変換および量子化された残差シンボルレベルをエントロピーコーディングするステップと、
ビットストリームを出力するステップと、を実行するように構成された、プロセッサと、を含む、ビデオデコーディングシステム。
【請求項20】
前記AIPMセットに含まれる前記イントラ予測モードは、
前記現在フレームの現在のビデオコーディングフォーマットが、多用途ビデオコーディング(VVC)規格に基づくビデオコーディングスキームであるか、AOMediaビデオ1(AV1)規格に基づくビデオコーディングスキームであるかを決定するステップと、
前記現在のビデオコーディングフォーマットが前記VVC規格に基づくビデオコーディングスキームである場合、前記AIPMセットに6つの最確モード(MPM)および32個の残りのモードを含めるステップと、
前記現在のビデオコーディングフォーマットが前記AV1規格に基づくビデオコーディングスキームである場合、現在コーディングブロックのサイズまたは隣接コーディングブロックの前記イントラ予測モードに関係なく、前記AIPMセットに8つの公称角度の角度イントラ予測モード及び非方向性またはスムーズイントラ予測モードを含めるステップとによって決定される、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2019年11月27日に出願された米国仮特許出願第62/941,350号の優先権を主張した、2020年10月12日に出願された米国特許出願第17/068,522号の優先権を主張し、その内容を全て参照により本明細書に組み込むものとする。
【0002】
本出願は、ビデオコーディング技術の分野、特にイントラモードコーディングのための方法およびシステムに関する。
【背景技術】
【0003】
AOMediaビデオ1(AV1)は、インターネットを介したビデオ送信用に設計されたオープンビデオコーディングフォーマットである。それは、半導体企業、ビデオオンデマンドプロバイダー、ビデオコンテンツプロデューサー、ソフトウェア開発会社、およびWebブラウザーベンダーを含む2015年に設立されたコンソーシアムであるAlliance for Open Media(AOMedia)よってVP9の後継として開発されたものである。、AV1プロジェクトのコンポーネントの多くは、Allianceメンバーによる以前の研究に由来している。個々の貢献者は何年も前に実験技術プラットフォームを開始した。Xiph/Mozilla Daalaは、2010年にすでにコードを公開しており、Googleの実験的なVP9進化プロジェクトVP10は、2014年9月12日に発表され、CiscoのThorは2015年8月11日に公開された。VP9のコードベースに基づいて構築されたAV1には、追加の手法が組み込まれており、そのいくつかはこれらの実験形式で開発されたものである。AV1リファレンスコーデックの最初のバージョン0.1.0は、2016年4月7日に公開された。アライアンスは、リファレンス、ソフトウェアベースのエンコーダおよびデコーダとともに、2018年3月28日にAV1ビットストリーム仕様のリリースを発表した。2018年6月25日に、仕様の検証済みバージョン1.0.0がリリースされた。2019年1月8日に検証済みErrata1を使用したバージョン1.0.0仕様がリリースされた。AV1ビットストリーム仕様には、参照ビデオコーデックが含まれる。
【0004】
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)は、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)および2016年(バージョン4)にH.265/HEVC(高効率ビデオコーディング)標準を公開した。2015年に、これら2つの標準化団体は、HEVCを超えた次のビデオコーディング標準を開発する可能性を探るために、共同でJVET(Joint Video Exploration Team)を結成した。2017年10月に、それらの標準化団体は、HEVC(CfP)を超えた機能を備えたビデオ圧縮に関する共同提案募集(Capability beyond HEVC、CfP)を発表した。2018年2月15日までに、全部で、標準ダイナミックレンジ(SDR)に関する合計22個のCfP回答、高ダイナミックレンジ(HDR)に関する12個のCfP回答、および360のビデオカテゴリに関する12個のCfP回答が、それぞれ提出された。2018年4月に、受け取られたすべてのCfP回答は、第122回MPEG/第10回JVET会議で評価された。この会議の結果、JVETはHEVCを超えた次世代ビデオコーディングの標準化プロセスを正式に開始した。新しい標準は、多用途ビデオコーディング(Versatile Video Coding,VVC)と名付けられ、JVETは、Joint Video Expert Teamと改名された。
【0005】
AV1では、利用可能なイントラ予測モードの数は62で、56個の角度イントラ予測モード、5つのスムーズモード、および1つの、輝度に基づく彩度決定モード(chroma from luma mode)が含まれる。角度イントラ予測モードは、方向性イントラ予測モードとも呼ばれる。56個の角度イントラ予測モードについて、そのうちの8つは公称角度と呼ばれ、各公称角度には7つのデルタ角度(デルタ角度が0の公称角度自体を含む)があり、これらはVVCでの角度の定義とは異なっている。さらに、AV1に基づくビデオコーディングスキームのスムーズモードの数と定義も、VVCに基づくビデオコーディングスキームとは異なっている。したがって、JVET-L0280(VVCプロポーザル)でのイントラモードコーディングをAV1標準に直接適用することできない。
【0006】
開示された方法およびシステムは、上記の1つ以上の問題および他の問題を解決することを目的とする。
【発明の概要】
【0007】
本開示の一態様は、ビデオデコーディング方法を含む。前記方法は、ビデオ入力の現在フレームを取得するステップと、現在ビデオフレームを複数のコーディングブロックに分割するステップと、許容されたイントラ予測モード(AIPM)セットに含まれるイントラ予測モードで各コーディングブロックのシンボルレベルを予測するステップであって、前記AIPMセットに含まれる前記イントラ予測モードが、異なるビデオコーディングスキームのビデオコーディングフォーマットでの全ての利用可能なイントラ予測モードのサブセットであり、コーディング効率および圧縮性能に基づいて決定され、前記AIPMセットに含まれる前記イントラ予測モードのそれぞれが、インデックス番号によって識別される、ステップと、残差シンボルレベルを変換および量子化するステップと、前記変換および量子化された残差シンボルレベルをエントロピーコーディングするステップと、ビットストリームを出力するステップと、を含む。
【0008】
本開示の別の態様は、ビデオデコーディングシステムを含む。前記システムは、コンピュータプログラム命令を記憶するメモリと、前記メモリに結合され、前記コンピュータプログラム命令を実行するとき、ビデオ入力の現在フレームを取得するステップと、現在ビデオフレームを複数のコーディングブロックに分割するステップと、許容されたイントラ予測モード(AIPM)セットに含まれるイントラ予測モードで各コーディングブロックのシンボルレベルを予測するステップであって、前記AIPMセットに含まれる前記イントラ予測モードが、異なるビデオコーディングスキームのビデオコーディングフォーマットでの全ての利用可能なイントラ予測モードのサブセットであり、コーディング効率および圧縮性能に基づいて決定され、前記AIPMセットに含まれる前記イントラ予測モードのそれぞれが、インデックス番号によって識別される、ステップと、残差シンボルレベルを変換および量子化するステップと、前記変換および量子化された残差シンボルレベルをエントロピーコーディングするステップと、ビットストリームを出力するステップと、を実行するように構成されたプロセッサとを含む。
【0009】
本開示の他の態様は、本開示の説明、特許請求の範囲、および図面に照らして当業者によって理解することができる。
【図面の簡単な説明】
【0010】
図1】本開示の特定の実施形態を組み込んだ動作環境を示す。
図2】本開示の実施形態と一致する電子デバイスを示す。
図3】本開示の実施形態と一致するコンピュータシステムを示す。
図4】本開示の実施形態と一致するビデオエンコーダを示す。
図5】本開示の実施形態と一致する例示的なビデオコーディング方法を示す。
図6】VVC標準で利用可能なイントラ予測モードを示す。
図7】AV1標準におけるイントラ予測モードの8つの公称角度を示す。
図8】本開示の実施形態と一致するPAETHモードの上部、左側、および左上の位置を示す。
図9】本開示の実施形態と一致する再帰的イントラフィルタリングモードの例を示す。
図10】本開示の実施形態と一致する、許容されたイントラ予測モード(AIPM)セットに含まれるイントラ予測モードを決定するフローチャートを示す。
図11】本開示の実施形態と一致する6つのMPMを導出するプロセスにおける5つの隣接コーディングブロックの位置を示す。
【0011】
以下は、添付の図面を参照して、本発明の実施形態における技術的解決策を説明する。可能な限り、同じまたは同様の部品を参照するために、図面全体で同じ参照番号が使用される。明らかに、記載された実施形態は、本発明の実施形態の一部にすぎず、そのすべてではない。創造的努力なしに本発明の実施形態に基づいて当業者によって得られたすべての他の実施形態は、本発明の保護範囲内に含まれるものとする。本開示で使用される特定の用語は、以下において最初に説明される。
【0012】
多用途ビデオコーディング(Versatile Video Coding,VVC)について、VVCは、HEVC(ITU-T H.265とも呼ばれる)を継承するためにJoint Video Exploration Team(JVET)によって開発されたビデオデコーディング標準である。VVCは、そのような標準の前世代の圧縮能力を大幅に超え、幅広いアプリケーションで効果的に使用するための非常に用途の広い圧縮能力を有するビデオコーディング技術を規定する。VVC標準は、参照により本明細書に組み込まれる。
【0013】
AOMediaビデオ1(AV1)について、AV1は、インターネットを介したビデオ送信のためにAlliance for Open Media(AOMedia)によって開発されたオープンソースのビデオコーディング標準である。AV1標準は、参照により本明細書に組み込まれる。
【0014】
許容されたイントラ予測モード(Allowed Intra Prediction Mode,AIPM)は、隣接ブロックのイントラ予測モードに従って導出された現在ブロックのイントラ予測に使用することができるモードを有する1つのモードセットとして定義される。
【0015】
許容されていないイントラ予測モード(Disallowed Intra Prediction Mode,DIPM)は、隣接ブロックのイントラ予測モードに従って導出された現在ブロックのイントラ予測にシグナリングすることも使用することもできないモードを有する1つのモードセットとして定義される。
【0016】
コンテキスト適応型2値算術コーディング(Context-based Adaptive Binary Arithmetic Coding,CABAC)について、CABACは、さまざまなビデオコーディング標準で使用されるエントロピーコーディングの形式である。
【0017】
多用途ビデオコーディングテストモデル(Versatile video coding Test Model,VTM)について、VTMは、VVCアルゴリズムとテスト手順のエンコーダ側の説明を提供する。
【0018】
Bjontegaardデルタレート(BDRまたはBDレート)について、BDRは、ビデオ信号の同じピーク信号対雑音比(PSNR)のビットレートの変化を測定することにより、コーディング効率を評価する方法である。
【0019】
図1は、本開示の特定の実施形態を組み込んだ動作環境100を示す。図1に示すように、動作環境100は、ビデオ機能を有する様々なデバイスを含み得る。例えば、動作環境100は、端末デバイス102、カメラデバイス104およびモノのインターネット(IoT)デバイス106を含み得る。他のタイプのデバイスも含み得る。
【0020】
動作環境100はまた、サーバ122、ヒューマンビジョンアプリケーション124、マシンビジョンアプリケーション126、および様々なデバイスをサーバ122に接続する通信リンク140を含み得る。ユーザ130は、様々なデバイスのうちの1つ以上を使用、アクセス、または制御することができる。
【0021】
端末デバイス102は、携帯情報端末(PDA)、携帯電話、スマートフォン、統合メッセージングデバイス(IMD)、タブレットコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、および他のコンピューティングデバイスなどの任意のユーザ端末を含み得る。カメラデバイス104は、デジタルカメラ、ビデオカメラ、セキュリティカメラ、車載カメラ、およびステレオカメラなどの任意の画像またはビデオキャプチャデバイスを含み得る。IoTデバイス106は、デジタルドアベル、自動運転センサ、デジタル音声アシスタント、スマートスピーカー、スマートアプライアンス、および任意の産業用または商用IoTシステムなどの、カメラ機能を有する任意のタイプのIoTデバイスを含み得る。様々なデバイス102、104、および106のいずれも、移動している個人によって運ばれるとき、静止または移動可能であり、また、車、トラック、タクシー、バス、列車、ボート、飛行機、自転車、オートバイ、または同様の適切な輸送モードの一部として、または輸送モードで配置することもできる。
【0022】
図2は、様々なデバイス102、104および/または106のいずれかを実装するための電子デバイスを示す。図2に示されるように、電子デバイス200は、ハードウェアプロセッサ202、メモリ204、カードリーダ206、ディスプレイ208、キーボード210、無線周波数(RF)インタフェース212、ベースバンド214、アンテナ216、エンコーダ222、デコーダ224、カメラ226、スピーカー232、およびマイクロフォン234などを含む。図2に示されるコンポーネントは、例示であり、特定のコンポーネントが省略されてもよく、他のコンポーネントが追加されてもよい。
【0023】
プロセッサ202は、他のコンポーネントとの間でデータを送受信するために、1つ以上のバスまたは他の電気的接続を介して他のコンポーネントに接続され得る。プロセッサ202は、1つ以上の処理コア、例えば、4コアプロセッサまたは8コアプロセッサを含み得る。プロセッサ202は、少なくとも1つのハードウェア形式のデジタル信号処理(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびプログラマブルロジックアレイ(PLA)を使用することによって実装され得る。プロセッサ202はまた、メインプロセッサおよびコプロセッサを含み得る。メインプロセッサは中央処理ユニット(CPU)であり得、コプロセッサは、表示画面が表示する必要のあるコンテンツのレンダリングおよび描画を担当するように構成されたグラフィックス処理ユニット(GPU)であり得る。いくつかの実施形態では、プロセッサ202は、人工知能(AI)プロセッサをさらに含み得る。AIプロセッサは、機械学習に関連するコンピューティング操作を処理するように構成される。
【0024】
メモリ204は、高速ランダムアクセスメモリおよび不揮発性メモリ、例えば、1つ以上のディスク記憶デバイスまたはフラッシュ記憶デバイスなどの、1つ以上のコンピュータ可読記憶媒体を含み得る。メモリ204は、画像データと音声データの両方の形式でデータを記憶することができ、プロセッサ202の命令も記憶することができる。カードリーダ206は、スマートカードインタフェース、通信カードインタフェース(例えば、近距離通信(NFC)カード)、またはユーザ情報を提供し、ユーザ130の認証および許可のための認証情報を提供するのに適している加入者識別子モジュール(SIM)カードまたは他のカードインタフェースなどの、任意のタイプのポータブルカードインタフェースを含み得る。
【0025】
さらに、ディスプレイ208は、画像またはビデオを表示するのに適している任意の適切な表示技術であり得る。例えば、ディスプレイ208は、液晶ディスプレイ(LDC)スクリーン、有機発光ダイオード(OLED)スクリーンなどを含み得、タッチスクリーンであり得る。キーボード210は、ユーザ130による情報を入力するための物理的または仮想キーボードを含み得、また、他のタイプの入力/出力デバイスを含み得る。スピーカー232およびマイクロフォン234は、電子デバイス200の音声を入力および出力するために使用することができる。
【0026】
RFインタフェース212(アンテナ216と共に)は、RF信号を送受信するためのRF回路を含み得る。RFインタフェース212は、電気信号を送信用の電磁信号に変換するか、または受信した電磁信号を受信用の電気信号に変換することができる。RFインタフェース212は、少なくとも1つの無線通信プロトコルを介して他の電子デバイスと通信することができる。無線通信プロトコルは、メトロポリタンエリアネットワーク、様々な世代の移動通信ネットワーク(2G、3G、4Gおよび5G)、無線ローカルエリアネットワーク(LAN)、および/またはワイヤレス・フィデリティ(Wireless Fidelity,WiFi)ネットワークを含み得る。いくつかの実施形態では、RFインタフェース212はまた、近距離通信(NFC)に関連する回路を含み得る。ベースバンド214は、RFインタフェース212との間の信号を処理するための回路を含み得る。
【0027】
さらに、カメラ226は、画像またはビデオを収集するように構成された任意のタイプの画像化またはビデオキャプチャデバイスを含み得る。電子デバイス200がユーザ130によって携帯される携帯デバイスである場合、カメラ226は、前面カメラおよび背面カメラを含み得る。前面カメラは、電子デバイスのフロントパネルに配置することができ、背面カメラは、電子デバイスの背面に配置することができる。いくつかの実施形態では、メインカメラと被写界深度カメラを融合させて背景ぼかし機能を実装し、メインカメラと広角カメラを融合させてパノラマ撮影およびバーチャルリアリティ(VR)撮影機能または他の融合撮影機能を実施するために、少なくとも2つの背面カメラがあり、それぞれがメインカメラ、被写界深度カメラ、広角カメラ、および望遠カメラのいずれか1つである。いくつかの実施形態では、カメラ226は、フラッシュをさらに含み得る。
【0028】
エンコーダ222およびデコーダ224は、オーディオおよび/またはビデオデータのコーディングおよびデコーディングを実行するのに適した、またはプロセッサ202によって実行されるコーディングおよびデコーディングを支援するのに適した電子デバイスのコーデック回路と呼ばれ得る。
【0029】
図2に示されるような電子デバイス200は、無線通信システムの移動端末またはユーザ機器の構造と同様の構造を含み得る。しかしながら、エンコードおよびデコード、あるいはビデオまたは画像のエンコードまたはデコードを必要とし得る任意の電子デバイスまたは装置が含まれ得る。
【0030】
図1に戻り、電子デバイス200(すなわち、様々なデバイス102、104および/または106のうちの任意の1つ以上)は、様々なデータ(例えば、オーディオデータ、環境/動作データ、画像データおよび/またはビデオデータ)をキャプチャまたは収集し、通信リンク140を介してサーバ122にデータを送信することができる。電子デバイス200は、データをサーバ122に送信する前にデータを処理または前処理することができ、または未処理のデータをサーバ122に送信することができる。
【0031】
通信リンク140は、任意の適切なタイプの通信ネットワークを含み得、無線携帯電話ネットワーク、無線ローカルエリアネットワーク(WLAN)、ブルートゥースパーソナルエリアネットワーク、イーサネットローカルエリアネットワーク、トークンリングローカルエリアネットワーク、ワイドエリアネットワーク、およびインターネットを含むがこれらに限定されない有線または無線ネットワークの任意の組み合わせを含み得る。通信リンク140はまた、音声/データ通信のためのプライベートまたはパブリッククラウドコンピューティングプラットフォームを含み得る。インターネットまたは他のタイプのネットワークが含まれる場合、インターネットへの接続には、長距離無線接続、短距離無線接続、および電話回線、ケーブル回線、電力線、および同様の通信経路を含むさまざまな有線接続を含み得る。
【0032】
サーバ122は、任意のタイプのサーバコンピュータシステム、またはサーバクラスタ内に構成されたかまたは異なる位置に分散された複数のコンピュータシステムを含み得る。サーバ122はまた、クラウドコンピューティングプラットフォーム上のクラウドサーバを含み得る。図3は、サーバ122の特定の態様を実装する例示的なコンピュータシステムを示す。
【0033】
図3に示されるように、コンピュータシステム300は、プロセッサ302、記憶媒体304、モニタ306、通信モジュール308、データベース310、および周辺機器312を含み得る。特定のデバイスが省略され、他のデバイスが含まれる場合がある。
【0034】
プロセッサ302は、任意の適切な1つ以上のプロセッサを含み得る。さらに、プロセッサ302は、マルチスレッドまたは並列処理のための複数のコアを含み得る。記憶媒体304は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)などのメモリモジュール、フラッシュメモリモジュール、消去可能および書き換え可能メモリ、ならびにCD-ROM、Uディスク、およびハードディスクなどの大容量記憶装置を含み得る。記憶媒体304は、プロセッサ302によって実行されると、様々なプロセスを実装するためのコンピュータプログラムを記憶することができる。
【0035】
さらに、周辺機器312は、キーボードおよびマウスなどのI/Oデバイスを含み得る。通信モジュール308は、通信ネットワークを介して接続を確立するためのネットワークデバイスを含み得る。データベース310は、特定のデータを記憶し、記憶されたデータに対してデータベース検索などの特定の動作を実行するための1つ以上のデータベースを含み得る。
【0036】
図2に戻り、エンコーダ222は、イントラモードコーディングの方法を実装するエンコーダであり得る。この場合、電子デバイス200はまた、イントラモードコーディングの方法を実装すると見なされ得る。すなわち、エンコーダ222は、電子デバイス200内のハードウェア回路として実施され得るか、または電子デバイス200によるソフトウェアプログラムとして実装され得るか、またはハードウェア回路とソフトウェアプログラムの組み合わせとして実装され得る。図4は、本開示の開示された実施形態と一致する例示的なビデオエンコーダを示す。
【0037】
図4に示されるように、ビデオエンコーダ400は、ブロック分割ユニット410、減算ユニット420、予測ユニット430、変換/量子化ユニット440、逆量子化/逆変換ユニット450、加算ユニット460、インループフィルタ470およびエントロピーエンコーダ480を含む。入力ビデオがエンコーダ400に入力され、それに応答して、エンコーダ400はビットストリームを出力する。
【0038】
入力ビデオは、複数のピクチャフレームを含む。各ピクチャフレームは、ブロック分割ユニット410によって一連のコーディングツリーユニット(CTU)に分割される。3つのサンプルアレイを有するピクチャフレームについて、CTUは、輝度サンプルのNxNブロックと、2つの対応する彩度サンプルのNxNブロックで構成される。ブロック分割ユニット410は、コーディングツリーとして示される四分木構造を使用することによって、CTUをコーディングユニット(CU)にさらに分割して様々な局所特性に適応する。インターピクチャ(時間的)またはイントラピクチャ(空間的)予測を使用してピクチャ領域を符号化するか否かの決定は、リーフCUレベルで行われる。各リーフCUは、PU分割タイプに応じて、さらに1つ、2つまたは4つの予測ユニット(PU)に分割できる。1つのPU内で、同じ予測プロセスが適用され、関連情報がPUベースでビデオデコーダに送信される。PU分割タイプに基づく予測プロセスを適用して残余ブロックを取得した後、リーフCUは、CUのコーディングツリーと同様の別の四分木構造に従って変換ユニット(TU)に分割できる。
【0039】
予測ユニット430は、イントラ予測、インター予測、およびインター予測とイントラ予測の組み合わせをサポートする。イントラ予測は、イントラモードコーディングとも呼ばれる。自然なビデオで提示される任意のエッジ方向をキャプチャするために、予測ユニット430は、平面(表面フィッティング)イントラ予測モードおよびDC(フラット)イントラ予測モードに加えて、65の方向(または角度)イントラ予測モードをサポートする。予測ユニット430はさらに、動きベクトル、参照ピクチャインデックスおよび参照ピクチャリスト使用インデックス、ならびにビデオコーディング機能に必要な追加の情報を含む動きパラメータに基づくインター予測されたサンプル生成をサポートする。予測ユニット430はまた、変換スキップモードまたは変換スキップでコーディングされたCUが1つのPUに関連付けられ、有意な残差係数、コーディングされた動きベクトルデルタまたは参照ピクチャインデックスを有さない変換スキップモードをサポートする。予測ユニット430はまた、現在CUの動きパラメータが、空間的および時間的候補、ならびに追加のスケジュールを含む隣接CUから取得されるマージモードをサポートする。マージモードは、変換スキップモードだけでなく、任意のインター予測されたCUに適用できる。予測ユニット430はまた、動きパラメータを明示的に送信することによりマージモードの代替をサポートし、動きベクトル、各参照ピクチャリストおよび参照ピクチャリスト使用フラグに対応する参照ピクチャインデックス、および他の必要な情報がCUごとに明示的にシグナリングされる。
【0040】
減算ユニット420は、CUとPUとの間の差(または残差)を変換/量子化ユニット440に出力する。
【0041】
変換/量子化ユニット440は、最大64x64サイズの大きなブロックサイズの変換をサポートする。サイズが64に等しい変換ブロックについて、高周波数の変換係数がゼロにされるため、低周波数の係数のみが保持される。変換スキップモードで大きなブロックを変換する場合、変換/量子化ユニット440は、値をゼロにすることなくブロック全体を使用する。変換/量子化ユニット440はまた、コア変換のための複数の変換選択(multiple transform selection,MTS)をサポートする。MTSを制御するために、変換/量子化ユニット440は、それぞれ、イントラおよびインター予測のために、シーケンスパラメータセット(SPS)レベルで別個の有効化フラグを使用する。MTSがSPSレベルで有効化される場合、MTSが適用されているか否かを示すCUレベルフラグがシグナリングされる。変換/量子化ユニット440はまた、低周波非分離可能変換(Low-Frequency Non-Separable Transfomr,LFNST)およびサブブロック変換(Sub-Block Transform,SBT)などの、VVCおよびAV1ドラフト標準に記載されている他の変換機能をサポートする。
【0042】
さらに、変換/量子化ユニット440は、最大63個の量子化パラメータ(QP)をサポートする。変換/量子化ユニット440はまた、SPSにおける輝度から彩度へのマッピング関係をシグナリングすることによって、柔軟な輝度から彩度へのQPマッピングをサポートする。変換/量子化ユニット440はまた、輝度および彩度コンポーネントのデルタQP値を別々にシグナリングできるCUレベルのQP適応をサポートする。変換/量子化ユニット440はまた、従属量子化など、VVCおよびAV1標準で説明されている他の量子化機能をサポートする。
【0043】
変換/量子化ユニット440はまた、TUレベルフラグによって示される彩度残差の統合コーディングをサポートする。
【0044】
コンテキスト適応型2値算術コーディング(CABAC)は、エントロピーコーディングアルゴリズムとして説明できる。エントロピーエンコーダ480は、変換/量子化ユニット440によって出力されたシンタックス要素をエンコードするCABACコーディングエンジンを含む。CABACコーディングエンジンは、ゴロムライスコーディングアルゴリズムなどの算術コーディングアルゴリズムをサポートする。エントロピーエンコーダ480は、変換ブロックおよび変換スキップブロックのための別個の残差コーディング構造をサポートする。エントロピーエンコーダ480は、重複しない係数グループ(CGまたはサブブロック)を使用することによってコーディングブロックの変換係数をコーディングし、各CGは、可変サイズのコーディングブロックの変換係数を含む。係数グループのサイズは、チャネルタイプに関係なく、変換ブロックサイズのみに基づいて選択される。CGのサイズは、1x16、2x8、8x2、2x4、4x2および16x1を含み得る。各コーディングブロック内のCGおよび各CG内の変換係数は、事前定義されたスキャン順序に従ってコーディングされる。
【0045】
変換ユニット内の各コーディングブロックは、複数のサブブロックに分割され、各サブブロックは複数のピクセルに分割される。複数のサブブロックは、4x4または2x2サブブロックを含む。
【0046】
算術コーディングアルゴリズムでは、確率モデルは、シンタックス要素の絶対レベルまたは局所近傍のシンタックス要素の部分的に再構築された絶対レベルに応じて、シンタックス要素ごとに動的に選択される。
【0047】
逆量子化/逆変換ユニット450は、変換/量子化ユニット440によって実行される量子化プロセスおよび変換プロセスを逆にし、出力を加算ユニット460に供給して、ピクチャフレームを再構築する。加算ユニット460はまた、予測ユニット430の出力を別の入力として受け取る。再構築されたピクチャは、インループフィルタ470によってフィルタリングされる。インループフィルタ470は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、および適応ループフィルタ(ALF)を含み、これらはこの順序でカスケード接続される。インループフィルタ470の出力は、予測ユニット430に入力される。
【0048】
本開示は、ビデオエンコードおよび/またはデコード方法を提供する。図5は、本開示の実施形態と一致する例示的なビデオエンコードおよび/またはデコード方法のフローチャートを示す。図5に示されるように、ビデオエンコードおよび/またはデコード方法は、ビデオ入力の現在フレームを取得するステップを含む(S510)。現在フレームを取得した後、現在フレームを、パーティションツリー構造に従って複数のコーディングブロックに分割できる。
【0049】
S520で、現在フレームを複数のコーディングブロックに分割する。現在フレームをさまざまな正方形と長方形のパーティションに分割できる。正方形のパーティションをさらに小さなパーティションに分割することができる。しかしながら、長方形のパーティションをさらに分割することはできない。
【0050】
現在フレームを複数のコーディングブロックに分割した後、シンボルレベルを、イントラ予測モードで各コーディングブロックについて予測する(S530)。イントラ予測モードは、異なるビデオコーディング標準に基づいて異なるビデオコーディングスキームの異なるビデオコーディングフォーマットで異なるように定義されるため、イントラ予測モードを、AV1標準およびVVC標準などのビデオコーディング標準に基づいて、異なるビデオコーディングスキームのさまざまなビデオコーディングフォーマットに対応するように決定して、コーディング効率と圧縮性能を向上させる。コーディング効率および圧縮性能に基づいて決定された対応するイントラ予測モードは、対応するビデオコーディングスキームで定義された全ての利用可能なイントラ予測モードのサブセットである。サブセットは、利用可能なイントラ予測モード(AIPM)セットと呼ばれる。AIPMセットに含まれるイントラ予測モードは、図4に示されるビデオエンコーダ400などのビデオコーディングデバイスによってシグナリングされる。AIPMセットに含まれるイントラ予測モードの数は、対応するビデオコーディングスキームで定義された全ての利用可能なイントラ予測モードの数より少ないため、AIPMセットに含まれるイントラ予測モードをシグナリングするために必要なビットは少なくなる。さらに、シンボルレベルを、イントラ予測モードに加えて、インター予測モードで各コーディングブロックについて予測できる。
【0051】
シンボルレベルが予測された後、残差シンボルレベルが変換および量子化される。残差シンボルレベルは、現在シンボルレベルと予測されたシンボルレベルとの差である。
【0052】
1つの平面イントラ予測モード、1つのDCイントラ予測モード、および85個の角度イントラ予測モードは、図6に示されるように、VVC標準によって定義される。しかしながら、利用可能なイントラ予測モードの数は、各コーディングブロックについて常に67である。イントラ予測モードをコーディングするために、サイズが3の最確モード(most probable mode,MPM)リストが、2つの隣接コーディングブロックのイントラ予測モードを使用して構築される。まず、1つのMPMフラグをシグナリングして現在のモードがMPMであるか否かを示す。次に、MPMフラグが真(true)である場合、トランケーテッドユーナリコードを使用してMPMインデックスをシグナリングし、それ以外の場合には、6ビットの固定長コーディングを使用して残りのモードをシグナリングする。
【0053】
一方、56個の角度イントラ予測モード、5つの非角度スムーズイントラ予測モード、1つの彩度のみのイントラ予測モード、およびその他のいくつかのイントラ予測モードは、AV1標準によって定義される。8つの方向性(または角度)モードは、45~207度の角度に対応する。方向性テクスチャでより多くの種類の空間的冗長性を活用するために、方向性イントラ予測モードは、より細かい粒度で設定された角度に拡張される。8つの方向性モードの角度がわずかに変更され、公称角度として作成され、これらの8つの公称角度は、公称イントラ角度とも呼ばれ、図7に示されるように、90°、180°、45°、135°、113°、157°、203°、および67°に対応するV_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、およびD67_PREDと呼ばれる。各公称角度は、7つのより細かい角度に拡張される。したがって、合計56個の方向性のある角度(イントラ角度または予測角度とも呼ばれる)が定義される。各予測角度は、3度のステップサイズに-3~3倍した公称イントラ角度+角度デルタで表される。一般的な方法で方向性イントラ予測モードを実装するために、56個の方向性イントラ予測モードはすべて、各ピクセルを参照サブピクセル位置に投影し、2タップの双1次フィルタによって参照ピクセルを補間する統合された方向性予測子を使用して実装される。
【0054】
イントラ予測モードは、DC、PAETH、SMOOTH、SMOOTH_VおよびSMOOTH_Hの5つの非方向性および/またはスムーズイントラ予測モードも含む。DC予測について、左側と上部の隣接サンプルの平均が、予測されるブロックの予測子として使用される。PAETH予測子について、まず、上部、左側、および左上の参照サンプルがフェッチされ、次に、(上部+左側-左上)に最も近い値が予測されるピクセルの予測子として設定される。図8は、現在ブロック内の1つのピクセルの上部、左側、および左上のサンプルの位置を示す。SMOOTH、SMOOTH_V、およびSMOOTH_Hモードについて、垂直方向または水平方向の2次補間、または両方向の平均を使用してブロックを予測する。
【0055】
エッジ上の参照との減衰する空間的相関をキャプチャするために、FILTER INTRAモードは輝度ブロック用に設計される。5つのフィルタイントラモードが定義される。5つのフィルタイントラモードのそれぞれは、4x2パッチのピクセルと7つの近傍する隣接物と間の相関を反映する8つの7タップフィルタのセットによって表される。つまり、7タップフィルタの重み係数は位置に依存する。例えば、8x8ブロックを例として、それは、図9に示されるように、8つの4x2パッチに分割される。これらのパッチは、図9のB0、B1、B2、B3、B4、B5、B6、およびB7によって示される。各パッチについて、R0~R7で示される7つの近傍する隣接物は、現在パッチのピクセルを予測するために使用される。パッチB0については、すべての近傍する隣接物がすでに再構築されている。しかしながら、他のパッチについては、すべての近傍する隣接物が再構築されているわけではない。近傍する隣接物の予測された値は、参照として使用される。例えば、パッチB7の全ての近傍する隣接物が最構築されていないため、代わりに近傍する隣接物の予測サンプル(つまり、B5とB6)が使用される。
【0056】
輝度予測に基づく彩度決定(Chroma from Luma,CfL)は、輝度ピクセルを一致する再構築された彩度ピクセルの線形関数としてモデル化する、輝度のみのイントラ予測子である。CfL予測は次のように表される。
【数1】
ACは、輝度コンポーネントのAC寄与を示し、αは、線形モデルのパラメータを示し、DCは、彩度コンポーネントのDC寄与を示す。具体的には、再構築された輝度ピクセルを彩度解像度にサブサンプリングし、次に平均値を差し引いて、AC寄与を形成する。AC寄与から彩度ACコンポーネントを概算するために、デコーダに対してスケーリングパラメータの計算を要求する代わりに、CfLは、元の彩度ピクセルに基づいてパラメータを決定し、かつパラメータをビットストリームでシグナリングする。このアプローチにより、デコーダの複雑さが軽減され、より正確な予測が可能になる。彩度コンポーネントのDC寄与については、大部分の彩度コンテンツに十分であってかつ成熟した高速実装を有するイントラDCモードを使用して計算される。
【0057】
図5に戻り、S540では、残差シンボルレベルを変換および量子化する。大きなブロックサイズの変換は、最大64x64のサイズを含む。サイズが64に等しい変換ブロックでは、高周波数の変換係数がゼロにされるため、低周波数の係数のみが保持される。変換スキップモードで大きなブロックを変換する場合、値をゼロにすることなくブロック全体が使用される。さらに、コア変換では複数変換選択(MTS)がサポートされる。MTSを制御するために、シーケンスパラメータセット(SPS)レベルで、イントラ予測およびインター予測にそれぞれ個別の有効化フラグが使用される。MTSがSPSレベルで有効化される場合、MTSが適用されているか否かを示すCUレベルフラグがシグナリングされる。低周波非分離可能変換(LFNST)およびサブブロック変換(SBT)などの他の変換機能がサポートされ得る。
【0058】
さらに、最大63の量子化パラメータ(QP)は、変換および量子化プロセスによってサポートされる。柔軟な輝度から彩度へのQPマッピングは、SPSで輝度から彩度へのマッピング関係をシグナリングすることによってもサポートされる。輝度コンポーネントと彩度コンポーネントのデルタQP値を別々にシグナリングできるCUレベルのQP適応もサポートされ得る。従属量子化などの他の量子化機能もサポートされ得る。
【0059】
図5に示されるように、S550では、変換および量子化された残差シンボルレベルをエントロピーコーディングする。エントロピーコーディングアルゴリズムは、コンテキスト適応型2値算術コーディング(CABAC)であり得る。CABACコーディングエンジンを使用して、変換および量子化プロセスによって出力されるシンタックス要素をエンコードすることができる。CABACコーディングエンジンは、ゴロムライスコーディングアルゴリズムなどの算術コーディングアルゴリズムをサポートする。変換ブロックおよび変換スキップブロックでは、個別の残差コーディング構造がサポートされ得る。重複しない係数グループ(CGまたはサブブロック)を使用することによってコーディングブロックの変換係数がコーディングされ得、各CGは、可変サイズのコーディングブロックの変換係数を含む。係数グループのサイズは、チャネルタイプに関係なく、変換ブロックサイズのみに基づいて選択される。CGのサイズは、1x16、2x8、8x2、2x4、4x2および16x1を含み得る。各コーディングブロック内のCGおよび各CG内の変換係数は、事前定義されたスキャン順序に従ってコーディングされる。
【0060】
図5に示されるように、S560では、ビットストリームを出力する。エントロピーコーディングの結果、ビットストリームが出力される。ビットストリームは、送信および/または記憶され得る。デコーダは、本開示と一致するビデオエンコード方法に対応するビデオデコーディングを実行して元のビデオを復元することができる。
【0061】
様々なビデオコーディングフォーマットのイントラモードコーディングに対応するために、許容されたイントラ予測モードセット(AIPM)および許容されていないイントラ予測モード(DIPM)セットと呼ばれている2つのイントラ予測モードセットが各コーディングブロックに対して定義され得る。AIPMセットは、現在ブロックのイントラ予測に使用することができるモードを有する1つのモードセットとして定義され、DIPMセットは、現在ブロックのイントラ予測にシグナリングすることも使用することもできないモードを有する1つのモードセットとして定義される。AIPMセット内の各イントラ予測モードは、インデックス番号によって識別される。各ブロックについて、2つのモードセット内のイントラ予測モードは、隣接ブロックのイントラ予測モードに従って導出される。隣接ブロックのイントラ予測モード(つまり、隣接モード)は、AIPMセットに含まれるが、DIPMセットに含まれない。AIPMセットに含まれるモードの数およびDIPMセットに含まれるモードの数は、すべてのブロックに対して事前定義され、固定される。AIPMセットのサイズがSで、隣接モードから導出されたイントラ予測モードの数がS未満の場合、デフォルトモードはAIPMセットを充填するために使用される。
【0062】
利用可能なイントラ予測モードの数は62であり、56個の角度イントラ予測モード、5つのスムーズモード、および1つのChroma from Luma(CfL)モードを含む。56個の角度イントラ予測モードについて、そのうちの8つは公称角度と呼ばれ、各公称角度には7つのデルタ角度(デルタ角度が0の公称角度自体を含む)があり、これらはVVC標準によって定義された角度と異なる。さらに、スムーズイントラ予測モードは、AV1標準とVVC標準で定義が異なる。したがって、AIPMセットに含まれるイントラ予測モードは、両方の標準でのビデオコーディングフォーマットに対応するように決定することができる。
【0063】
したがって、本開示は、ビデオコーディング方法を提供する。この方法には、VVC標準およびAV1標準の両方に基づいてビデオコーディングスキームにシームレスに適用することができるイントラモードコーディングを含む。この方法は、別々に使用することも、任意の順序で組み合わせることもできる。本開示では、イントラコーディングモードがスムーズモードではない場合、または所与の予測方向に従って予測サンプルを生成している場合、イントラコーディングモードは角度モードと呼ばれる。さらに、本開示と一致するエンコーダおよびデコーダの実施形態は、非一時的なコンピュータ可読記憶媒体に記憶されたプログラム命令を実行する処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装され得る。
【0064】
イントラモードコーディングを、VVC標準およびAV1標準の両方に基づいてビデオコーディングスキームのビデオコーディングフォーマットに適用することができるようにするために、ビデオコーディング方法は、許容されたイントラ予測モード(AIPM)セットに含まれるイントラ予測モードを決定するためのプロセスを提供する。図10は、本開示の実施形態と一致する、許容されたイントラ予測モード(AIPM)セットに含まれるイントラ予測モードを決定するフローチャートを示す。図10に示されるように、S1010では、現在のビデオコーディングフォーマットを決定する。現在のビデオコーディングフォーマットは、VVC標準、AV1標準、およびそれらの改訂に基づくビデオコーディングスキームのビデオコーディングフォーマットの1つであり得る。
【0065】
現在のビデオコーディングフォーマットがVVC標準に基づくビデオコーディングスキームである場合、VVC標準に基づくビデオコーディングスキームについてのAIPMセットには、各コーディングブロックについて6つのMPMと32の残りのモードとが含まれる。図11に示されるように、6つのMPMは、5つの隣接ブロックから導出される。32個の残りのモードは、MPMリストの角度隣接モードにオフセット値を付加することによって導出される。オフセット値は、offsetList1={1、2、3、4、6、8}から選択される。各オフセット値について、各角度隣接モードは、まだ含まれていない場合に、残りのモードとしてそのオフセットを加えられる。導出プロセスが完了した後、残りのモードリストがいっぱいでない場合、デフォルトモードリストを使用する。デフォルトモードリストは、{0、1、2、50、18、34、66、10、26、42、58、6、14、22、30、38、46、54、62、4、8、12、16、20、24、28、32、36、40、44、48、52、56、60、64、17、19、49、51}を含む。隣接CUが現在CTU行の外側にある場合、それらの隣接モードはMPM導出プロセスのためにスキップされる。イントラ予測モードをコーディングするために、MPMフラグをシグナリングする。MPMフラグが、現在のモードがMPMであることを示す場合、バイパスコーディングをトランケーテッドユーナリコードワードを使用してMPMインデックスをシグナリングする。それ以外の場合は、バイパスコーディングを使用した5ビットの固定長コードワードを使用して、残りのモードのモードインデックスをシグナリングする。VTM AIおよびRA構成では、エンコード時間の増加はほとんどなく、0.49%のコーディングゲインと16%のBDレートの向上とが達成される。したがって、VVC標準に基づいてビデオコーディングスキームのAIPMセットに含まれるイントラ予測モードの数を低減することにより、コーディング効率と圧縮性能とが向上する。
【0066】
シミュレーションが、AIおよびRA構成を有するVTM構成を使用してLinuxクラスタに対して実行されて、表1に示すコーディング性能データが取得される。共通試験条件は、参照により本明細書に組み込まれるJVET共通試験条件およびソフトウェア参照構成(JVET-K1010)に記載される。
【表1】
【0067】
現在のビデオコーディングフォーマットがVVC標準に基づくビデオコーディングスキームである場合、AV1標準に基づくビデオコーディングスキームについてのAIPMセットには、現在ブロックのサイズまたは隣接ブロックのイントラ予測モードに関係なく、8つの公称角度の角度イントラ予測モードが含まれ、8つの公称角度は45°、67°、90°、113°、135°、157°、180°、および203°である。AV1ビデオコーディングフォーマットについてのAIPMセットは、隣接ブロックのイントラ予測モードに関係なく、特定の非方向性および/またはスムーズイントラ予測モードをさらに含む。利用可能な非方向性および/またはスムーズイントラ予測モードは、DC、PAETH、SMOOTH、SMOOTH_V、およびSMOOTH_Hモードを含む。DCモードについて、左側および上部の隣接サンプルの平均が、予測されるブロックの予測子として使用される。PAETHモードについて、まず、上部、左側、および左上の参照サンプルがフェッチされ、次に、(上部+左側-左上)に最も近い値が予測されるピクセルの予測子として設定される。図8は、現在ブロック内の1つのピクセルの上部、左側、および左上のサンプルの位置を示す。SMOOTH、SMOOTH_V、およびSMOOTH_Hモードについて、垂直方向または水平方向の2次補間、または両方向の平均を使用してブロックを予測する。
【0068】
SMOOTHモードは、AIPMセットの第1の位置に配置される。DCモードは、AIPMセットの第2の位置に配置される。現在ブロックが非正方形ブロックの場合、SMOOTH_HモードとSMOOTH_Vモードの一方のみがAIPMセットに配置される。現在ブロックが垂直ブロック(ブロックの高さが幅より大きい)の場合、SMOOTH_VモードはAIPMセットに配置され、かつ現在ブロックが水平ブロック(ブロックの幅がブロックの高さより大きい)の場合、SMOOTH_HモードはAIPMセットに配置される。または、現在ブロックが垂直ブロックの場合、SMOOTH_HモードはAIPMセットに配置され、かつ現在ブロックが水平ブロックの場合、SMOOTH_VモードはAIPMセットに配置される。
【0069】
AIPMセットに含まれるイントラ予測モードは、2つまたは3つのレベルに分割できる。各レベルについて、モードの数は、2のように2の累乗に等しく、ここで、Lは1より大きい正の整数である。例えば、AIPMセットにおけるモードの数はSであり、モードは3つのレベルを含み、Sは2+2+2に等しく、AIPMセットにおける2より小さいインデックス番号を有するモードは、第1のレベルモードと呼ばれ、2以上であるが2+2より小さいインデックス番号を有するモードは、第2のレベルモードと呼ばれる。
【0070】
隣接ブロックのイントラ予測モードの少なくとも1つが角度モードである場合、ゼロ以外の角度デルタを有する少なくとも1つの角度モードは、AIPMセットの第1のレベルに含まれる。公称角度のすべてのモードはAIPMセットの第1のレベルに含まれ、すべての非方向性および/またはスムーズモードもAIPMセットの第1のレベルに含まれる。ゼロ以外の角度デルタを有する追加の角度モードは、AIPMセットの第2のレベルおよび第3のレベルに含まれ得る。
【0071】
AIPMセット内のモードが2つのレベルを含む場合、フラグをシグナリングして現在のモードが第1のレベルに属しているか第2のレベルに属しているかを示し、マルチシンボルエントロピーコーディング(または他の適切なエントロピーコーディング方法)を使用して、第1のレベルまたは第2のレベルでの現在のモードのインデックスをシグナリングする。AIPMセット内のモードが3つのレベルを含む場合、第1のフラグをシグナリングして現在のモードが第1のレベルに属しているか否かを示す。現在のモードが第1のレベルに属していない場合、第2のフラグをシグナリングして現在のモードがAIPMセットの第2のレベルに属しているか第3のレベルに属しているかを示す。さらに、インデックス番号をシグナリングして前述のフラグによって示されたレベルで現在のイントラ予測モードを示す。
【0072】
AIPMセットを再構築する複雑さを軽減するために、最大でP個の隣接角度モードを使用してAIPMセット内のモードを導出し、Pは1、2、3などの正の整数である。隣接ブロック内の角度モードの数は、コンテキストコーディングされた算術エンコーダを介してイントラ予測モードをシグナリングする場合にコンテキストインジケータとして使用される。
【0073】
隣接角度モードの数が0に等しい場合、第1のコンテキストを使用する。それ以外の場合、隣接角度モードの数が1に等しい場合、第2のコンテキストを使用する。それ以外の場合、隣接角度モードの数が2に等しい場合、第3のコンテキストを使用する。
【0074】
あるいは、隣接角度モードの数が0に等しい場合、第1のコンテキストを使用する。それ以外の場合、隣接角度モードの数が1に等しい場合、第2のコンテキストを使用する。それ以外の場合、隣接角度モードの数が2に等しく、かつ2つの角度モードが等しい場合、第3のコンテキストを使用する。それ以外の場合、第4のコンテキストを使用する。
【0075】
彩度ブロックについて、隣接ブロック内の角度モードの数と、コロケートされる輝度ブロック内の角度モードの数との両方を組み合わせてコンテキストインジケータを形成する。
【0076】
さらに、輝度コンポーネントのAIPMセットはAIPM_Lumaセットと呼ばれ、彩度コンポーネントのAIPMセットはAIPM_Chromaセットと呼ばれる。AIPM_Lumaセットは、隣接ブロックの輝度モードを使用して構築され、AIPM_Chromaセットは、隣接ブロックの彩度モードおよび/またはコロケートされる輝度ブロックの彩度モードを使用して構築される。
【0077】
輝度コンポーネントおよび彩度コンポーネントが同じAIPMセットを共有する場合、AIPMセットは、隣接ブロックの輝度モードを使用して構築される。彩度コンポーネントは、chroma from luma(CfL)モードなどの追加のクロスコンポーネント線形モデルモードを含む。例えば、輝度コンポーネントの許容されたモードの数がSの場合、彩度コンポーネントの許容されたモードの数はS+1である。彩度コンポーネントについて、フラグをシグナリングして現在のモードがCfLモードであるか否かを示す。現在のモードがCfLモードでない場合、追加のフラグをシグナリングしてAIPMセット内の現在のモードのインデックス番号を示す。
【0078】
代替的または追加的に、彩度コンポーネントの許容されたモードの数は、輝度コンポーネントの許容されたモードの数と同じに保持される。しかしながら、AIPMセットで許容されたモードの1つは、CfLモードに置き換えられる。
【0079】
代替的または追加的に、AIPM_Lumaセットは、隣接ブロックの輝度モードを使用して構築され、AIPM_Chromaセットは、AIPM_Lumaセット+Chroma from Luma(CfL)モードなどのクロスコンポーネント線形モデルモードのサブセットである。
【0080】
代替的または追加的に、AIPM_Lumaセットの第1のレベルのモードのみがAIPM_Chromaセットに含まれ、AIPM_Lumaセットの残りのモードはAIPM_Chromaセットに含まれない。
【0081】
代替的または追加的に、AIPM_Lumaセットは、隣接ブロックの輝度モードを使用して構築され、AIPM_Chromaセットは、隣接ブロックの彩度モードを使用して構築される。
【0082】
本開示の実施形態では、ビデオコーディング方法は、VVC標準およびAV1標準の両方に基づくビデオコーディングスキームにおけるイントラ予測モードをサポートしてコーディング効率および圧縮性能を向上させる。
【0083】
本開示の原理および実装は、本明細書の特定の実施形態を使用して説明されているが、実施形態の前述の説明は、本開示の方法および方法の核となるアイデアを理解するのを助けることのみを目的としている。一方、当業者は、本開示のアイデアに従って、特定の実装および適用範囲に変更を加えることができる。結論として、本明細書の内容は、本開示に対する限定として解釈されるべきではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11