(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-18
(54)【発明の名称】クロマ・フロム・ルマ・イントラ予測モードにおいてパラメータをスケーリングするための改善されたシグナリング方法
(51)【国際特許分類】
H04N 19/11 20140101AFI20240710BHJP
H04N 19/176 20140101ALI20240710BHJP
H04N 19/186 20140101ALI20240710BHJP
H04N 19/136 20140101ALI20240710BHJP
H04N 19/46 20140101ALI20240710BHJP
【FI】
H04N19/11
H04N19/176
H04N19/186
H04N19/136
H04N19/46
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023556781
(86)(22)【出願日】2022-11-09
(85)【翻訳文提出日】2023-09-14
(86)【国際出願番号】 US2022049390
(87)【国際公開番号】W WO2023239398
(87)【国際公開日】2023-12-14
(32)【優先日】2022-06-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-11-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】イェ,ジン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP16
5C159RC12
5C159TA31
5C159TB08
5C159TC02
5C159TC06
5C159TC42
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
クロス・コンポーネント・イントラ予測を実行するための方法及び装置は:コーディングされたビットストリームから現在のクロマ・ブロックを受信し;CfL(chroma for luma)イントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子を、コーディングされたビットストリームから決定し;現在のクロマ・ブロックの第1の近辺のサンプルと、現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出し;予測されたスケーリング因子を、CfLイントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子として使用し;予測されたスケーリング因子に基づいて現在のクロマ・ブロックをスケーリングした後に現在のクロマ・ブロックを再構成する。
【特許請求の範囲】
【請求項1】
クロス・コンポーネント・イントラ予測を実行するために少なくとも1つのプロセッサにより実行される方法であって、当該方法は:
コーディングされたビットストリームから現在のクロマ・ブロックを受信するステップ;
CfL(chroma for luma)イントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子を、前記コーディングされたビットストリームから決定するステップ;
前記現在のクロマ・ブロックの第1の近辺のサンプルと、前記現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出するステップ;
前記予測されたスケーリング因子を、前記CfLイントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子として使用するステップ;及び
前記予測されたスケーリング因子に基づいて前記現在のクロマ・ブロックをスケーリングした後に前記現在のクロマ・ブロックを再構成するステップ;
を含む方法。
【請求項2】
請求項1に記載の方法において、前記予測されたスケーリング因子は、前記現在のクロマ・ブロックの上又は左に位置する少なくとも1つのクロマ・サンプル、及び、前記現在のルマ・ブロックの上又は左に位置する少なくとも1つのルマ・サンプルに基づいて導出される、方法。
【請求項3】
請求項1に記載の方法において、前記予測されたスケーリング因子は、最小二乗平均演算を用いて導出される、方法。
【請求項4】
請求項1に記載の方法において、前記予測されたスケーリング因子は、第1のクロマ成分及び第2のクロマ成分に対して別々に導出される、方法。
【請求項5】
請求項1に記載の方法において、前記予測されたスケーリング因子は、複数のスケーリング因子に含まれており;
前記複数のスケーリング因子に対して利用可能な符号値のうちの少なくとも1つと、前記スケーリング因子に対応する絶対値の大きさとを順序付けるために、スケーリング・パラメータが使用される、方法。
【請求項6】
請求項1に記載の方法において、前記スケーリング因子は0ではないことを示すフラグに基づいて、0に対するものを除いて複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用され;
前記予測されたスケーリング因子は、前記複数のスケーリング因子の中から選択されている、方法。
【請求項7】
請求項1に記載の方法において、前記予測されたスケーリング因子は複数のスケーリング因子に含まれており;
前記複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用され;及び
前記複数のスケーリング因子の中から前記予測されたスケーリング因子を選択するためにインデックスが使用される、方法。
【請求項8】
請求項1に記載の方法において、複数のスケーリング因子の中からスケーリング因子のサブセットを選択するためにスケーリング・パラメータが使用され;
前記コーディングされたビットストリームでシグナリングされたシンタックス要素に基づいて前記スケーリング因子のサブセットの中から前記予測されたスケーリング因子が選択される、方法。
【請求項9】
クロス・コンポーネント・イントラ予測を実行するためのデバイスであって:
プログラム・コードを記憶するように構成された少なくとも1つのメモリ;及び
前記プログラム・コードにアクセスし、前記プログラム・コードにより指示される動作を行うように構成された少なくとも1つのプロセッサ;
を含み、前記プログラム・コードは、請求項1-8のうちの何れか一項に記載の方法を前記少なくとも1つのプロセッサに実行させる、デバイス。
【請求項10】
請求項1-8のうちの何れか一項に記載の方法を、クロス・コンポーネント・イントラ予測を実行するデバイスのプロセッサに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 関連出願の相互参照
本件出願は、米国特許商標庁において2022年6月6日付で出願された米国仮出願第63/349472号及び2022年11月8日付で出願された米国出願第17/982967号からの優先権を主張しており、これらの出願の開示全体は参照により本件に援用される。
【0002】
[0002] 技術分野
本開示の実施形態は、一群のアドバンスト・ビデオ・コーディング技術に関連しており、より詳細には、クロス・コンポーネント・イントラ予測モード(cross-component intra prediction modes)のためのスケーリング・パラメータをシグナリングすることに関連する。
【背景技術】
【0003】
[0003] AOMediaビデオ1(AV1)は、インターネットを介するビデオ伝送のために設計されたオープン・ビデオ・コーディング・フォーマットである。これは、2015年に設立されたコンソーシアムであるAOMedia(Alliance for Open Media)によってVP9の後継として開発されたものであり、このコンソーシアムは、半導体企業、ビデオ・オン・デマンド・プロバイダ、ビデオ・コンテンツ製作者、ソフトウェア開発会社、及びウェブ・ブラウザ・ベンダを含む。AV1プロジェクトの構成要素の多くは、アライアンス・メンバーによる以前の研究努力から調達されている。個々の寄稿者は、数年前に実験技術プラットフォームを開始している:Xiph’s/Mozilla’sの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日付で、「AV1ビットストリーム&でコーディング・プロセス仕様」がリリースされ、これは、仕様のErrata 1を伴う検証済みバージョン1.0.0である。AV1ビットストリーム仕様は、参照ビデオ・コーデックを含む。「AV1ビデオ・ビットストリーム&でコーディング・プロセス仕様」(Errata 1を伴うバージョン1.0.0)、オープン・メディアのためのアライアンス(2019年1月8日)は、参照によりその全体が本件に援用される。
【0004】
[0004] HEVC(High Efficiency Video Coding)規格は、ITU-T VCEG(Video Coding Experts Group)及びISO/IEC MPEG(Moving Picture Experts Group)標準化団体によって共同で開発されている。HEVC規格を発展させるために、これらの2つの標準化団体は、JCT-VC(Joint Collaborative Team on Video Coding)として知られるパートナーシップにおいて協働している。HEVC規格の初版は、2013年1月にファイナライズされ、ITU-T及びISO/IECの両方によって公開された整合テキスト(aligned text)をもたらしている。その後、増強された精度及びカラー・フォーマット・サポートを伴う拡張されたレンジ使用、スケーラブル・ビデオ・コーディング、並びに3 D/ステレオ/マルチビュー・ビデオ・コーディングを含む、幾つかの追加的なアプリケーション・シナリオをサポートするように規格を拡張するために、追加の作業が編成された。ISO/IECにおいて、HEVC規格はMPEG-H Part 2 (ISO/IEC 23008-2)となり、ITU-Tにおいて、それはITU-T勧告H.265となった。HEVC規格に対する仕様“SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video”,ITU-T H.265, International Telecommunication Union (April 2015)は、参照によりその全体が本件に援用される。
【0005】
[0005] ITU-T VCEG(Q6/16)及びISO/IEC MPEG(JTC 1/SC 29/WG 11)は、H.265/HEVC(高効率ビデオ・コーディング)規格を、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)、及び2016年(バージョン4)に公開している。それ以来、当局は、圧縮能力においてHEVCよりも著しく性能が優れている可能性がある将来のビデオ・コーディング技術の標準化に関する潜在的な必要性を研究している。2017年10月に、当局は、HEVCを超える能力を有するビデオ圧縮に関する提案の共同要求(Joint Call for Proposals on Video Compression with Capability beyond HEVC,CfP)を発行した。2018年2月15日までに、標準ダイナミック・レンジ(SDR)に関する22のCfPレスポンス、ハイ・ダイナミック・レンジ(HDR)に関する12のCfPレスポンス、及び360ビデオ・カテゴリに関する12のCfPレスポンスがそれぞれ提出された。2018年4月には、122 MPEG/10 th Joint Video Exploration Team-Joint Video Expert Team(JVET)ミーティングにおいて、受け取られた全てのCfPレスポンスが評価された。慎重な評価により、JVETは、HEVCを超える次世代ビデオ・コーディング、即ち、所謂VVC(Versatile Video Coding)の標準化を正式に開始した。VVC規格に関する仕様“Versatile Video Coding (Draft 7)”, JVET-P2001-vE, Joint Video Experts Team (October 2019)は、参照によりその全体が本件に援用される。VVC規格に関する別の仕様“Versatile Video Coding (Draft 10)”, JVET-S2001-vE, Joint Video Experts Team (July 2020)は、参照によりその全体が本件に援用される。
【発明の概要】
【0006】
[0006] 開示の一態様によれば、クロス・コンポーネント・イントラ予測を実行するための方法は、少なくとも1つのプロセッサにより実行され、当該方法は:コーディングされたビットストリームから現在のクロマ・ブロックを受信するステップ;クロマ・フォー・ルマ(chroma for luma,CfL)イントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子を、コーディングされたビットストリームから決定するステップ;現在のクロマ・ブロックの第1の近辺のサンプルと、現在のクロマ・ブロックと同等位置にある(co-located)ルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出するステップ;予測されたスケーリング因子を、CfLイントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子として使用するステップ;予測されたスケーリング因子に基づいて現在のクロマ・ブロックをスケーリングした後に現在のクロマ・ブロックを再構成するステップを含む。
【0007】
[0007] 開示の一態様によれば、クロス・コンポーネント・イントラ予測を実行するためのデバイスは、プログラム・コードを記憶するように構成された少なくとも1つのメモリ、及び、プログラム・コードにアクセスし、プログラム・コードにより指示される動作を行うように構成された少なくとも1つのプロセッサを含み、プログラム・コードは:コーディングされたビットストリームから現在のクロマ・ブロックを受信するステップを、少なくとも1つのプロセッサに行わせるように構成された受信コード;CfL(chroma for luma)イントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子を、コーディングされたビットストリームから決定するステップを、少なくとも1つのプロセッサに行わせるように構成された決定コード;現在のクロマ・ブロックの第1の近辺のサンプルと、現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出するステップを、少なくとも1つのプロセッサに行わせるように構成された導出コード;予測されたスケーリング因子を、CfLイントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子として使用するステップを、少なくとも1つのプロセッサに行わせるように構成された使用コード;及び、予測されたスケーリング因子に基づいて現在のクロマ・ブロックをスケーリングした後に現在のクロマ・ブロックを再構成するステップを、少なくとも1つのプロセッサに行わせるように構成された再構成コードを含む。
【0008】
[0008] 開示の一態様によれば、命令を記憶する非一時的なコンピュータ読み取り可能な媒体が提供され、命令は:クロス・コンポーネント・イントラ予測を実行するためにデバイスの1つ以上のプロセッサにより実行された場合に、前記1つ以上のプロセッサに:コーディングされたビットストリームから現在のクロマ・ブロックを受信するステップ;CfL(chroma for luma)イントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子を、コーディングされたビットストリームから決定するステップ;現在のクロマ・ブロックの第1の近辺のサンプルと、現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出するステップ;予測されたスケーリング因子を、CfLイントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子として使用するステップ;及び、予測されたスケーリング因子に基づいて現在のクロマ・ブロックをスケーリングした後に現在のクロマ・ブロックを再構成するステップを行わせる。
【図面の簡単な説明】
【0009】
[0009] 開示される対象事項の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付図面からより明らかになるであろう。
【
図1】[0010]
図1は、実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図2】[0011]
図2は、実施形態による通信システムの簡略化されたブロック図の概略図である。
【
図3】[0012]
図3は、実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図4】[0013]
図4は、実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図5】[0014]
図5は、実施形態によるAV1における8つの公称角度を示す図である。
【
図6】[0015]
図6は、実施形態による現在のブロック及びサンプルを示す図である。
【
図7】[0016]
図7は、実施形態によるクロマ・フォー・ルマ・モードに対応する線形関数の説明図である
【
図8】[0017]
図8は、実施形態による現在のブロック及び近辺のサンプルを示す図である。
【
図9】[0018]
図9は、実施形態によるクロス・コンポーネント・イントラ予測のためのスケーリング・パラメータをシグナリングする方法のフローチャートである。
【
図10】[0019]
図10は、本開示の実施形態を実装するのに適したコンピュータ・システムの図である。
【発明を実施するための形態】
【0010】
[0020] 本件開示では、「ブロック」という用語は、予測ブロック、コーディング・ブロック、又はコーディング・ユニット(CU)として解釈される可能性がある。ここでの「ブロック」という用語は、変換ブロックを指すためにも使用される可能性もある。
【0011】
[0021] 本件開示では、「変換セット」という用語は、変換カーネル(又は候補)オプションのグループを指す。変換セットは、1つ以上の変換カーネル(又は候補)オプションを含む可能性がある。本件開示の実施形態によれば、1つより多い変換オプションが利用可能である場合に、変換セット中の変換オプションのうちの何れが現在ブロックに適用されるのかを示すために、インデックスがシグナリングされてもよい。
【0012】
[0022] 本件開示では、「予測モード・セット」という用語は、予測モード・オプションのグループを指す。予測モード・セットは、1つ以上の予測モード・オプションを含む可能性がある。本開示の実施形態によれば、1つより多い予測モード・オプションが利用可能である場合に、予測モード・セット内の予測モード・オプションのうちの何れが、予測を実行するために現在のブロックに適用されるかを示すために、インデックスが更にシグナリングされる可能性がある。
【0013】
[0023] 本件開示では、「近辺の再構成されたサンプル・セット」という用語は、以前に復号された近辺のブロックからの再構成されたサンプルのグループ、又は以前に復号されたピクチャ内の再構成されたサンプルを指す。
【0014】
[0024] 本件開示では、「ニューラル・ネットワーク」という用語は、「ビデオ・コーディングのための深層学習」に関連して本件で説明されるようにデータを処理する1つ以上の層を有する構造の一般概念を指す。本件開示の実施形態によれば、如何なるニューラル・ネットワークも実施形態を実装するように構成される可能性がある。
【0015】
[0025]
図3は、本開示の実施形態による通信システム(100)の簡略化されたブロック図を示す。通信システム(100)は、ネットワーク(150)を介して相互接続される少なくとも2つの端末(110,120)を含むことが可能である。データの一方向伝送に関し、例えば、第1の端末(110)は、ネットワーク(150)を介する他の端末(120)への伝送のために、ビデオ・データをローカルな場所でコーディングすることができる。第2の端末(120)は、他の端末のコーディングされたビデオ・データをネットワーク(150)から受信し、コーディングされたデータを復号し、復元されたビデオ・データを表示することができる。単方向データ送信は、メディア・サービング・アプリケーション等において一般的である可能性がある。
【0016】
[0026]
図1は、例えば、テレビ会議中に生じる可能性のあるコーディングされたビデオの双方向伝送をサポートするために提供される端末(130,140)の第2のペアを示す。データの双方向伝送のために、各端末(130,140)は、ネットワーク(150)を介する他の端末への伝送のために、ローカルな場所でキャプチャしたビデオ・データをコーディングすることが可能である。各々の端末(130,140)は、また、他の端末によって送信されたコーディングされたビデオ・データを受信することが可能であり、コーディングされたデータを復号することが可能であり、復元されたビデオ・データをローカル・ディスプレイ・デバイスで表示することが可能である。
【0017】
[0027]
図1において、端末(110-140)は、サーバー、パーソナル・コンピュータ、及びスマート・フォン、及び/又は、任意の他のタイプの端末として示されている可能性がある。例えば、端末(110-140)は、ラップトップ・コンピュータ、タブレット・コンピュータ、メディア・プレーヤ、及び/又は、専用ビデオ会議機器であってもよい。ネットワーク(150)は、例えば有線及び/又は無線通信ネットワークを含む、コーディングされたビデオ・データを端末(110-140)間で搬送する任意の数のネットワークを表現している。通信ネットワーク(150)は、回線交換チャネル及び/又はパケット交換チャネルでデータを交換する可能性がある。代表的なネットワークは、電気通信ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、及び/又はインターネットを含む。本件説明の目的のために、ネットワーク(150)のアーキテクチャ及びトポロジは、本件明細書において以下で説明されていない限り、本開示の動作にとって重要ではない可能性がある。
【0018】
[0028]
図4は、開示される対象事項の適用例として、ストリーミング環境におけるビデオ・エンコーダ及びビデオ・デコーダの配置を示している。開示される対象事項は、例えば、ビデオ・カンファレンス、デジタルTV放送、圧縮されたビデオのデジタル・メディア(CD、DVD、メモリ・スティック等を含む)への記憶などを含む、他のビデオ対応アプリケーションに等しく適用可能なものである可能性がある。
【0019】
[0029]
図2に示すように、ストリーミング・システム(200)は、ビデオ・ソース(201)とエンコーダ(203)とを含むことが可能なキャプチャ・サブシステム(213)を含む可能性がある。ビデオ・ソース(201)は、例えば、デジタル・カメラであってもよく、非圧縮ビデオ・サンプル・ストリーム(202)を作成するように構成されていてもよい。圧縮されていないビデオ・サンプル・ストリーム(202)は、符号化されたビデオ・ビットストリームと比較して高いデータ量を提供する可能性があり、例えばカメラである可能性のあるビデオ・ソース(201)に結合されたエンコーダ(203)によって処理されることが可能である。エンコーダ(203)は、以下でより詳細に説明するように、開示される対象事項の態様を可能にする又は実装するために、ハードウェア、ソフトウェア、又はそれらの組合せを含むことが可能である。符号化されたビデオ・ビットストリーム(204)は、サンプル・ストリームと比較してより少ないデータ量を含む可能性があり、将来の使用のためにストリーミング・サーバー(205)に記憶すること可能である。1つ以上のストリーミング・クライアント(206)は、ストリーミング・サーバー(205)にアクセスして、符号化されたビデオ・ビットストリーム(204)のコピーである可能性のあるビデオ・ビットストリーム(209)を取り出すことが可能である。
【0020】
[0030] 実施形態では、ストリーミング・サーバー(205)は、メディア・アウェア・ネットワーク要素(Media-Aware Network Element,MANE)としても機能することも可能である。例えば、ストリーミング・サーバー(205)は、潜在的に相違するビットストリームを、ストリーミング・クライアント(206)のうちの1つ以上に合わせるために、符号化されたビデオ・ビットストリーム(204)をプルーニングするように構成されることが可能である。実施形態では、MANEは、ストリーミング・システム(200)内のストリーミング・サーバー(205)から別々に提供されてもよい。
【0021】
[0031] ストリーミング・クライアント(206)は、ビデオ・デコーダ(210)及びディスプレイ(212)を含むことが可能である。ビデオ・デコーダ(210)は、例えば、符号化されたビデオ・ビットストリーム(204)の着信したコピーであるビデオ・ビットストリーム(209)を復号し、ディスプレイ(212)又は別のレンダリング・デバイス(不図示)でレンダリングすることが可能な発信ビデオ・サンプル・ストリーム(211)を作成することが可能である。一部のストリーミング・システムでは、ビデオ・ビットストリーム(204,209)は、特定のビデオ・コーディング/圧縮規格に従って符号化されることが可能である。そのような規格の例は、ITU-R勧告H.265を含むが、これに限定されない。非公式にVVC(Versatile Video Coding)として知られるビデオ・コーディング規格は開発中である。本開示の実施形態は、VVCの状況で使用されてもよい。
【0022】
[0032]
図3は、本開示の実施形態による、ディスプレイ(212)に取り付けられたビデオ・デコーダ(210)の例示的な機能ブロック図を示す。
【0023】
[0033] ビデオ・デコーダ(210)は、チャネル(312)と、受信機(310)と、バッファ・メモリ(315)と、エントロピー・デコーダ/パーサー(320)と、スケーラ/逆変換ユニット(351)と、イントラ予測ユニット(352)と、動き補償予測ユニット(353)と、アグリゲータ(355)と、ループ・フィルタ・ユニット(356)と、参照ピクチャ・メモリ(357)と、現在ピクチャ・メモリ(358)とを含むことが可能である。少なくとも1つの実施形態において、ビデオ・デコーダ(210)は、集積回路、一連の集積回路、及び/又は、他の電子回路を含んでもよい。ビデオ・デコーダ(210)は、また、関連付けられたメモリを用いて1つ以上のCPU上で動作するソフトウェアに部分的又は全体的に組み込まれてもよい。
【0024】
[0034] この実施形態及び他の実施形態では、受信機(310)は、デコーダ(210)によって復号されるべき1つ以上のコーディングされたビデオ・シーケンスを、一度に1つのコーディング・ビデオシーケンスで受信することが可能であり、ここで、各々のコーディングされたビデオ・シーケンスの復号化は、他のコーディングされたビデオ・シーケンスから独立している。コーディングされたビデオ・シーケンスは、符号化されたビデオ・データを記憶する記憶デバイスに対するハードウェア/ソフトウェア・リンクである可能性のあるチャネル(312)から受信されることが可能である。受信機(310)は、符号化されたビデオ・データを、他のデータ、例えばコーディングされたオーディオ・データ及び/又は補助データ・ストリームとともに受信することが可能であり、これらは(不図示の)エンティティを用いてそれぞれ転送される可能性がある。受信機(310)は、コーディングされたビデオ・シーケンスを、他のデータから分離することが可能である。ネットワーク・ジッタに対処するために、バッファ・メモリ(315)が、受信機(310)とエントロピー・デコーダ/パーサー(320)(以下、「パーサー」という)との間に結合されてもよい。受信機(310)が、十分な帯域幅及び制御性を有する記憶/転送デバイスから、又は、アイソシンクロナス・ネットワークからデータを受信している場合、バッファ・メモリ(315)は使用されなくてもよいか、又は小さくすることが可能である。インターネットのようなベスト・エフォート・パケット・ネットワーク上で使用するために、バッファ・メモリ(315)が必要とされる場合があり、これは比較的大きい可能性があり、また、適応サイズによるものとすることが可能である。
【0025】
[0035] ビデオ・デコーダ(210)は、エントロピー・コーディングされたビデオ・シーケンスからシンボル(321)を再構成するためのパーサー(320)を含む可能性がある。それらのシンボルのカテゴリは、例えば、デコーダ(210)の動作を管理するために使用される情報、及び、
図2に示されるようにデコーダに結合される可能性のあるディスプレイ(212)のようなレンダリング・デバイスを制御するための潜在的な情報を含む。レンダリング・デバイス(複数可)のための制御情報は、例えば、補助拡張情報(Supplementary Enhancement Information,SEI)メッセージ又はビデオ・ユーザビリティ情報(Video Usability Information,VUI)パラメータ・セット・フラグメント(不図示)の形態におけるものであってもよい。パーサー(320)は、受信されたコーディングされたビデオ・シーケンスを解析/エントロピー復号することが可能である。コーディングされたビデオ・シーケンスのコーディングは、ビデオ・コーディング技術又は規格に従うことが可能であり、可変長コーディング、ハフマン・コーディング、コンテキストの影響を伴う又は伴わない算術コーディングなどを含む、当業者に周知の原理に従うことが可能である。パーサー(320)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオ・シーケンスから、ビデオ・デコーダにおいてピクセルのサブグループのうちの少なくとも1つに関するサブグループ・パラメータのセットを取り出すことが可能である。サブグループは、ピクチャのグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディング・ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことが可能である。パーサー(320)は、コーディングされたビデオ・シーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を取り出すことも可能である。
【0026】
[0036] パーサー(320)は、シンボル(321)を作成するために、バッファ・メモリ(315)から受信したビデオ・シーケンスに対してエントロピー復号化/解析動作を実行することが可能である。
【0027】
[0037] シンボルの再構成(321)は、コーディングされたビデオ・ピクチャ又はその一部のタイプ(インター及びイントラ・ピクチャ、インター及びイントラ・ブロックなど)、及びその他の要因に応じて、複数の異なるユニットに関わる可能性がある。どのユニットが関与するか、及びそれらがどのように関与するかは、コーディングされたビデオ・シーケンスからパーサー(320)によって解析されたサブグループ制御情報によって、制御されることが可能である。パーサー(320)と以後の複数のユニットとの間のそのようなサブグループ制御情報の流れは、簡明性のために描かれていない。
【0028】
[0038] 既に述べた機能ブロックを超えて、デコーダ(210)は、以下に説明するように、多数の機能ユニットに概念的に細分すること可能である。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることが可能である。しかしながら、開示される対象事項を説明する目的のために、以下の機能ユニットへの概念的な細分は適切なものである。
【0029】
[0039] 1つのユニットは、スケーラ/逆変換ユニット(351)であってもよい。スケーラ/逆変換ユニット(351)は、量子化された変換係数だけでなく制御情報(どの変換を使用するか、ブロック・サイズ、量子化因子、量子化スケーリング行列などを含む)も、パーサー(320)からシンボル(321)として受信することができる。スケーラ/逆変換ユニット(351)は、アグリゲータ(355)に入力されることが可能なサンプル値を含むブロックを出力することが可能である。
【0030】
[0040] 場合によっては、スケーラ/逆変換(351)の出力サンプルは、イントラ・コーディングされたブロック、即ち、以前に再構成されたピクチャからの予測情報を使用しないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することは可能であるブロック、に関連する可能性がある。このような予測情報は、イントラ・ピクチャ予測ユニット(352)によって提供することが可能である。場合によっては、イントラ・ピクチャ予測ユニット(352)は、現在のピクチャ・メモリ(358)からの現在の(部分的に再構成された)ピクチャからフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。アグリゲータ(355)は、場合によっては、サンプルごとに、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に追加する。
【0031】
[0041] 他の場合に、スケーラ/逆変換ユニット(351)の出力サンプルは、インター・コーディングされ、潜在的に動き補償されたブロックに関連することが可能である。そのような場合、動き補償予測ユニット(353)は、予測に使用されるサンプルをフェッチするために、参照ピクチャ・メモリ(357)にアクセスすることができる。ブロックに関連するシンボル(321)に従って、フェッチされたサンプルを動き補償した後、これらのサンプルは、アグリゲータ(355)によって、スケーラ/逆変換ユニット(351)の出力に加算されて(この場合、残差サンプル又は残差信号と呼ばれる)、出力サンプル情報を生成することができる。動き補償予測ユニット(353)が予測サンプルをフェッチする参照ピクチャ・メモリ(357)内のアドレスは、動きベクトルによって制御されることが可能である。動きベクトルは、例えば、X、Y、及び参照ピクチャ成分を有することが可能なシンボル(321)の形態で、動き補償予測ユニット(353)にとって利用可能であってもよい。動き補償はまた、サブ・サンプルの精密な動きベクトルが使用中である場合に、参照ピクチャ・メモリ(357)からフェッチされるようなサンプル値の補間、動きベクトル予測メカニズム等を含むことが可能である。
【0032】
[0042] アグリゲータ(355)の出力サンプルは、ループ・フィルタ・ユニット(356)において様々なループ・フィルタリング技術の影響を受けることが可能である。ビデオ圧縮技術は、コーディングされたビデオ・ビットストリームに含まれ、パーサー(320)からのシンボル(321)としてループ・フィルタ・ユニット(356)にとって利用可能にされるパラメータによって制御されるループ内フィルタ技術を含むことが可能であるが、コーディングされたピクチャ又はコーディングされたビデオ・シーケンスの(復号順序で)前の部分の復号化の際に取得されたメタ情報に応答するだけでなく、前に再構成されループ・フィルタリング処理されたサンプル値にも応答することが可能である。
【0033】
[0043] ループ・フィルタ・ユニット(356)の出力は、ディスプレイ(212)のようなレンダリング・デバイスに出力されることが可能なサンプル・ストリームであって、将来のインター・ピクチャ予測において使用するために参照ピクチャ・メモリ(357)に記憶されることも可能なサンプル・ストリームであるとすることが可能である。
【0034】
[0044] 所定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用される可能性がある。いったんコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えば、パーサー(320)によって)参照ピクチャとして識別されると、現在の参照ピクチャは参照ピクチャ・メモリ(357)の一部になることが可能であり、以後のコーディングされたピクチャの再構成を開始する前に、新しい現在ピクチャ・メモリが再度割り当てられることが可能である。
【0035】
[0045] ビデオ・デコーダ(210)は、ITU-T Rec.H.265のような規格で文書化されている可能性のある所定のビデオ圧縮技術に従って復号化動作を実行することが可能である。コーディングされたビデオ・シーケンスは、ビデオ圧縮技術の文書又は規格、具体的にはその中のプロファイル文書において指定されているように、ビデオ圧縮技術又は規格のシンタックスに準拠するという意味で、使用されるビデオ圧縮技術又は規格によって指定されるシンタックスに準拠することが可能である。また、幾つかのビデオ圧縮技術又は規格に準拠するために、コーディングされたビデオ・シーケンスの複雑さは、ビデオ圧縮技術又は規格のレベルによって定義される範囲内のものであることが可能である。場合によっては、レベルは、最大ピクチャ・サイズ、最大フレーム・レート、最大再構成サンプル・レート(例えば、メガサンプル/秒で測定される)、最大参照ピクチャ・サイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(Hypothetical Reference Decoder,HRD)仕様と、コーディングされたビデオ・シーケンスでシグナリングされるHRDバッファ管理のためのメタデータとにより更に制限されることが可能である。
【0036】
[0046] 実施形態では、受信機(310)は、符号化されたビデオとともに追加の(冗長的な)データを受信する可能性がある。追加データは、コーディングされたビデオ・シーケンスの一部として含まれていてもよい。追加データは、データを適切に復号するために、及び/又は、元のビデオ・データをより正確に再構成するために、ビデオ・デコーダ(210)によって使用される可能性がある。追加データは、例えば、時間、空間、又はSNRエンハンスメント・レイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正コードなどの形態におけるものであるとすることが可能である。
【0037】
[0047]
図4は、本開示の実施形態によるビデオソース(201)に関連付けられたビデオ・エンコーダ(203)の例示的な機能ブロック図を示す。
【0038】
[0048] ビデオ・エンコーダ(203)は、例えば、ソース・コーダ(430)であるエンコーダと、コーディング・エンジン(432)と、(ローカル)デコーダ(433)と、参照ピクチャ・メモリ(434)と、予測器(435)と、送信機(440)と、エントロピー・コーダ(445)と、コントローラ(450)と、チャネル(460)とを含む可能性がある。
【0039】
[0049] エンコーダ(203)は、エンコーダ(203)によってコーディングされるべきビデオ画像をキャプチャすることが可能な(エンコーダの一部ではない)ビデオ・ソース(201)から、ビデオ・サンプルを受信することが可能である。
【0040】
[0050] ビデオ・ソース(201)は、エンコーダ(203)によってコーディングされるべきソース・ビデオ・シーケンスを、何らかの適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、何らかの色空間(例えば、BT.601 YCrCB、RGB、...)、及び何らかの適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)のものであるとすることが可能なデジタル・ビデオ・サンプルストリームの形態で提供することが可能である。メディア・サービング・システムにおいて、ビデオ・ソース(201)は、事前に準備されたビデオを記憶することが可能なストレージ・デバイスであってもよい。ビデオ・カンファレンス・システムでは、ビデオ・ソース(201)は、ローカルな画像情報をビデオ・シーケンスとして捕捉するカメラであってもよい。ビデオ・データは、シーケンスで眺めた場合に動きを伝える複数の個々のピクチャ又は画像として提供されてもよい。ピクチャそれ自体は、ピクセルの空間アレイとして組織されることが可能であり、ここで、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことが可能である。当業者は、ピクセルとサンプルとの間の関係を容易に理解することが可能である。以下の説明は、サンプルに焦点を当てている。
【0041】
[0051] 一実施形態によれば、エンコーダ(203)は、ソース・ビデオ・シーケンスのピクチャを、リアルタイムで、又は、アプリケーションによって必要とされる他の任意の時間制約の下で、コーディングされたビデオ・シーケンス(443)にコーディングし且つ圧縮することが可能である。適切なコーディング速度を課することは、コントローラ(450)の1つの機能である。コントローラ(450)は、また、以下で説明されるような他の機能ユニットを制御してもよく、これらのユニットに機能的に結合されてもよい。結合は、明確化のために描かれていない。コントローラ(450)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャ・スキップ、量子化器、レート歪み最適化技法のラムダ値、...)、ピクチャ・サイズ、ピクチャのグループ(GOP)のレイアウト、最大動きベクトル探索範囲などを含むことが可能である。当業者は、コントローラ(450)の他の機能は、特定のシステム設計に対して最適化されるビデオ・エンコーダ(203)に関連することが可能であるので、それらを容易に特定することが可能である。
【0042】
[0052] 一部のビデオ・エンコーダは、当業者が「コーディング・ループ(coding loop)」として容易に認識しているものにおいて動作する。極端に単純化された説明として、コーディング・ループは、ソース・コーダ(430)(例えば、コーディングされるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルを生成する責任があるもの)と、エンコーダ(203)に組み込まれた(ローカル)デコーダ(533)とで構成されることが可能であり、(ローカル)デコーダはシンボルを再構成してサンプル・データを作成し、そのサンプル・データは、シンボルとコーディングされたビデオ・ビットストリームとの間の圧縮が所定のビデオ圧縮技術においてロスレスである場合に、(リモート)デコーダも作成することになるものである。その再構成されたサンプル・ストリームは、参照ピクチャ・メモリ(434)に入力されることが可能である。シンボル・ストリームの復号化は、デコーダの位置(ローカル又はリモート)とは無関係なビット・イグザクトな結果(bit-exact results)をもたらすので、参照ピクチャ・メモリ内容もまた、ローカル・エンコーダとリモート・エンコーダとの間でビット・イグザクトである。換言すれば、エンコーダの予測部は、デコーダが復号化中に予測を使用する場合に「見る(see)」ことになるものと厳密に同じサンプル値を、参照ピクチャ・サンプルとして「見る」。参照ピクチャ同期のこの基本原理(例えば、チャネル・エラーに起因して同期性を維持することができない場合には、結果としてドリフトが生じる)は、当業者に知られている。
【0043】
[0053] 「ローカル」デコーダ(433)の動作は、
図3に関連して上記で詳細に既に説明されている「リモート」デコーダ(210)のものと同じであるとすることが可能である。しかしながら、シンボルが利用可能であり、且つエントロピー・コーダー(445)及びパーサー(320)によるシンボルの、コーディングされたビデオ・シーケンスへの符号化/復号化はロスレスであるとすることが可能であるので、チャネル(312)、受信機(310)、バッファ・メモリ(315)及びパーサー(320)を含むデコーダ(210)のエントロピー復号化部は、ローカル・デコーダ(433)で完全には実現されない可能性がある。
【0044】
[0054] この時点で行うことができる洞察は、デコーダ内に存在する解析/エントロピー復号化を除いて、任意のデコーダ技術が、対応するエンコーダ内で実質的に同一の機能形態で存在する必要がある可能性があるということである。この理由のために、開示される対象事項は、デコーダの動作に焦点を当てている。エンコーダの技術の説明は、包括的に説明されたデコーダの技術の逆であり得るので、省略することが可能である。特定の領域においてのみ、より詳細な説明が必要とされ、以下に与えられている。
【0045】
[0055] その動作の一部として、ソース・コーダ(430)は、「参照フレーム」として指定されたビデオ・シーケンスからの1つ以上の以前にコーディングされたフレームを参照して、入力フレームを予測的にコーディングする動き補償予測コーディングを実行してもよい。このように、コーディング・エンジン(432)は、入力フレームのピクセル・ブロックと、入力フレームに対する予測参照として選択されることが可能な参照フレームのピクセル・ブロックとの間の差分をコーディングする。
【0046】
[0056] ローカル・ビデオ・デコーダ(433)は、ソース・コーダー(430)によって生成されたシンボルに基づいて、参照フレームとして指定されることが可能なフレームのコーディングされたビデオ・データを復号化することが可能である。コーディング・エンジン(432)の動作は、有利なことに、非ロスレス・プロセスであってもよい。コーディングされたビデオ・データがビデオ・デコーダ(
図4には示されていない)で復号化されることが可能である場合、再構成されたビデオ・シーケンスは、典型的には、幾らかのエラーを伴うソース・ビデオ・シーケンスのレプリカである可能性がある。ローカル・ビデオ・デコーダ(433)は、参照フレームに関してビデオ・デコーダによって実行されることが可能な復号化プロセスを繰り返し、そのプロセスは、再構成された参照フレームが、参照ピクチャ・メモリ(434)に記憶されることを引き起こすことが可能である。このように、エンコーダ(203)は、遠方端のビデオ・デコーダによって得られることになる再構成された参照ピクチャとして、共通の内容を有する再構成された参照フレームのコピーを、局所的に記憶することが可能である(伝送エラーはないものとする)。
【0047】
[0057] 予測器(435)は、コーディング・エンジン(432)のために予測検索を行うことが可能である。即ち、コーディングされるべき新しいフレームについて、予測器(435)は、サンプル・データ(候補の参照ピクセル・ブロックのようなもの)又は所定のメタデータ(参照ピクチャ動きベクトル、ブロック形状など)について、参照ピクチャ・メモリ(434)を検索することが可能であり、これらは、新しいピクチャについての適切な予測参照として役立つ可能性がある。予測器(435)は、適切な予測参照を見出すために、サンプル・ブロック-ピクセル・ブロック・ベースで動作することが可能である。場合によっては、予測器(435)によって得られた探索結果によって決定されるように、入力ピクチャは、参照ピクチャ・メモリ(434)に記憶された複数の参照ピクチャから引き出される予測参照を有する可能性がある。
【0048】
[0058] コントローラ(450)は、例えば、ビデオ・データを符号化するために使用されるパラメータ及びサブグループ・パラメータの設定を含む、ソース・コーダ(430)のコーディング動作を管理することが可能である。
【0049】
[0059] 前述の機能ユニットの全ての出力は、エントロピー・コーダー(445)におけるエントロピー・コーディングを施される可能性がある。エントロピー・コーダーは、例えば、ハフマン・コーディング、可変長コーディング、算術コーディング等のような当業者に既知の技術に従って、シンボルをロスレス圧縮することによって、種々の機能ユニットによって生成されたシンボルを、コーディングされたビデオ・シーケンスに変換する。
【0050】
[0060] 送信機(440)は、エントロピー・コーダー(445)によって作成されるようなコーディングされたビデオ・シーケンスをバッファリングして、通信チャネル(460)を介する伝送のための準備を行うことが可能であり、通信チャネル(460)は、符号化されたビデオ・データを記憶する記憶デバイスへのハードウェア/ソフトウェア・リンクであってもよい。送信機(440)は、ビデオ・コーダ(430)からのコーディングされたビデオ・データを、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリーム(ソースは不図示)のような、伝送されるべき他のデータと併合(マージ)することが可能である。
【0051】
[0061] コントローラ(450)は、エンコーダ(203)の動作を管理することが可能である。コーディングの間に、コントローラ(450)は、コーディングされたピクチャの各々に、特定のコーディングされたピクチャ・タイプを割り当てることが可能であり、これは、各ピクチャに適用されることが可能なコーディング技術に影響を及ぼす可能性がある。例えば、ピクチャは、時折、イントラ・ピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)、又は、双方向予測ピクチャ(Bピクチャ)として指定される可能性がある。
【0052】
[0062] イントラ・ピクチャ(Iピクチャ)は、シーケンス内の他の如何なるフレームも予測のソースとして使用せずに、符号化及び復号化されることが可能なものであるとすることが可能である。一部のビデオ・コーデックは、例えば、独立デコーダ・リフレッシュ(Independent Decoder Refresh,“IDR”)ピクチャを含む異なるタイプのイントラ・ピクチャを許容する。当業者は、Iピクチャのこれらの変形例、並びにそれら各自の用途及び特徴を認識している。
【0053】
[0063] 予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、高々1つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号化されることが可能なものであるとすることが可能である。
【0054】
[0064] 双-方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、高々2つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号化されることが可能なものであるとすることが可能である。同様に、複数の予測ピクチャは、1つのブロックの再構成のために、2つより多い参照ピクチャ及び関連するメタデータを使用することが可能である。
【0055】
[0065] ソース・ピクチャは、通常、複数のサンプル・ブロックに(例えば、4x4、8x8、4x8、又は16x16サンプルのブロックにそれぞれ)空間的に細分され、ブロック毎にコーディングされることが可能である。ブロックは、ブロックそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされることが可能である。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよいし、又は、それらは同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセル・ブロックは、以前にコーディングされた1つの参照ピクチャを参照して、空間的な予測又は時間的な予測により非予測的にコーディングされてもよい。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャを参照して、空間的な予測又は時間的な予測により非予測的にコーディングされてもよい。
【0056】
[0066] ビデオ・エンコーダ(203)は、ITU-T Rec.H.265のような所定のビデオ・コーディング技術又は規格に従ってコーディング動作を行うことが可能である。この動作において、ビデオ・コーダ(203)は、入力ビデオ・シーケンスにおける時間的及び空間的な冗長性を活用する予測コーディング動作を含む種々の圧縮動作を実行することが可能である。コーディングされたビデオ・データは、従って、使用されるビデオ・コーディング技術又は規格によって指定されるシンタックスに準拠することが可能である。
【0057】
[0067] 実施形態において、送信機(440)は符号化されたビデオとともに追加のデータを送信することが可能である。ビデオ・コーダ(430)は、そのようなデータを、コーディングされたビデオ・シーケンスの一部として含めることが可能である。追加のデータは、時間/空間/SNRエンハンスメント・レイヤ、冗長ピクチャ及びスライスのような他の形態の冗長データ、補足エンハンスメント情報(SEI)メッセージ、視覚ユーザビリティ情報(VUI)パラメータ・セット・フラグメントなどを含む可能性がある。
【0058】
[0068] [AV1における方向性イントラ予測]
VP9は、45ないし207度の角度に対応する8つの方向性モードをサポートする。方向性の構造において、より多くの種類の空間冗長性を活用するために、AV1では、方向性イントラ・モードが、より細かい粒度を有する角度セットに拡張されている。本来の8つの角度は、僅かに変更されて公称角度として作られ、これらの8つの公称角度は、V_PRED(542),H_PRED(543),D45_PRED(544),D135_PRED(545),D113_PRED(5446),D157_PRED(547),D203_PRED(548),及びD67_PRED(549)と名付けられており、これらは
図5において現在のブロック(541)に関連して示されている。各々の公称角度に対して、7つのより細かい角度が存在し、従って、AV1は合計で56個の方向角度を有する。予測角度は、公称イントラ角度プラス角度デルタによって表され、角度デルタは、3度のステップ・サイズの-3~3倍である。AV1では、5つの非角度スムーズ・モードとともに8つの公称モードが最初にシグナリングされる。次いで、現在のモードが角度モードである場合、対応する公称角度に対する角度デルタを示すために、インデックスが更にシグナリングされる。一般的な方法によりAV1において方向予測モードを実装するために、AV1における56個の方向イントラ予測モードの全てが、統合された方向予測子を用いて実装され、統一された予測子は、各ピクセルを参照サブ・ピクセル位置へ投影し、参照ピクセルを2-タップ双線形フィルタ(2-tap bilinear filter)によって補間する。
【0059】
[0069] [AV1における非方向スムーズ・イントラ予測子]
AV1では、5つの非方向スムーズ・イントラ予測モードがあり、それらはDC,PAETH,SMOOTH,SMOOTH_V,及びSMOOTH_Hである。DC予測の場合、左及び上の近辺のサンプルの平均が、予測されるブロックの予測子として使用される。PAETH予測子の場合、上,左,及び左上の参照サンプルが先ずフェッチされ、次いで、(上+左-左上)に最も近い値が、予測されるピクセルの予測子として設定される。
図6は、現在のブロック(550)中のピクセル(552)のための、上サンプル(554)、左サンプル(556)、及び左上サンプル(558)の位置を示す。SMOOTH,SMOOTH_V,及びSMOOTH_Hモードの場合、現在のブロック(550)は、垂直若しくは水平方向の二次補間、又は、両方向の平均を使用して予測される。
【0060】
[0070] [ルマから予測されるクロマ]
上記のモードに加えて、クロマ・フロム・ルマ(Chroma from Luma,CfL)はクロマのみのイントラ予測子であり、これは、一致する再構築されたルマ・ピクセルの線形関数として、クロマ・ピクセルをモデル化する。CfL予測は、以下の式(1)に示されるように表現されることが可能である:
【0061】
【数1】
式(1)において、L
ACはルマ成分のAC寄与を示し、αは線形モデルのパラメータを示し、DCはクロマ成分のDC寄与を示す。
【0062】
[0071]
図7は、式(1)によって記述される線形関数の図式的説明図を与えている。
図7及び式(1)に見受けられるように、再構成されたルマ・ピクセルは、クロマ解像度にサブサンプリングされ、次いで、AC寄与を形成するために平均値が減算される。AC寄与からクロマAC成分を近似するために、一部の背景技術でのようにスケーリング・パラメータを計算することをデコーダに要求する代わりに、AV1 CfLは、元のクロマ・ピクセルに基づいてパラメータαを決定し、それらをビットストリーム中でシグナリングすることが可能である。これは、デコーダの複雑さを低減し、より正確な予測をもたらす。クロマ成分のDC寄与については、イントラDCモードを使用して計算されてもよく、イントラDCモードは、ほとんどのクロマの内容に対して十分であり、成熟した高速実装性を有する。
【0063】
[0072] クロマ・フロム・ルマ(CfL)モードが選ばれた場合、U成分及びV成分のためのスケーリング因子のジョイント符号(joint sign)が先ずシグナリングされてもよい。或るスケーリング因子の符号は、負、ゼロ、又は正の何れかである可能性がある。更に、(0,0)の組合せは、「DC」予測をもたらす結果となるので、CfLモードでは許可されない場合がある。従って、2個のスケーリング因子に対する符号の組み合わせは、合計8個(3*3-1=8)の組み合わせを有する可能性がある。結果として、ジョイント符号は、8値シンボルを使用してシグナリングされてもよい。ジョイント符号をシグナリングするために、唯1つのコンテキストが採用されてもよい。
【0064】
[0073] スケーリング・パラメータの大きさのためのシグナリングに関し、1/8のステップで0から2に及ぶ値を表すために、16値シンボルが使用されてもよい。16値シンボルは、マルチ・シンボル・エントロピー・エンコーダの能力を十分に活用できることに留意されたい。スケーリング・パラメータをシグナリングするためのコンテキストは、ジョイント符号の値に依存してもよい。
【0065】
[0074] 近辺のサンプルと現在のブロック中のサンプルとの間に強い相関が存在する可能性がある。しかしながら、この相関は、CfLモードにおけるスケーリング・パラメータのジョイント符号及び大きさの関連技術のシグナリングにおいて利用されていない。
【0066】
[0075] そこで、実施形態は、CfLモードにおいてスケーリング・パラメータをシグナリングする改善された方法を提供する。本件で説明される実施形態は、他のモード、例えば、CfLモードに類似しているが、ルマが1つの特定のカラー成分(例えば、R)で置き換えられ、クロマが別の特定のカラー成分(例えば、G又はB)で置き換えられるモード、に適用される場合もある。
【0067】
[0076] 実施形態では、スケーリング・パラメータalpha_predictを用いる線形モデルが、現在のクロマ・ブロックの近辺のサンプルと、同等位置の(co-located)ルマ・ブロックの近辺のサンプルとに基づいて導出されてもよい。このスケーリング・パラメータalpha_predictは、現在のブロックのためのCfLモードにおける実際のスケーリング因子をシグナリングするために使用されてもよい。スケーリング・パラメータalpha_predictは、現在のクロマ・ブロックに対する予測されたスケーリング・パラメータと言及されてもよい。
【0068】
[0077] 実施形態では、現在のクロマ・ブロックの上及び/又は左の近辺のサンプルと、同等位置にあるルマ・ブロックの上及び/又は左の近辺のサンプルとは、スケーリング・パラメータalpha_predictを導出するプロセスを含む可能性がある。
図8に一例が示されており、そこでは、関与する近辺のサンプルがドットが付された正方形(dotted squares)として示されており、現在のブロック・サンプルが白色の正方形として示されている。別の例として、現在のフレーム/ビデオ・シーケンスのYUVフォーマットがYUV444ではない場合に、線形モデルにおける予測されたスケーリング係数を導出する前に、同等位置にあるルマ・ブロックの近辺のサンプルはダウンサンプリングされてもよい。
【0069】
[0078] 実施形態では、線形モデルの予測されたスケーリング・パラメータを導出するために、最小二乗平均法が採用されてもよい。例えば、最小二乗平均法は、VVC規格で定義されたクロス・コンポーネント線形モデル(cross-component linear model,CCLM)モードで使用されるものと同じであってもよい。
【0070】
[0079] 実施形態では、予測されたスケーリング・パラメータは、U成分及びV成分について別々に導出されてもよい。
現在のクロマ・ブロックのU成分に関し、現在のクロマ・ブロックのU成分の近辺のサンプルと、同等位置にあるルマ・ブロックの近辺のサンプルとが、予測されたスケーリング・パラメータを導出するために使用されてもよい。
現在のクロマ・ブロックのV成分に関し、現在のクロマ・ブロックのV成分の近辺のサンプルと、同等位置にあるルマ・ブロックの近辺のサンプルとが、予測されたスケーリング・パラメータを導出するために使用されてもよい。
【0071】
[0080] 実施形態では、予測されたスケーリング・パラメータは、CfLモードにおけるスケーリング係数の利用可能な符号値を並べ替えるために使用されてもよい。並べ替えられた符号値(re-ordered sign value)のインデックスは、ビットストリームにおいてシグナリングされてもよい。利用可能な符号値の並べ替えの例は表1に示されている。この例では、符号値は、負(-1),正(+1),又はゼロ(0)の何れかである可能性がある。scale_predictが0より大きい場合、利用可能な符号値は、正(+1),又はゼロ(0)負(-1)のように並べ替えられてもよい。従って、現在のクロマ・ブロックに関するCfLモードの符号値が負である場合、2がビットストリームでシグナリングされる可能性があり、なぜなら、scale_predictが0よりも大きい場合、表1において負(-1)に対するインデックスは2だからである。
【0072】
表1:並べ替え符号値の例
【0073】
【表1】
[0081] 実施形態では、予測されたスケーリング・パラメータは、CfLモードにおけるスケーリング係数の大きさ(絶対値)を並べ替えるために使用されてもよい。スケーリング係数の再順序付けされた大きさの値(絶対値)のインデックスは、ビットストリームの中でシグナリングされる。実施形態では、スケーリング・パラメータの絶対的な大きさは、予測されたスケーリング・パラメータの絶対値と利用可能なスケーリング因子の絶対値との間の差分に基づいて並べ替えられてもよい。例えば、予測されたスケーリング・パラメータの絶対値が3/8である場合、利用可能なスケーリング因子は、次のように並べ替えられてもよい:
(3/8,2/8,4/8,1/8,5/8,6/8,7/8,1,9/8,10/8,11/8,12/8,13/8,14/8,15/8,16/8)
[0082] 実施形態では、CfLモードにおけるスケーリング因子の値をシグナリングするために、0_flagと言及される可能性のある第1のフラグが、スケーリング因子の値は0に等しいか否かを示すためにビットストリームでシグナリングされる可能性がある。スケーリング因子が0に等しくない場合、予測されたスケーリング因子は、0を除いて正及び負のスケーリング因子を含む全ての利用可能なスケーリング因子を並べ替えるために使用されてもよい。並べ替えられたスケーリング因子のセット中でのインデックスがシグナリングされてもよい。
【0074】
[0083] 実施形態では、予測されたスケーリング因子は、予測されたスケーリング因子と利用可能なスケーリング因子との間の差に基づいて、全ての利用可能なスケーリング因子を並べ替えるために使用されてもよい。例えば、予測されたスケーリング因子が5/8である場合、全ての利用可能なスケーリング因子は、次のように並べ替えられてもよい:
(5/8,4/8,6/8,3/8,7/8,2/8,8/8,1/8,
9/8,-1/8,10/8,-2/8,11/8,-3/8,12/8,-4/8,
13/8,-5/8,14/8,-6/8,15/8,-7/8,16/8,-8/8,
-9/8,-10/8,-11/8,-12/8,-13/8,-14/8,-15/8,-16/8)
最初の16個のスケーリング因子が第1のセットに投入されてもよく、最後の16個のスケーリング因子が第2のセットに投入されてもよい。例えば、現在ブロックのためのCfLモードのスケーリング因子が3/8である場合、セット・インデックスは0であり、セット内のインデックスは3である。
【0075】
[0084] 実施形態では、並べ替えられたスケーリング因子は、並べ替えられたスケーリング因子のインデックスに基づいて、複数のセットに分割されてもよい。セット・インデックスとセット内のインデックスとは、ビットストリームでシグナリングされることが可能である。
【0076】
[0085] 実施形態では、CfLモードにおけるスケーリング因子の値をシグナリングするために、予測されたスケーリング因子は、全ての利用可能なスケーリング因子(0を含む)を並べ替えるために使用される可能性があり、スケーリング因子の並べ替えられたセットの中で選択されたスケーリング因子のインデックスがシグナリングされてもよい。
【0077】
[0086] 実施形態では、CfLモードにおけるスケーリング因子の値をシグナリングするために、予測されたスケーリング因子は、利用可能なスケーリング因子の完全なセットの中から、スケーリング因子のサブセットを選択するために使用されてもよく、スケーリング因子のサブセットにおけるスケーリング因子の選択がシグナリングされてもよい。
【0078】
[0087] 実施形態では、第1の精度を有するスケーリング因子の第1のセットが定義されることが可能であり、予測されたスケーリング因子は、第1のセットのスケーリング因子のサブセットを選択するために使用される可能性があり、次いで、第2の精度を有するスケーリング因子の第2のセットが更に選択されることが可能であり、次いで、第1のセットのスケーリング因子と第2のセットのスケーリング因子とを一緒にしたもののうちの選択されたサブセットは、第3のセットのスケーリング因子であって、可変精度を有するスケーリング因子を含む可能性のある、第3のセットのスケーリング因子を形成する。例えば、第1の精度は、1/4,1/8,及び1/16の精度を含む可能性があるが、これらに限定されない。例えば、第2の精度は、1/8, 1/16,1/32,1/64,及び1/128の精度を含む可能性があるが、これらに限定されない。実施形態では、第2の精度は第1の精度よりも高くてもよい。
【0079】
[0088]
図9は、実施形態によるクロス・コンポーネント・イントラ予測を実行するためのプロセス1000のフローチャートである。
【0080】
[0089]
図9に示されるように、オペレーション1002において、プロセス1000は、コーディングされたビットストリームから現在のクロマ・ブロックを受信することを含む。
【0081】
[0090]
図9に更に示されるように、オペレーション1004において、プロセス1000は、CfL(chroma for luma)イントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子を、コーディングされたビットストリームから決定することを含む。
【0082】
[0091]
図9に更に示されるように、オペレーション1006において、プロセス1000は、現在のクロマ・ブロックの第1の近辺のサンプルと、現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出することを含む。
【0083】
[0092]
図9に更に示されるように、オペレーション1008において、プロセス1000は、予測されたスケーリング因子を、CfLイントラ予測モードにおいて現在のクロマ・ブロックのために使用されるスケーリング因子として使用することを含む。
【0084】
[0093]
図9に更に示されるように、オペレーション1010において、プロセス1000は、予測されたスケーリング因子に基づいて現在のクロマ・ブロックをスケーリングした後に現在のクロマ・ブロックを再構成することを含む。
【0085】
[0094] 実施形態では、予測されたスケーリング因子は、現在のクロマ・ブロックの上又は左に位置する少なくとも1つのクロマ・サンプル、及び、現在のルマ・ブロックの上又は左に位置する少なくとも1つのルマ・サンプルに基づいて導出されてもよい。
【0086】
[0095] 実施形態では、予測されたスケーリング因子は、最小二乗平均演算を用いて導出されてもよい。
【0087】
[0096] 実施形態では、予測されたスケーリング因子は、第1のクロマ成分及び第2のクロマ成分に対して別々に導出されてもよい。
【0088】
[0097] 実施形態では、予測されたスケーリング因子は、複数のスケーリング因子に含まれていてもよく;複数のスケーリング因子に対して利用可能な符号のうちの少なくとも1つと、スケーリング因子に対応する絶対値の大きさとを順序付けるために、スケーリング・パラメータが使用される。
【0089】
[0098] 実施形態では、スケーリング因子は0ではないことを示すフラグに基づいて、0に対するものを除いて複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用されてもよく;予測されたスケーリング因子は、複数のスケーリング因子の中から選択されてもよい。
【0090】
[0099] 実施形態では、予測されたスケーリング因子は複数のスケーリング因子に含まれており;複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用されてもよく;複数のスケーリング因子の中から、予測されたスケーリング因子を選択するために、インデックスが使用されてもよい。
【0091】
[0100] 実施形態では、複数のスケーリング因子の中から、スケーリング因子のサブセットを選択するために、スケーリング・パラメータが使用されてもよく;コーディングされたビットストリームでシグナリングされたシンタックス要素に基づいて、スケーリング因子のサブセットの中から、予測されたスケーリング因子が選択されてもよい。
【0092】
[0101]
図9はプロセス1000の例示的なブロックを示しているが、一部の実装では、プロセス1000は、
図9に示されているブロックに対して、追加のブロック、より少ないブロック、異なるブロック、又は別様に配置されたブロックを含んでもよい。追加的又は代替的に、プロセス1000のうちの2つ以上のブロックは並列的に実行されてもよい。
【0093】
[0102] 更に、提案される方法は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ読み取り可能な媒体に記憶されたプログラムを実行して、提案される方法のうちの1つ以上を実行する。
【0094】
[0103] 上述した本開示の実施形態の技術は、コンピュータ読み取り可能な命令を用いてコンピュータ・ソフトウェアとして実装することが可能であり、また、1つ以上のコンピュータ読み取り可能な媒体に物理的に記憶することが可能である。例えば、
図10は、開示される対象事項の実施形態を実現するのに適したコンピュータ・システム(900)を示す。
【0095】
[0104] コンピュータ・ソフトウェアは、アセンブリ、コンパイル、リンク、又は類似の仕組みの対象となり得る任意の適切なマシン・コード又はコンピュータ言語を使用してコーディングされて、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって、直接的に実行されることが可能な命令、又は解釈やマイクロコード実行などを経由する命令、を含むコードを作成することが可能である。
【0096】
[0105] 命令は、例えば、パーソナル・コンピュータ、タブレット・コンピュータ、サーバー、スマート・フォン、ゲーミング・デバイス、モノのインターネット・デバイス等を含む、種々のタイプのコンピュータ又はそれらのコンポーネント上で実行されることが可能である。
【0097】
[0106] コンピュータ・システム(900)に関して
図10に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータ・ソフトウェアの使用範囲又は機能性に関する如何なる制限も示唆するようには意図されていない。また、コンポーネントの構成は、コンピュータ・システム(900)の例示的な実施形態に示されるコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性や要件を有するものとして解釈されてはならない。
【0098】
[0107] コンピュータ・システム(900)は、特定のヒューマン・インターフェース入力デバイスを含むことが可能である。このようなヒューマン・インターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データ・グローブの動き)、聴覚的な入力(例えば、声、拍手)、視覚的な入力(例えば、ジェスチャ)、嗅覚的な入力(図示されていない)を介して、1人以上の人間ユーザーによる入力に応答することが可能である。また、ヒューマン・インターフェース・デバイスは、オーディオ(例えば、会話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、ステレオスコピック・ピクチャを含む3次元ビデオ)のような、人間による意識的な入力に必ずしも直接的に関係しない特定のメディアを捕捉するために使用することも可能である。
【0099】
[0108] 入力ヒューマン・インターフェース・デバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチ・スクリーン(910)、データ・グローブ、ジョイスティック(905)、マイクロホン(906)、スキャナ(907)、カメラ(908)のうちの(描かれているものはそれぞれ唯1つであるが)1つ以上を含む可能性がある。
【0100】
[0109] コンピュータ・システム(900)は、特定のヒューマン・インターフェース出力デバイスを含むことも可能である。このようなヒューマン・インターフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通じて、1人以上の人間ユーザーの感覚を刺激することが可能である。このようなヒューマン・インターフェース出力デバイスは、触覚出力デバイスを含む可能性がある(例えば、タッチ・スクリーン(910)、データ・グローブ、ジョイスティック(905)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバック・デバイスが存在する可能性もある)。例えば、このようなデバイスは、聴覚的な出力デバイス(例えば、スピーカー(909)、ヘッドフォン(不図示せず))、視覚的な出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマ・スクリーン、OLEDスクリーンを含むスクリーン(910)であり、各々はタッチ・スクリーン入力機能を備えるか又は備えておらず、各々は触覚フィードバック機能を備えるか又は備えておらず、それらのうちの幾つかは、二次元的な視覚的な出力、立体出力のような手段による三次元以上の出力を出力することが可能であってもよい;仮想現実メガネ(図示せず)、ホログラフィック・ディスプレイ、及びスモーク・タンク(図示せず))、及びプリンタ(図示せず)であってもよい。
【0101】
[0110] コンピュータ・システム(900)はまた、CD/DVDを含む光媒体、CD/DVD等の媒体(2021)を用いるROM/RW(920)、サム・ドライブ(922)、リムーバブル・ハード・ドライブ又はソリッド・ステート・ドライブ(923)、テープ及びフロッピー・ディスク(図示せず)等のレガシー磁気媒体(不図示)、セキュリティ・ドングル(不図示)等の特殊化されたROM/ASIC/PLDベースのデバイスのような、人間のアクセスが可能な記憶デバイス及びそれらに関連する媒体を含むことも可能である。
【0102】
[0111] 当業者は、ここに開示される対象事項に関連して使用される用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、又はその他の過渡的な信号を包含しない、ということも理解するはずである。
【0103】
[0112] コンピュータ・システム(900)は、1つ以上の通信ネットワークに対するインターフェースを含むことも可能である。ネットワークは、例えば、無線、有線、光であるとすることが可能である。ネットワークは、更に、ローカル、ワイド・エリア、メトロポリタン、車両及び業界、リアルタイム、遅延耐性などによるものであるとすることが可能である。ネットワークの例は、イーサーネット(登録商標)などのローカル・エリア・ネットワーク、無線LAN、セルラー・ネットワーク(GSM(登録商標)、3G、4G、5G、LTEなどを含む)、TVの優先又は無線のワイド・エリア・デジタル・ネットワーク(ケーブルTV、衛星TV、及び地上波放送TVを含む)、CANBusを含む車両及び業界ネットワークなどを含む。特定のネットワークは、一般に、特定の汎用データ・ポート又は周辺バス(949)に取り付けられる外部ネットワーク・インターフェース・アダプタ(例えば、コンピュータシステム(900)のUSBポートなど)を必要とし;他のものは、一般に、以下で説明するように、システム・バスに取り付けることによってコンピュータ・システム900のコアに統合される(例えば、イーサーネット・インターフェースはPCコンピュータ・システムに統合され、セルラー・ネットワーク・インターフェースはスマートフォン・コンピュータ・システムに統合される)。これらのネットワークの何れかを使用して、コンピュータ・システム(900)は、他のエンティティと通信することができる。そのような通信は、片-方向の受信専用(例えば、放送TV)、片-方向の送信専用(例えば、CANbusから特定のCANbusデバイスへのもの)、又は、双-方向のもの、例えばローカル又はワイド・エリア・デジタル・ネットワークを使用して他のコンピュータ・システムに対するものであるとすることが可能である。そのような通信は、クラウド演算環境(955)に対する通信を含むことが可能である。所定のプロトコル及びプロトコル・スタックは、上述のように、それらのネットワーク及びネットワーク・インターフェースの各々に関して使用されることが可能である。
【0104】
[0113] 前述のヒューマン・インターフェース・デバイス、人間がアクセス可能なストレージ・デバイス、及び、ネットワーク・インターフェース(954)は、コンピュータ・システム(900)のコア(940)に取り付けることが可能である。
【0105】
[0114] コア(940)は、1つ以上の中央処理ユニット(CPU)(941)、グラフィックス処理ユニット(GPU)(942)、フィールド・プログラマブル・ゲート・エリア(FPGA)(943)の形態の専用プログラマブル処理ユニット、特定のタスクのためのハードウェア・アクセラレータ(944)などを含むことが可能である。これらのデバイスは、リード・オンリー・メモリ(ROM)(945)、ランダム・アクセス・メモリ(946)、内部のユーザーアクセス可能でないハード・ドライブ、SSD等(947)のような内部大容量ストレージと、システム・バス(948)を介して接続されてもよい。幾つかのコンピュータ・システムでは、システム・バス(948)は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であるとすることができる。周辺デバイスは、コアのシステム・バス(948)に直接的に、又は、周辺バス(949)を介して取り付けられることが可能である。周辺バスに対するアーキテクチャは、PCI、USB等を含む。グラフィックス・アダプタ(950)はコア(940)に含まれてもよい。
【0106】
[0115] CPU(941)、GPU(942)、FPGA(943)、及びアクセラレータ(944)は、組み合わせて前述のコンピュータ・コードを構成することが可能な特定の命令を実行することができる。このコンピュータ・コードは、ROM(945)又はRAM(946)に格納されることが可能である。一時的なデータはRAM(946)に記憶されることも可能である一方、永続的なデータは例えば内部大容量ストレージ(947)に記憶されることが可能である。1つ以上のCPU(941)、GPU(942)、大容量ストレージ(947)、ROM(945)、RAM(946)などに密接に関連付けることが可能なキャッシュ・メモリを使用することによって、何らかのメモリ・デバイスに対する高速な記憶及び検索を可能にすることができる。
【0107】
[0116] コンピュータ読み取り可能な媒体は、様々なコンピュータ実装動作を実行するためのコンピュータ・コードを有することが可能である。媒体及びコンピュータ・コードは、本開示の目的のために特別に設計及び構築されたものであるとすることが可能であり、或いは、コンピュータ・ソフトウェア分野の当業者に周知で利用可能な種類のものであるとすることが可能である。
【0108】
[0117] 限定ではなく例として、コンピュータ・システム(900)に対応するアーキテクチャ、具体的にはコア(940)は、1つ以上の有形のコンピュータ読み取り可能な媒体において具現化されたソフトウェアを、プロセッサ(複数可)(CPU、GPU、FPGA、アクセラレータなどを含む)が実行した結果として機能を提供することができる。そのようなコンピュータ読み取り可能な媒体は、上記で紹介されたようなユーザーがアクセス可能な大容量ストレージ、並びに、コア内部の大容量ストレージ(947)又はROM(945)のような非一時的な性質のコア(940)の特定のストレージに関連付けられる媒体であるとすることが可能である。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイス内に記憶され、コア(940)によって実行されることが可能である。コンピュータ読み取り可能な媒体は、特定の必要性に応じて、1つ以上のメモリ・デバイス又はチップを含むことが可能である。ソフトウェアは、コア(940)及び具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)が、本件で説明される特定のプロセス又は特定のプロセスの特定の部分(RAM(946)に記憶されたデータ構造を定義すること、及び、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む)を実行することを引き起こすことが可能である。更に又は代替として、コンピュータ・システムは、(例えば、アクセラレータ(944)のように)配線されたロジック又は別の方法で回路内に組み込まれたロジックの結果として機能を提供することが可能であり、その回路は本件で説明される特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに又はそれとともに動作することが可能である。ソフトウェアに対する言及は、適切な場合には、ロジックを包含することが可能であり、逆もまた同様である。コンピュータ読み取り可能な媒体に対する言及は、適切な場合には、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、又はその両方を包含することが可能である。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0109】
[0118] 本開示の実施形態は、別々に使用されてもよいし、任意の順序で組み合わされてもよい。更に、実施形態(及びその方法)の各々は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能な媒体に記憶されたプログラムを実行する。
【0110】
[0119] 上記の開示は、例示及び説明を提供しているが、網羅的であったり、或いは、実装を開示された厳密な形態に限定したりするようには意図されていない。修正及び変形が上記の開示に照らして可能であり、或いは、実装の実務から把握されることが可能である。
【0111】
[0120] 本件で使用される場合、コンポーネントという用語は、ハードウェア、ファームウェア、又は、ハードウェアとソフトウェアの組み合せとして広く解釈されるように意図されている。
【0112】
[0121] 特徴の組み合せがクレームに記載され、及び/又は明細書に開示されていとしても、これらの組み合せは、可能な実装の開示を限定するようには意図されていない。実際、これらの特徴の多くは、クレームに具体的には記載されていない仕方で、及び/又は、明細書に具体的には開示されていない仕方で組み合わせられる可能性がある。以下に列挙される各従属クレームは、唯1つのクレームに直接的に従属す場合があるが、可能な実装の開示は、クレーム・セット内の他の全てのクレームとの組み合わせにおけるそれぞれの従属クレームを包含している。
【0113】
[0122] 本件で使用される要素、動作、又は命令が、しかるべく明示的に説明されていない限り、重要又は必須であると解釈されるべきではない。また、本件で使用される場合に、「ある(a)」及び「ある(an)」という冠詞的な語は、1つ以上のアイテムを含むように意図されており、「1つ以上の」と可換に使用されてもよい。更に、「セット」という用語は、1つ以上のアイテム(例えば、関連するアイテム、関連しないアイテム、関連するアイテムと関連しないアイテムの組み合せなど)を含むように意図されており、「1つ以上の」と可換に使用されてもよい。唯1つのアイテムが意図される場合、「1つの」又は同様な言葉が使用される。また、本件で使用される場合、用語「有する(has)」、「有する(have)」、「有している(having)」などは、オープン・エンドの用語であるように意図されている。更に、「~に基づいて」という言い回しは、明示的に別意に言及されていない限り、「~に少なくとも部分的に基づいて」を意味するように意図されている。
【0114】
[0123] 本開示は、幾つかの非限定的な例示的な実施形態を説明しているが、本開示の範囲内に該当する変更、置換、及び様々な代替の均等物が存在する。従って、当業者は、本件で明示的に図示又は記述されていないが、本開示の原理を具現化し、従って本件の精神及び範囲内にある多数のシステム及び方法を案出することができるであろう、ことは認められるであろう。
【0115】
[0124] 付記
(付記1)
クロス・コンポーネント・イントラ予測を実行するために少なくとも1つのプロセッサにより実行される方法であって、当該方法は:
コーディングされたビットストリームから現在のクロマ・ブロックを受信するステップ;
CfL(chroma for luma)イントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子を、前記コーディングされたビットストリームから決定するステップ;
前記現在のクロマ・ブロックの第1の近辺のサンプルと、前記現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出するステップ;
前記予測されたスケーリング因子を、前記CfLイントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子として使用するステップ;及び
前記予測されたスケーリング因子に基づいて前記現在のクロマ・ブロックをスケーリングした後に前記現在のクロマ・ブロックを再構成するステップ;
を含む方法。
【0116】
(付記2)
付記1に記載の方法において、前記予測されたスケーリング因子は、前記現在のクロマ・ブロックの上又は左に位置する少なくとも1つのクロマ・サンプル、及び、前記現在のルマ・ブロックの上又は左に位置する少なくとも1つのルマ・サンプルに基づいて導出される、方法。
【0117】
(付記3)
付記1に記載の方法において、前記予測されたスケーリング因子は、最小二乗平均演算を用いて導出される、方法。
【0118】
(付記4)
付記1に記載の方法において、前記予測されたスケーリング因子は、第1のクロマ成分及び第2のクロマ成分に対して別々に導出される、方法。
(付記5)
付記1に記載の方法において、前記予測されたスケーリング因子は、複数のスケーリング因子に含まれており;
前記複数のスケーリング因子に対して利用可能な符号値のうちの少なくとも1つと、前記スケーリング因子に対応する絶対値の大きさとを順序付けるために、スケーリング・パラメータが使用される、方法。
【0119】
(付記6)
付記1に記載の方法において、前記スケーリング因子は0ではないことを示すフラグに基づいて、0に対するものを除いて複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用され;
前記予測されたスケーリング因子は、前記複数のスケーリング因子の中から選択されている、方法。
【0120】
(付記7)
付記1に記載の方法において、前記予測されたスケーリング因子は複数のスケーリング因子に含まれており;
前記複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用され;及び
前記複数のスケーリング因子の中から前記予測されたスケーリング因子を選択するためにインデックスが使用される、方法。
【0121】
(付記8)
付記1に記載の方法において、複数のスケーリング因子の中からスケーリング因子のサブセットを選択するためにスケーリング・パラメータが使用され;
前記コーディングされたビットストリームでシグナリングされたシンタックス要素に基づいて前記スケーリング因子のサブセットの中から前記予測されたスケーリング因子が選択される、方法。
【0122】
(付記9)
クロス・コンポーネント・イントラ予測を実行するためのデバイスであって、当該デバイスは:
プログラム・コードを記憶するように構成された少なくとも1つのメモリ;及び
前記プログラム・コードにアクセスし、前記プログラム・コードにより指示される動作を行うように構成された少なくとも1つのプロセッサ;
を含み、前記プログラム・コードは:
コーディングされたビットストリームから現在のクロマ・ブロックを受信するステップを、前記少なくとも1つのプロセッサに行わせるように構成された受信コード;
CfL(chroma for luma)イントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子を、前記コーディングされたビットストリームから決定するステップを、前記少なくとも1つのプロセッサに行わせるように構成された決定コード;
前記現在のクロマ・ブロックの第1の近辺のサンプルと、前記現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出するステップを、前記少なくとも1つのプロセッサに行わせるように構成された導出コード;
前記予測されたスケーリング因子を、前記CfLイントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子として使用するステップを、前記少なくとも1つのプロセッサに行わせるように構成された使用コード;及び
前記予測されたスケーリング因子に基づいて前記現在のクロマ・ブロックをスケーリングした後に前記現在のクロマ・ブロックを再構成するステップを、前記少なくとも1つのプロセッサに行わせるように構成された再構成コード;
を含む、デバイス。
【0123】
(付記10)
付記9に記載のデバイスにおいて、前記予測されたスケーリング因子は、前記現在のクロマ・ブロックの上又は左に位置する少なくとも1つのクロマ・サンプル、及び、前記現在のルマ・ブロックの上又は左に位置する少なくとも1つのルマ・サンプルに基づいて導出される、デバイス。
【0124】
(付記11)
付記9に記載のデバイスにおいて、前記予測されたスケーリング因子は、最小二乗平均演算を用いて導出される、デバイス。
【0125】
(付記12)
付記9に記載のデバイスにおいて、前記予測されたスケーリング因子は、第1のクロマ成分及び第2のクロマ成分に対して別々に導出される、デバイス。
【0126】
(付記13)
付記9に記載のデバイスにおいて、前記予測されたスケーリング因子は、複数のスケーリング因子に含まれており;
前記複数のスケーリング因子に対して利用可能な符号値のうちの少なくとも1つと、前記スケーリング因子に対応する絶対値の大きさとを順序付けるために、スケーリング・パラメータが使用される、デバイス。
【0127】
(付記14)
付記9に記載のデバイスにおいて、前記スケーリング因子は0ではないことを示すフラグに基づいて、0に対するものを除いて複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用され;
前記予測されたスケーリング因子は、前記複数のスケーリング因子の中から選択されている、デバイス。
【0128】
(付記15)
付記9に記載のデバイスにおいて、前記予測されたスケーリング因子は複数のスケーリング因子に含まれており;
前記複数のスケーリング因子を順序付けるためにスケーリング・パラメータが使用され;及び
前記複数のスケーリング因子の中から前記予測されたスケーリング因子を選択するためにインデックスが使用される、デバイス。
【0129】
(付記16)
付記9に記載のデバイスにおいて、複数のスケーリング因子の中からスケーリング因子のサブセットを選択するためにスケーリング・パラメータが使用され;
前記コーディングされたビットストリームでシグナリングされたシンタックス要素に基づいて前記スケーリング因子のサブセットの中から前記予測されたスケーリング因子が選択される、デバイス。
【0130】
(付記17)
命令を記憶する非一時的なコンピュータ読み取り可能な媒体であって、前記命令は:クロス・コンポーネント・イントラ予測を実行するためにデバイスの1つ以上のプロセッサにより実行された場合に、前記1つ以上のプロセッサに:
コーディングされたビットストリームから現在のクロマ・ブロックを受信するステップ;
CfL(chroma for luma)イントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子を、前記コーディングされたビットストリームから決定するステップ;
前記現在のクロマ・ブロックの第1の近辺のサンプルと、前記現在のクロマ・ブロックと同等位置にあるルマ・ブロックの第2の近辺のサンプルとに基づいて、予測されたスケーリング因子を導出するステップ;
前記予測されたスケーリング因子を、前記CfLイントラ予測モードにおいて前記現在のクロマ・ブロックのために使用されるスケーリング因子として使用するステップ;及び
前記予測されたスケーリング因子に基づいて前記現在のクロマ・ブロックをスケーリングした後に前記現在のクロマ・ブロックを再構成するステップ;
を行わせる、媒体。
【0131】
(付記18)
付記17に記載の非一時的なコンピュータ読み取り可能な媒体において、前記予測されたスケーリング因子は、前記現在のクロマ・ブロックの上又は左に位置する少なくとも1つのクロマ・サンプル、及び、前記現在のルマ・ブロックの上又は左に位置する少なくとも1つのルマ・サンプルに基づいて導出される、媒体。
【0132】
(付記19)
付記17に記載の非一時的なコンピュータ読み取り可能な媒体において、前記予測されたスケーリング因子は、最小二乗平均演算を用いて導出される、媒体。
【0133】
(付記20)
付記17に記載の非一時的なコンピュータ読み取り可能な媒体において、前記予測されたスケーリング因子は、第1のクロマ成分及び第2のクロマ成分に対して別々に導出される、媒体。
【国際調査報告】