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

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

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

特表2022-553320分離した制約付き方向性強調フィルタ
<>
  • 特表-分離した制約付き方向性強調フィルタ 図1
  • 特表-分離した制約付き方向性強調フィルタ 図2
  • 特表-分離した制約付き方向性強調フィルタ 図3A
  • 特表-分離した制約付き方向性強調フィルタ 図3B
  • 特表-分離した制約付き方向性強調フィルタ 図3C
  • 特表-分離した制約付き方向性強調フィルタ 図3D
  • 特表-分離した制約付き方向性強調フィルタ 図4
  • 特表-分離した制約付き方向性強調フィルタ 図5
  • 特表-分離した制約付き方向性強調フィルタ 図6
  • 特表-分離した制約付き方向性強調フィルタ 図7
  • 特表-分離した制約付き方向性強調フィルタ 図8
  • 特表-分離した制約付き方向性強調フィルタ 図9
  • 特表-分離した制約付き方向性強調フィルタ 図10
  • 特表-分離した制約付き方向性強調フィルタ 図11
  • 特表-分離した制約付き方向性強調フィルタ 図12
  • 特表-分離した制約付き方向性強調フィルタ 図13
  • 特表-分離した制約付き方向性強調フィルタ 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-22
(54)【発明の名称】分離した制約付き方向性強調フィルタ
(51)【国際特許分類】
   H04N 19/117 20140101AFI20221215BHJP
   H04N 19/186 20140101ALI20221215BHJP
   H04N 19/70 20140101ALI20221215BHJP
【FI】
H04N19/117
H04N19/186
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022523512
(86)(22)【出願日】2021-02-02
(85)【翻訳文提出日】2022-04-20
(86)【国際出願番号】 US2021016202
(87)【国際公開番号】W WO2021257125
(87)【国際公開日】2021-12-23
(31)【優先権主張番号】63/040,856
(32)【優先日】2020-06-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/091,759
(32)【優先日】2020-11-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イシン・ドゥ
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159PP04
5C159RC12
5C159TA69
5C159TB08
5C159TB10
5C159TD12
5C159UA02
5C159UA05
5C159UA11
(57)【要約】
ビデオデータを符号化または復号するための方法、非一時的コンピュータ可読媒体、およびコンピュータシステムが提供される。方法は、クロマ成分およびルーマ成分を含むビデオデータを受信するステップと、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とを、解析、導出、または選択するステップと、ビデオデータを復号するステップとを含み得る。方法は、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップをさらに含み得る。
【特許請求の範囲】
【請求項1】
プロセッサによって実行可能なビデオ復号の方法であって、
クロマ成分およびルーマ成分を含むビデオデータを受信するステップと、
1つのフレーム内の前記クロマ成分のプリセットの数と、前記1つのフレーム内の前記ルーマ成分のプリセットの数とを、解析、導出、または選択するステップと、
前記ビデオデータを復号するステップと、を含み、前記方法が、1つのフレーム内の前記クロマ成分の前記プリセットの数と、前記1つのフレーム内の前記ルーマ成分の前記プリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップを含む、方法。
【請求項2】
ルーマおよびクロマ成分が異なる区分または半連結解除された区分を有するとき、互いに独立したルーマおよびクロマ成分をフィルタリングする前記分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップと、
ルーマ/クロマ成分のフィルタリングされた再構成サンプルを含む前記分離したCDEF処理の出力を取得するステップと、をさらに含み、
前記分離したCDEF処理の入力が、ルーマ/クロマ成分の再構成サンプルであり、
前記分離したCDEF処理の中間出力が、導出されたフィルタプリセットおよびブロック毎のレベルプリセットインデックスを使用することを含む、請求項1に記載の方法。
【請求項3】
前記ルーマ成分に対して導出された前記プリセットの数が、ピクチャレベルで前記クロマ成分に対して導出された前記プリセットの数と異なる、請求項1に記載の方法。
【請求項4】
ピクチャレベルでの前記プリセットの数が、1、2、4、または8のうちの1つを含む、請求項3に記載の方法。
【請求項5】
前記1つのフレーム内の前記ルーマ成分に対して導出され選択された前記プリセットの数が2であり、前記1つのフレーム内の前記クロマ成分に対し導出され選択された前記プリセットの数が1である、請求項1に記載の方法。
【請求項6】
ルーマ成分に対して導出され選択された前記プリセットの数が正の整数であるNであり、クロマ成分に対する前記プリセットの数が、シグナリングなしでデコーダにおいて1として導出される1に固定された、請求項1に記載の方法。
【請求項7】
現在のルーマブロックに対して前記選択されたプリセットインデックスが、現在のクロマブロックに対する選択されたプリセットインデックスと異なり、
前記分離したCDEF処理の入力が、前記現在のルーマ/クロマブロックのルーマ/クロマ再構成サンプル、およびフレームレベルで導出され選択された前記プリセットであり、
前記分離したCDEF処理の前記出力が、前記現在のルーマ/クロマブロックに対してどのプリセットが選択されているかを示すインデックスである、請求項1に記載の方法。
【請求項8】
フレームレベルで、前記ルーマ成分の数が8つのプリセットに対応し、前記クロマ成分の数が4つのプリセットに対応するとき、ルーマブロックAの前記プリセットインデックスを7として、クロマブロックBの前記プリセットインデックスを1として選択することをさらに含み、前記ルーマブロックAおよび前記クロマブロックBが、同一位置にあるか、または部分的に同一位置にある、請求項1に記載の方法。
【請求項9】
前記クロマ成分のCDEFフィルタリング強度を導出するとき、入力再構成サンプルが、現在のクロマ符号化ブロックサイズによって決定されること、
をさらに含む請求項1に記載の方法。
【請求項10】
現在のクロマブロックが一定サイズであるとき、入力が、前記一定サイズを有する現在のブロックのクロマ再構成サンプル値であること
をさらに含む請求項9に記載の方法。
【請求項11】
分離した区分または半連結解除された区分が前記ルーマおよびクロマブロックに適用されるとき、ルーマおよびクロマブロックが依然として前記同じプリセットインデックスを共有し、前記プリセットインデックス導出/シグナリング処理において、前記ルーマまたはクロマブロックサイズのうちの1つのみが採用されること
をさらに含む請求項1に記載の方法。
【請求項12】
ルーマおよびクロマ成分が前記同じ符号化ブロックサイズを有するとき、ルーマおよびクロマ成分の前記CDEFフィルタリング処理が分離して実行されること
をさらに含む請求項1に記載の方法。
【請求項13】
ピクチャレベルプリセットが、高レベルパラメータセット、スライスヘッダ、ピクチャヘッダ、または補足強化情報(SEI)メッセージ内でルーマおよびクロマ成分のために分離してシグナリングされる、請求項1に記載の方法。
【請求項14】
前記ルーマプリセットが最初にシグナリングされ、次にクロマプリセットがシグナリングされる、請求項13に記載の方法。
【請求項15】
ブロックレベルプリセットインデックスが、ルーマおよびクロマ成分のために分離してシグナリングされる、請求項1に記載の方法。
【請求項16】
ルーマ成分のプリセットインデックスが最初にシグナリングされ、次にクロマ成分のプリセットインデックスがシグナリングされる、請求項15に記載の方法。
【請求項17】
ビデオデータを復号するためのコンピュータシステムであって、
コンピュータプログラムコードを記憶するように構成された1つまたは複数のコンピュータ可読非一時的記憶媒体と、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令されたように動作するように構成された1つまたは複数のコンピュータプロセッサと、を備え、前記コンピュータプログラムコードが、
前記1つまたは複数のコンピュータプロセッサに、クロマ成分およびルーマ成分を含むビデオデータを受信させるように構成された受信コードと、
前記1つまたは複数のコンピュータプロセッサに、1つのフレーム内の前記クロマ成分のプリセットの数と、前記1つのフレーム内の前記ルーマ成分のプリセットの数とを、解析、導出、または選択させるように構成された解析、導出または選択コードと、
前記1つまたは複数のコンピュータプロセッサに、前記ビデオデータを復号させるように構成された復号コードと、を含み、前記方法が、1つのフレーム内の前記クロマ成分の前記プリセットの数と、前記1つのフレーム内の前記ルーマ成分の前記プリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行することを含む、コンピュータシステム。
【請求項18】
前記ルーマ成分に対して導出された前記プリセットの数が、ピクチャレベルで前記クロマ成分に対して導出された前記プリセットの数と異なる、請求項17に記載のコンピュータシステム。
【請求項19】
ビデオデータを復号するためのコンピュータプログラムが記憶された非一時的コンピュータ可読媒体であって、前記コンピュータプログラムが、1つまたは複数のコンピュータプロセッサに、
クロマ成分およびルーマ成分を含むビデオデータを受信させるように構成され、
前記1つまたは複数のコンピュータプロセッサに、1つのフレーム内の前記クロマ成分のプリセットの数と、前記1つのフレーム内の前記ルーマ成分のプリセットの数とを、解析、導出、または選択させるように構成された解析、導出または選択コード、および
前記1つまたは複数のコンピュータプロセッサに、前記ビデオデータを復号させるように構成された復号コード、前記方法が、1つのフレーム内の前記クロマ成分の前記プリセットの数と、前記1つのフレーム内の前記ルーマ成分の前記プリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行することを含む、非一時的コンピュータ可読媒体。
【請求項20】
前記ルーマ成分に対して導出された前記プリセットの数が、ピクチャレベルで前記クロマ成分に対して導出された前記プリセットの数と異なる、請求項19に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
優先権情報
本出願は、2020年6月18日に出願された米国仮出願第63/040,856号、および2020年11月6日に出願された米国出願第17/091,759号の優先権の利益を主張し、これらはその全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、データ処理分野に関し、より詳細には、ビデオの符号化および/または復号(例えば、コーダ、デコーダまたはコーデック(デコーダおよびエンコーダ)による)に関する。
【背景技術】
【0003】
AOMedia Video 1(AV1)は、インターネット経由でのビデオ伝送のために設計された、オープンビデオ符号化フォーマットである。これは、例えば、関連技術のコーデック拡張の後継として開発された。
【発明の概要】
【課題を解決するための手段】
【0004】
実施形態は、ビデオデータを符号化および/または復号するための方法、システム、およびコンピュータ可読媒体に関する。一態様によれば、ビデオデータを符号化および/または復号する方法が提供される。方法は、クロマ成分およびルーマ成分を含むビデオデータを受信するステップと、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とを、解析、導出、または選択するステップと、ビデオデータを復号するステップとを含むことができ、方法は、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップを含む。
【0005】
方法は、ルーマおよびクロマ成分が異なる区分または半連結解除された区分を有するとき、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップと、ルーマ/クロマ成分のフィルタリングされた再構成サンプルを含む分離したCDEF処理の出力を取得するステップと、を含んでもよく、分離したCDEF処理の入力は、ルーマ/クロマ成分の再構成サンプルであり、分離したCDEF処理の中間出力は、導出されたフィルタプリセットおよびブロック毎のレベルプリセットインデックスを使用することを含む。
【0006】
ルーマ成分に対して導出されたプリセットの数は、ピクチャレベルでクロマ成分に対して導出されたプリセットの数と異なる。
【0007】
ピクチャレベルでのプリセットの数は、1、2、4、または8のうちの1つを含み得る。
【0008】
1つのフレーム内のルーマ成分に対して導出され選択されたプリセットの数は2であり、1つのフレーム内のクロマ成分に対し導出され選択されたプリセットの数は1である。
【0009】
ルーマ成分に対して導出され選択されたプリセットの数は正の整数であるNであり、クロマ成分に対するプリセットの数は、シグナリングなしでデコーダにおいて1として導出される1に固定されている。
【0010】
現在のルーマブロックに対して選択されたプリセットインデックスは、現在のクロマブロックに対する選択されたプリセットインデックスと異なり、分離したCDEF処理の入力は、現在のブロックのルーマ/クロマ再構成サンプル、およびフレームレベルで導出され選択されたプリセットである。この処理の出力は、現在のブロックに対してどのプリセットが選択されているかを示すインデックスである。
【0011】
方法は、フレームレベルで、ルーマ成分の数が8つのプリセットに対応し、クロマ成分の数が4つのプリセットに対応するとき、ルーマブロックAのプリセットインデックスを7として、クロマブロックBのプリセットインデックスを1として選択することをさらに含んでもよく、ルーマブロックAおよびクロマブロックBが、同一位置にあるか、または部分的に同一位置にある。
【0012】
方法は、クロマ成分のCDEFフィルタリング強度を導出するとき、入力再構成サンプルが、現在のクロマ符号化ブロックサイズによって決定されることをさらに含み得る。
【0013】
方法は、現在のクロマブロックが一定サイズであるとき、入力が、一定サイズを有する現在のブロックのクロマ再構成サンプル値であることをさらに含み得る。
【0014】
方法は、分離した区分または半連結解除された区分がルーマおよびクロマブロックに適用されるとき、ルーマおよびクロマブロックが依然として同じプリセットインデックスを共有し、プリセットインデックス導出/シグナリング処理において、ルーマまたはクロマブロックサイズのうちの1つのみが採用されることをさらに含み得る。
【0015】
方法は、ルーマおよびクロマ成分が同じ符号化ブロックサイズを有するとき、ルーマおよびクロマ成分のCDEFフィルタリング処理が分離して実行されることをさらに含み得る。
【0016】
ピクチャレベルプリセットは、高レベルパラメータセット、スライスヘッダ、ピクチャヘッダ、または補足強化情報(Supplementary Enhancement Information、SEI)メッセージ内でルーマ成分およびクロマ成分のために分離してシグナリングされ得る。
【0017】
ルーマプリセットが最初にシグナリングされ、次にクロマプリセットがシグナリングされ得る。
【0018】
ブロックレベルプリセットインデックスは、ルーマおよびクロマ成分のために分離してシグナリングされる。
【0019】
ルーマ成分のプリセットインデックスが最初にシグナリングされ、次にクロマ成分のプリセットインデックスがシグナリングされる。
【0020】
ビデオデータを復号するためのコンピュータシステムは、コンピュータプログラムコードを記憶するように構成された1つまたは複数のコンピュータ可読非一時的記憶媒体と、前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令されたように動作するように構成された1つまたは複数のコンピュータプロセッサとを備えてもよく、前記コンピュータプログラムコードは、1つまたは複数のコンピュータプロセッサに、クロマ成分およびルーマ成分を含むビデオデータを受信させるように構成された受信コードと、1つまたは複数のコンピュータプロセッサに、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とを、解析、導出、または選択させるように構成された解析、導出または選択コードと、1つまたは複数のコンピュータプロセッサに、ビデオデータを復号させるように構成された復号コードと、を含み、方法は、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行することを含む。
【0021】
ビデオデータを復号するためのコンピュータプログラムが記憶された非一時的コンピュータ可読媒体は、1つまたは複数のコンピュータプロセッサに、クロマ成分およびルーマ成分を含むビデオデータを受信させるように構成することができ、1つまたは複数のコンピュータプロセッサに、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とを、解析、導出、または選択させるように構成された解析、導出または選択コード、および1つまたは複数のコンピュータプロセッサに、ビデオデータを復号させるように構成された復号コード、方法は、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行することを含む。
【0022】
これらおよび他の目的、特徴および利点は、添付の図面に関連して読まれるべき例示的な実施形態の以下の詳細な説明から明らかになるであろう。例示は詳細な説明と併せて当業者の理解を容易にする際の明確さのためのものであるため、図面の様々な特徴は正確な縮尺ではない。
【図面の簡単な説明】
【0023】
図1】少なくとも1つの実施形態によるネットワーク化されたコンピュータ環境を示す。
図2】適応ループフィルタ(ALF)のフィルタ形状を示す。
図3A】対角勾配のサブサンプル位置を示す。
図3B】対角勾配のサブサンプル位置を示す。
図3C】対角勾配のサブサンプル位置を示す。
図3D】対角勾配のサブサンプル位置を示す。
図4】仮想境界での修正ブロック分類を示す。
図5】仮想境界でのルーマ成分に対する修正ALFフィルタリングを示す。
図6】ルーマサンプルに対するクロマサンプルの位置を示す。
図7】8×8ブロックの方向探索の一例を示す。
図8】8×8ブロックの方向探索の一例を示す。
図9】符号化ツリー構造(ルーマおよびクロマ)の一例を示す。
図10】分離した制約付き方向性強調フィルタ(SCDEF)を示す。
図11】少なくとも1つの実施形態による、ビデオデータを符号化するプログラムによって実行されるステップを示す動作フローチャートである。
図12】少なくとも1つの実施形態による、図1に図示されたコンピュータおよびサーバの内部および外部構成要素のブロック図である。
図13】少なくとも1つの実施形態による、図1に図示されたコンピュータシステムを含む、例示的なクラウドコンピューティング環境のブロック図である。
図14】少なくとも1つの実施形態による、図13の例示的クラウドコンピューティング環境の機能層のブロック図である。
【発明を実施するための形態】
【0024】
特許請求される構造および方法の詳細な実施形態が本明細書に開示されているが、開示された実施形態は、様々な形態で具現化され得る特許請求された構造および方法の単なる例示であることが理解され得る。これらの構造および方法は、しかしながら、多くの異なる形態で具体化され得、本明細書に記載される例示的な実施形態に限定されると解釈されるべきではない。むしろ、これらの例示的な実施形態は、本開示が詳細かつ完全であり、当業者にその範囲を十分に伝えるために提供されている。この説明では、提示された実施形態を不必要に不明瞭にすることを避けるために、周知の特徴および技術の詳細は省略される場合がある。
【0025】
実施形態は、一般に、データ処理分野に関し、より詳細には、ビデオの符号化および/または復号に関する。以下に説明する例示的な実施形態は、とりわけ、ビデオデータを符号化および/または復号するシステム、方法、およびコンピュータプログラムを提供する。
【0026】
前述のように、AOMedia Video 1(AV1)は、インターネット経由でのビデオ伝送のために設計された、オープンビデオ符号化フォーマットである。これは、半導体企業、ビデオオンデマンドプロバイダ、ビデオコンテンツ制作会社、ソフトウェア開発会社、Webブラウザベンダーが参加し2015年に設立された、コンソーシアムであるAlliance for Open Media(AOMedia)によって、VP9の後継フォーマットとして開発された。
【0027】
本明細書では、様々な実施形態による方法、装置(システム)、およびコンピュータ可読媒体のフローチャート図および/またはブロック図を参照しながら態様を説明する。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実現できることが理解されよう。
【0028】
ここで、図1を参照すると、一実施形態によるビデオデータを符号化および/または復号するためのビデオ符号化システム100(以下、「システム」)を示す、ネットワークコンピュータ環境の機能ブロック図が示されている。図1は、一実施態様の例示のみを提供し、異なる実施形態が実施され得る環境に関する限定を意味しないことを理解されたい。図示した環境に対する多くの修正は、設計および実施要件に基づいて行うことができる。
【0029】
システム100は、コンピュータ102およびサーバコンピュータ114を含むことができる。コンピュータ102は、通信ネットワーク110(以下「ネットワーク」)を介してサーバコンピュータ114と通信することができる。コンピュータ102は、プロセッサ104と、データ記憶デバイス106に記憶され、ユーザとインターフェースし、サーバコンピュータ114と通信することが可能なソフトウェアプログラム108と、を含むことができる。図12を参照して後述するように、コンピュータ102は、内部構成要素800Aおよび外部構成要素900Aをそれぞれ含むことができ、サーバコンピュータ114は、内部構成要素800Bおよび外部構成要素900Bをそれぞれ含むことができる。コンピュータ102は、例えば、モバイルデバイス、電話、携帯情報端末、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、またはプログラムを実行し、ネットワークにアクセスし、データベースにアクセスすることができる任意の種類のコンピューティングデバイスであってもよい。
【0030】
サーバコンピュータ114はまた、図13および14に関して後述するように、Software as a Service(SaaS)、Platform as a Service(PaaS)、またはInfrastructure as a Service(IaaS)などのクラウドコンピューティングサービスモデルで動作することができる。サーバコンピュータ114はまた、プライベートクラウド、コミュニティクラウド、パブリッククラウド、またはハイブリッドクラウドなどのクラウドコンピューティング配備モデルに配置されてもよい。
【0031】
ビデオデータを符号化するために使用され得るサーバコンピュータ114は、データベース112と相互作用し得るビデオ符号化または復号プログラム116(以下、「プログラム」)を実行することができる。ビデオ符号化または復号プログラムの方法は、図3に関して以下でより詳細に説明される。一実施形態では、コンピュータ102は、ユーザインターフェースを含む入力デバイスとして動作することができ、プログラム116は、主にサーバコンピュータ114上で実行することができる。代替的な実施形態では、プログラム116は、主に1つまたは複数のコンピュータ102上で実行することができ、サーバコンピュータ114は、プログラム116によって使用されるデータの処理および記憶に使用することができる。プログラム116は、独立したプログラムであってもよいし、より大きなビデオ符号化プログラムに統合されていてもよいことに留意されたい。ビデオ符号化または復号プログラム116は、エンコーダ、デコーダ、またはコード化(エンコーダおよびデコーダの両方)に対応することができる。
【0032】
しかしながら、プログラム116の処理は、場合によっては、コンピュータ102とサーバコンピュータ114との間で任意の比率で共有されてもよいことに留意されたい。別の実施形態では、プログラム116は、複数のコンピュータ、サーバコンピュータ、またはコンピュータとサーバコンピュータとの何らかの組み合わせ、例えば、ネットワーク110を介して単一のサーバコンピュータ114と通信する複数のコンピュータ102上で動作することができる。別の実施形態では、例えば、プログラム116は、ネットワーク110を介して複数のクライアントコンピュータと通信する複数のサーバコンピュータ114上で動作することができる。あるいは、プログラムは、ネットワークを介してサーバおよび複数のクライアントコンピュータと通信するネットワークサーバ上で動作してもよい。
【0033】
ネットワーク110は、有線接続、無線接続、光ファイバ接続、またはそれらの何らかの組み合わせを含むことができる。一般に、ネットワーク110は、コンピュータ102とサーバコンピュータ114との間の通信をサポートする接続およびプロトコルの任意の組み合わせとすることができる。ネットワーク110は、例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)などの電気通信ネットワーク、無線ネットワーク、公衆交換網、衛星ネットワーク、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上移動網(PLMN)、メトロポリタンエリアネットワーク(MAN)、プライベートネットワーク、アドホックネットワーク、イントラネット、光ファイバベースのネットワークなど、および/またはこれらのもしくは他のタイプのネットワークの組み合わせなどの様々なタイプのネットワークを含むことができる。
【0034】
図1に示すデバイスおよびネットワークの数および配置は、一例として提供されている。実際には、追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、あるいは図1に示すものとは異なる配置のデバイスおよび/またはネットワークが存在してもよい。さらに、図1に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、または図1に示す単一のデバイスは、複数の分散型デバイスとして実装されてもよい。さらに、または代替的に、システム100のデバイスのセット(例えば、1つまたは複数のデバイス)は、システム100のデバイスの別のセットによって実行されるものとして説明される1つまたは複数の機能を実行してもよい。
【0035】
1 適応ループフィルタ(ALF)
多用途ビデオ符号化(VVC)(草案8)では、ブロックベースのフィルタ適応を有する適応ループフィルタ(ALF)が適用される。ルーマ成分に対して、各4×4のブロックに、局所的な勾配の方向およびアクティビティに基づいて、25個のフィルタから1つが選択される。
【0036】
1.1 フィルタ形状
VVC(草案8)では、(図2に示すような)2つのダイヤモンド形状のフィルタ形状を使用することができる。ルーマ成分には7×7のダイヤモンド形状が適用され、クロマ成分には5×5のダイヤモンド形状が適用される。
【0037】
1.2 ブロック分類
ルーマ成分に対して、4×4の各ブロックは25のクラスのうちの1つに分類される。分類指標インデックスCは、その方向性Dと動きの量子化値
【数1】
に基づいて、以下のように導出される。
【数2】
【0038】
Dおよび
【数3】
を算出するために、最初に1次元ラプラシアンを用いて、水平、垂直、および2つの対角方向の勾配を算出する。
【数4】
【0039】
ここで、インデックスiおよびjは、4×4ブロック内の左上のサンプルの座標を示し、R(i、j)は、座標(i、j)における再構成サンプルを示す。
【0040】
ブロック分類の複雑さを低減するために、サブサンプルされた1次元ラプラシアン計算が適用される。図3A図3Dに示すように、同じサブサンプル位置が、全方向の勾配計算(例えば、全方向のサブサンプルされたラプラシアン計算)に使用される。例えば、図3Aは、垂直勾配のサブサンプル位置を示し、図3Bは水平勾配のサブサンプル位置を示し、図3Cおよび図3Dは、対角勾配のサブサンプル部分を示す。
【0041】
次に、水平方向および垂直方向の勾配のDの最大値および最小値を次のように設定する。
【数5】
【0042】
2つの対角方向の勾配の最大値および最小値を次のように設定する。
【数6】
【0043】
方向性Dの値を導出するために、これらの値を互いに2つの閾値t1およびt2と比較する。
ステップ1.
【数7】
および
【数8】
の両方が真の場合、Dを0に設定する。
ステップ2.
【数9】
の場合、ステップ3から続行し、それ以外の場合、ステップ4から続行する。
ステップ3.
【数10】
の場合、Dを2に設定し、それ以外の場合、Dを1に設定する。
ステップ4.
【数11】
の場合、Dを4に設定し、それ以外の場合、Dを3に設定する。
【0044】
動き値Aは次のように算出される。
【数12】
【0045】
さらにAは0~4の範囲(両端を含む)で量子化され、その量子化値は
【数13】
で表される。
【0046】
ピクチャ内のクロマ成分に対しては、分類方法を適用せず、つまり、各クロマ成分に対してはALF係数の単一セットを適用する。
【0047】
1.3 フィルタ係数とクリッピング値の幾何学的変換
各4×4ルーマブロックをフィルタリングする前に、そのブロックに対して算出された勾配値に基づいて、回転または対角方向や垂直方向フリップなどの幾何学的変換が、フィルタ係数f(k, l)と対応するフィルタクリッピング値c(k, l)とに適用される。これは、フィルタサポート領域のサンプルにこれらの変換を適用することと同等である。これは、ALFが適用された異なるブロックを、その方向性を整列することによってより類似したものにするという発想である。
【0048】
対角、垂直方向フリップおよび回転の3つの幾何学的変換を導入する。
対角:fD(k, l)=f(l, k)、cD(k, l)=c(l, k)、 (式9)
垂直方向フリップ:fV(k, l)=f(k, K-l-1)、cV(k, l)=c(k, K-l-1)(式10)
回転:fR(k, l)=f(K-l-1, k)、cR(k, l)=c(K-l-1, k) (式11)
ここで、Kはフィルタのサイズ、0≦k、l≦K-1は係数の座標で、位置(0, 0)が左上コーナ、位置(K-1, K-1)が右下コーナである。変換は、そのブロックで算出された勾配値に基づいて、フィルタ係数f(k, l)およびクリッピング値c(k, l)に適用される。変換と4方向の4つの勾配との関係を以下の表1にまとめる。
【0049】
【表1】
【0050】
1.4 フィルタパラメータシグナリング
VVC(草案8)では、ALFフィルタパラメータはアダプテーションパラメータセット(APS)でシグナリングされる。1つのAPSでは、最大25セットのルーマフィルタ係数およびクリッピング値インデックスと、最大8セットのクロマフィルタ係数およびクリッピング値インデックスとをシグナリングできる。ビットのオーバーヘッドを低減するために、ルーマ成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダでは、現在のスライスに使用されているAPSのインデックスがシグナリングされる。VVC(草案8)では、ALFのシグナリングはCTUベースである。
【0051】
APSから復号されたクリッピング値インデックスは、ルーマおよびクロマのクリッピング値のテーブルを使用してクリッピング値を決定することができる。これらのクリッピング値は、内部ビット深度に依存する。より正確には、クリッピング値のテーブルは以下の式によって求められる。
AlfClip={round(2B-α*n)、n∈[0..N-1]} (式12)
ここで、Bは内部ビット深度に等しく、αは事前定義された定数であり2.35に等しく、NはVVC(草案8)で許容されるクリッピング値の数であり4に等しい。
【0052】
表2は式12の出力を示す。
【0053】
【表2】
【0054】
スライスヘッダでは、最大7つのAPSインデックスをシグナリングして、現在のスライスに使用されるルーマフィルタセットを指定できる。フィルタリング処理は、符号化ツリーブロック(CTB)レベルでさらに制御することができる。ALFがルーマCTBに適用されているかどうかを示すために、フラグが常にシグナリングされる。ルーマCTBは、16個の固定フィルタセットとAPSからのフィルタセットとの中からフィルタセットを選択できる。どのフィルタセットを適用するかを示すために、ルーマCTBのフィルタセットインデックスがシグナリングされる。16個の固定フィルタセットは、エンコーダおよびデコーダの両方で事前定義され、ハードコードされる。
【0055】
クロマ成分には、現在のスライスで使用されているクロマフィルタセットを示すために、スライスヘッダでAPSインデックスがシグナリングされる。CTBレベルでは、APSに複数のクロマフィルタセットがある場合、各クロマCTBにフィルタインデックスがシグナリングされる。
【0056】
フィルタ係数は、128に等しいノルムで量子化することができる。乗算の複雑さを制限するために、非中心位置の係数値が-27~27-1の範囲(両端を含む)になるように、ビットストリーム適合性が適用される。中心位置係数は、ビットストリームではシグナリングされず、128に等しいとみなされる。
【0057】
VVC(草案8)では、クリッピングインデックスや値のシンタックスおよびセマンティクスは以下のように定義される:alf_luma_clip_idx[ sfIdx ][ j ]は、sfIdxで示されるシグナリングされたルーマフィルタのj番目の係数を乗算する前に使用するクリッピング値のクリッピングインデックスを指定する。ビットストリーム適合性要件は、sfIdx=0..alf_luma_num_filters_signalled_minus1かつj=0..11であるときのalf_luma_clip_idx[ sfIdx ][ j ]の値が、0~3の範囲(両端を含む)であることである。
【0058】
filtIdx=0..NumAlfFilters-1かつj=0..11である、要素AlfClipL[ adaptation_parameter_set_id ][ filtIdx ][ j ]を有する、ルーマフィルタクリッピング値AlfClipL[ adaptation_parameter_set_id ]は、BitDepthYに等しく設定されたbitDepthおよびalf_luma_clip_idx[ alf_luma_coeff_delta_idx[ filtIdx ] ][ j ]に等しく設定されたclipIdxに依存して、表2において指定されたように導出される。
【0059】
alf_chroma_clip_idx[ altIdx ][ j ]は、使用するクリッピング値のクリッピングインデックスを指定し、その後、インデックスaltIdxの代替クロマフィルタのj番目の係数を乗算する。altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5でのalf_chroma_clip_idx[ altIdx ][ j ]の値を0~3の範囲(両端を含む)とすることが、ビットストリーム適合性の要件である。
【0060】
altIdx=0..alf_chroma_num_alt_filters_minus1、j=0..5である、要素AlfClipC[ adaptation_parameter_set_id ][ altIdx ][ j ]を有するクロマフィルタ・クリッピング値AlfClipC[ adaptation_parameter_set_id ][ altIdx ]は、BitDepthCに等しく設定されたbitDepthおよびalf_chroma_clip_idx[ altIdx ][ j ]に等しく設定されたclipIdxに依存して、表2において指定されたように導出される。
【0061】
1.5 フィルタリング処理
デコーダ側では、CTBに対してALFを有効にすると、CU内の各サンプルR(i, j)はフィルタリングされ、以下に示すようなサンプル値R’(i, j)となる。
【数14】
ここで、f(k, l)は復号されたフィルタ係数を表し、K(x, y)はクリッピング関数であり、c(k, l)は復号されたクリッピングパラメータを表す。変数kおよびlは
【数15】

【数16】
の間で変化し、ここでLはフィルタ長を表す。クリッピング関数K(x, y)=min(y, max(-y, x))は、関数Clip3(-y, y, x)に対応する。このクリッピング関数を組み込むことによって、このループフィルタリング方法は非線形ALFとして知られる非線形処理になる。選択されたクリッピング値は、表2のクリッピング値のインデックスに対応するゴロム符号化スキームを用いて、「alf_data」シンタックス要素に符号化される。この符号化スキームは、フィルタインデックスの符号化スキームと同じである。
【0062】
1.6 ラインバッファ低減のための仮想境界フィルタリング処理
ALFのラインバッファ要件を低減するために、水平方向のCTU境界付近のサンプルに対して、修正ブロック分類とフィルタリングを採用する。この目的のために、図4に示すように、水平方向のCTU境界を「N」個のサンプルでシフトすることにより、仮想境界をラインとして定義することができる。ここで「N」はルーマ成分に対しては4、クロマ成分に対しては2に等しい。
【0063】
図4に図示したように、ルーマ成分に対して修正ブロック分類が適用される。仮想境界より上の4×4ブロックの1次元ラプラシアン勾配計算には、仮想境界より上のサンプルのみを使用する。同様に、仮想境界より下の4×4ブロックの1次元ラプラシアン勾配計算には、仮想境界より下のサンプルのみを使用する。動き値Aの量子化は、1次元ラプラシアン勾配計算で使用するサンプル数の低減を考慮して、それに応じてスケーリングされる。
【0064】
フィルタリング処理では、ルーマ成分およびクロマ成分の両方に、仮想境界における対称的なパディング操作を行う。図5(「仮想境界におけるルーマ成分に対する修正ALFフィルタリング」)に示すように、フィルタリングされるサンプルが仮想境界より下に位置するとき、仮想境界より上に位置する近傍のサンプルがパディングされる。一方、他方の対応するサンプルも対称的にパディングされる。
【0065】
1.7 最大符号化ユニット(LCU)-整列ピクチャ四分木分割
符号化効率を向上させるために、JCTVC-C143 [3]では、符号化ユニット同期ピクチャ四分木ベースの適応ループフィルタが提案されている。ルーマピクチャは複数のマルチレベル四分木区分に分割され、各区分の境界は最大符号化ユニット(LCU)の境界に整列される。各区分は独自のフィルタリング処理を有し、従ってフィルタユニット(FU)と呼ばれる。
【0066】
2パス符号化フローを以下で説明する。第1のパスでは、四分木分割パターンと各FUの最適なフィルタとを決定する。決定処理中、FFDEによってフィルタリング歪みが推定される。決定された四分木分割パターンと、すべてのFUの選択されたフィルタに従って、再構成ピクチャがフィルタリングされる。第2のパスでは、CU同期ALFのオン/オフ制御を実行する。ALFのオン/オフ結果に従って、最初にフィルタリングされたピクチャが再構成ピクチャによって部分的に復元される。
【0067】
トップダウン分割手段を採用して、レート歪み基準を用いてピクチャをマルチレベル四分木区分に分ける。各区分はフィルタユニットと呼ばれる。分割処理では、四分木区分をLCUの境界に整列させる。FUの符号化順序は、zスキャンの順序に従う。例えば、ピクチャを10個のFUに分割することができ、符号化順序は、FU0、FU1、FU2、FU3、FU4、FU5、FU6、FU7、FU8、FU9である。
【0068】
ピクチャ四分木分割パターンを示すために、分割フラグをZ順に符号化して伝送することができる。
【0069】
各FUのフィルタは、レート歪み基準に基づいて、2つのフィルタセットから選択することができる。第1のセットは、現在のFUのために新たに導出された1/2対称の正方形およびひし形のフィルタを有することができる。第2のセットは、時間遅延フィルタバッファから得ることができ、時間遅延フィルタバッファは、前のピクチャのFUに対して以前に導出されたフィルタを記憶する。これらの2つのセットの最小のレート歪みコストを有するフィルタを、現在のFUに対して選択することができる。同様に、現在のFUが最小のFUではなく、4つの子FUにさらに分割できる場合、4つの子FUのレート歪みコストが算出される。分割および分割なしの場合のレート歪みコストを再帰的に比較することにより、ピクチャ四分木分割パターンを決定することができる。
【0070】
JCTVC-C143では、最大四分木分割レベルは2で、FUの最大数は16であることを意味する。四分木分割決定中、最下位の四分木レベル(最小FU)の16個のFUのウィーナー係数を導出するための相関値を再利用することができる。残りのFUは、最下位の四分木レベルの16個のFUの相関から、それらのウィーナーフィルタを導出することができる。従って、すべてのFUのフィルタ係数を導出するためのフレームバッファのアクセスは1回だけである。
【0071】
四分木分割パターンが決定された後、フィルタリング歪みをさらに低減するために、CU同期ALFのオン/オフ制御を実行する。フィルタリング歪みと非フィルタリング歪みとを比較することによって、リーフCUはそのローカル領域でALFのオン/オフを明示的に切り替えることができる。ALFのオン/オフ結果に従ってフィルタ係数を再設計することによって、符号化効率をさらに向上させることができる。しかし、再設計処理は、追加のフレームバッファへアクセスを必要とする。提案したCS-PQALFエンコーダ設計では、フレームバッファアクセス数を最小化するために、CU同期ALFのオン/オフ決定後の再設計処理は存在しない。
【0072】
2.クロスコンポーネント適応ループフィルタ
クロスコンポーネント適応ループフィルタ(CC-ALF)は、ルーマサンプル値を利用して各クロマ成分を精緻化する。
【0073】
CC-ALFは、各クロマ成分のルーマチャネルに、線形のダイヤモンド形状のフィルタを適用することによって動作する。フィルタ係数はAPSで伝送され、210倍にスケーリングされ、固定小数点表現のために丸められる。フィルタの適用は、可変ブロックサイズで制御され、サンプルの各ブロックに対して受信したコンテキスト符号化フラグによってシグナリングされる。ブロックサイズは、CC-ALFイネーブルフラグとともに、各クロマ成分のスライスレベルで受信される。コントリビューションでは、以下のブロックサイズ(クロマサンプル単位)が16×16、32×32、64×64でサポートされた。
【0074】
CC-ALFのシンタックス変更を表3で以下に説明する。
【0075】
【表3】
【0076】
CC-ALF関連シンタックスのセマンティクスを以下に説明する。
【0077】
alf_ctb_cross_component_cb_idc[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]が0に等しい場合、クロスコンポーネントCbフィルタがルーマロケーション(xCtb, yCtb)のCbカラーコンポーネントサンプルのブロックに適用されないことを示す。
【0078】
alf_cross_component_cb_idc[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]が0に等しくない場合、alf_cross_component_cb_idc[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]番目のクロスコンポーネントCbフィルタがルーマロケーション(xCtb, yCtb)のCbカラーコンポーネントサンプルのブロックに適用されることを示す。
【0079】
alf_ctb_cross_component_cr_idc[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]が0に等しい場合、クロスコンポーネントCrフィルタがルーマロケーション(xCtb, yCtb)のCrカラーコンポーネントサンプルのブロックに適用されないことを示す。alf_cross_component_cr_idc[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]が0に等しくない場合、alf_cross_component_cr_idc[ xCtb >> CtbLog2SizeY ][ yCtb >> CtbLog2SizeY ]番目のクロスコンポーネントCrフィルタがルーマロケーション(xCtb、yCtb)のCrカラーコンポーネントサンプルのブロックに適用されることを示す。
【0080】
3 クロマサンプリングフォーマット
本出願クロマの図6(「ルーマサンプルに対するクロマサンプルの位置」)は、chroma_format_idcが1(4:2:0クロマフォーマット)で、chroma_sample_loc_type_top_fieldまたはchroma_sample_loc_type_bottom_fieldが変数ChromaLocTypeの値と等しい場合の左上のクロマサンプルの相対的な位置を示す。左上の4:2:0クロマサンプル(中央に大きな赤いドットを有する大きな赤い四角として図示)によって表現された領域は、左上のルーマサンプル(中央に小さな黒いドットがある小さな黒い正方形として図示)によって表現された領域と相対的に示されている。隣接するルーマサンプルによって表現された領域は、中心に小さなグレーのドットを有する小さなグレーの正方形として図示されている。
【0081】
4 制約付き方向性強調フィルタ
ループ内制約付き方向性強調フィルタ(CDEF)の主目的は、画像の詳細を保持しながら符号化アーチファクトを除去することである。HEVCでは、画素適応オフセット(SAO)アルゴリズムが、異なるクラスの画素のシグナリングオフセットを定義することによって、同様の目的を達成する。SAOとは異なり、CDEFは非線形空間フィルタである。フィルタの設計は容易にベクトル化できるように制約されており(つまりSIMD動作で実装可能)、これはメディアンフィルタやバイラテラルフィルタのような他の非線形フィルタには当てはまらない。
【0082】
CDEFの設計は、以下のような観察に基づいている。符号化画像のリンギングアーチファクトの量は、量子化ステップサイズにほぼ比例する傾向がある。詳細の量は入力画像の特性であるが、量子化画像に保持される最小の詳細もまた、量子化ステップサイズに比例する傾向がある。所与の量子化ステップサイズでは、一般にリンギングの振幅は詳細の振幅よりも小さくなる。
【0083】
CDEFは、各ブロックの方向を識別し、識別された方向に沿って、また識別された方向から45度回転した方向に沿って、より少ない角度で適応的にフィルタリングする。フィルタ強度は明示的にシグナリングされるため、ぼやけに対する高度な制御が可能である。フィルタ強度に対して効率的なエンコーダ探索が設計されている。CDEFは、以前に提案された2つのループ内フィルタに基づいており、結合フィルタが新たなAV1コーデックに採用された。
【0084】
4.1 方向探索
方向探索は、再構成画素に対してデブロッキングフィルタの直後に行われる。これらの画素はデコーダで利用可能なので、方向はシグナリングを必要としない。探索は8×8ブロックで動作し、これは、非直線エッジを適切に処理するために十分に小さく、量子化画像に適用された場合に確実に方向を推定するのに十分に大きい。8×8領域に一定の方向性を持たせることで、フィルタのベクトル化が容易になる。各ブロックに対して、量子化されたブロックと最も近接する完全方向性ブロックとの差分二乗和(SSD)を最小にすることで、ブロック内のパターンに最も一致する方向を決定する。完全方向性ブロックとは、ある方向の線に沿ったすべての画素が同じ値を有するブロックである。図7は、8×8ブロックの方向探索の一例である。この場合、エラーを最小化する、45度の方向(列12を囲むボックスで示す)が選択される。
【0085】
4.2 非線形ローパス方向フィルタ
方向を識別する主な理由は、方向エッジまたはパターンを維持しながら、その方向に沿ってフィルタタップを整列させリンギングを低減するためである。しかし、方向フィルタリングだけでは、リンギングを十分に低減できない場合がある。また、主方向に沿っていない画素にフィルタタップを使用することも望ましい。ぼやけのリスクを低減するために、これらの余分なタップはより控えめに扱われる。このため、CDEFではプライマリタップおよびセカンダリタップを定義している。完全な2次元CDEFフィルタは次のように表現される。
【数17】
ここで、Dは減衰パラメータ、S(p)およびS(s)はそれぞれプライマリタップとセカンダリタップの強度、round(・)はゼロから離れてタイを丸め、wkはフィルタの重み、f(d, S, D)はフィルタリングされた画素と隣接する画素の各々との差に作用する制約関数である。差が小さい場合、f(d, S, D)=dとなり、フィルタは線形フィルタのように挙動する。差が大きい場合、f(d, S, D)=0となり、フィルタタップを効果的に無視する。
【0086】
5.AV1のループ復元
一般にノイズを除去しエッジの品質を向上させるために、従来のデブロッキング動作以外に、デブロッキング後のビデオ符号化で使用するためのループ内復元スキームのセットが提案されている。これらのスキームは、適切なサイズのタイル毎にフレーム内で切り替え可能である。説明した特定のスキームは、分離可能な対称ウィーナーフィルタと、部分空間投影を用いたデュアル自己ガイド(dual self-guided)フィルタとに基づいている。コンテンツ統計はフレーム内で実質的に変化する可能性があるため、これらのツールは、フレームの異なる領域で異なるツールを起動できる切り替え可能なフレームワークに統合されている。
【0087】
5.1 分離可能な対称ウィーナーフィルタ
文献で有望であると示されている復元ツールの1つが、ウィーナーフィルタである。劣化したフレームのすべての画素は、その周りのw×wウィンドウ内の画素の非因果フィルタバージョンとして再構成することができ、ここでw=2r+1は整数rに対して奇数である。2次元フィルタタップが列ベクトル化形態のw2×1要素ベクトルFによって表される場合、直接的なLMMSE最適化によって、F=H-1Mによって与えられるフィルタパラメータが導かれる。ここで、H=E[XXT]はxの自己共分散であり、画素の周りのw×wのウィンドウ中のw2のサンプルの列方向にベクトル化したバージョンであり、M=E[YXT]は、推定されるべき、xとスカラソースサンプルyとの相互相関である。エンコーダは、デブロックされたフレームとソースとの実現からHおよびMを推定し、得られたフィルタFをデコーダに送信することができる。しかし、そうすると、w2個のタップを伝送する際にかなりのビットレートコストを招くだけでなく、分離不可能なフィルタリングよって復号が非常に複雑になる。従って、Fの性質にはいくつかの追加的な制約が課せられる。第1に、Fは分離可能であるように制約されており、フィルタリングは分離可能な水平および垂直のw-tap畳み込みとして実装できる。第2に、水平および垂直の各フィルタは、対称であるように制約される。第3に、水平および垂直両方のフィルタ係数の合計が1になると仮定される。
【0088】
5.2 部分空間投影によるデュアル自己ガイド付きフィルタリング
ガイド付きフィルタリングは、画像フィルタリングの最近のパラダイムの1つであり、ここでローカル線形モデルは以下である。
y=Fx+G (式15)
上式は、フィルタリングされていないサンプルxから、フィルタリングされた出力yを計算するために使用される。ここで、FおよびGは、劣化した画像およびフィルタリングされた画素の近傍のガイダンス画像の統計に基づいて決定される。ガイド画像が劣化した画像と同じである場合、得られたいわゆる自己ガイド付きフィルタリングは、エッジ維持平滑化の効果を有する。発明者らが提案した自己ガイド付きフィルタリングの特定の形態は、2つのパラメータ、半径およびノイズパラメータeに依存し、以下のように列挙される。
1.各画素の周りの(2r+1)×(2r+1)ウィンドウで画素の平均μおよび分散σ2を求める。これは、積分イメージングに基づくボックスフィルタリングで効率的に実装可能である。
2.すべての画素について計算する:f=σ2/(σ2+e);g=(1-f)μ
3.すべての画素のFおよびGを、使用する画素の周りの3×3のウィンドウ内のfおよびgの値の平均として計算する。
【0089】
フィルタリングはrおよびeで制御され、rが大きいほど空間分散が大きくなり、eが大きいほど範囲分散が大きくなる。
【0090】
部分空間投影の原理を、図8に図式的に示す。安価な復元X1、X2のいずれもソースYに近接していなくても、適切な乗算器{α,β}は、それらが幾分正しい方向に移動している限り、それらをソースにかなり近接させることができる。図8は、安価な復元を用いて、ソースにより近接した最終的復元を生成する部分空間投影を示す。
【0091】
6.半連結解除された区分
半連結解除された区分(semi decoupled partitioning、SDP)スキーム、またはクロマ成分の半分離ツリー(semi separate tree、SST)もしくはフレキシブルブロック区分(flexible block partitioning)。この方法では、1つのスーパーブロック(SB)内のルーマブロックおよびクロマブロックは、ルーマ符号化ブロックサイズまたはルーマツリー深度に依存して、同じまたは異なるブロック区分を有することができる。具体的には、ルーマブロックのエリアサイズが1つの閾値T1より大きい場合、またはルーマブロックの符号化ツリー分割深度が1つの閾値T2以下の場合、クロマブロックはルーマと同じ符号化ツリー構造を使用する。それ以外の場合、ブロックエリアサイズがT1以下であるか、またはルーマ分割深度がT2よりも大きい場合、対応するクロマブロックは、ルーマ成分と異なる符号化ブロック区分を有することができ、これはクロマ成分のフレキシブルブロック区分と呼ばれる。T1は、128または256などの正の整数である。T2は、1または2などの正の整数である。
【0092】
改良された半連結解除された区分(SDP)スキームが提案され、ここでは、ルーマ成分およびクロマ成分はスーパーブロックのルートノードから部分ツリー構造を共有することができ、ルーマおよびクロマが分離したツリー区分を開始する条件はルーマ区分情報に依存する。例えば、図9は、ルーマ成分およびクロマ成分の符号化ツリー構造の一例を示す。
【0093】
制約付き方向性強調フィルタ(CDEF)では、ルーマ成分およびクロマ成分は、ピクチャレベルでプリセットを共有するように制限される。さらに、ルーマ成分およびクロマ成分は、ブロックレベルで同じプリセットインデックスを有するように制限される。最後に、クロマ成分のフィルタ強度を導出するとき、ルーマブロックサイズを使用してクロマ成分の入力を決定する。これらの制約は、CDEFの符号化効率を制限する可能性がある。
【0094】
従来のCDEFでは、1つのプリセットには、ルーマとクロマのプライマリ/セカンダリ強度を含む。許容された/利用可能なプリセットの数はピクチャレベルでシグナリングされる。符号化ブロックレベルでは、現在のブロックにどのプリセットが選択されているかを示すインデックスがシグナリングされる。CDEFの符号化ブロックサイズには、128×128、128×64、64×64、64×128がある。従来のCDEFには3つの制限がある。1つ目の制限は、ルーマ成分およびクロマ成分が、ピクチャレベルでプリセットを共有しなければならないということ、別の制限は、ルーマ成分およびクロマ成分が、ブロックレベルで同じプリセットインデックスを選ばなければならないということ、もう1つの制限は、クロマ成分のフィルタ強度を導出するとき、ルーマブロックサイズを使用してクロマ成分の入力を決定しなければならないということである。前述の制限は、特に、半連結解除された区分(SDP)における区分スキームのような、ルーマ成分およびクロマ成分が異なる区分スキームを有する状況下では、ともにCDEFの性能を制限するおそれがある。
【0095】
本書では、ルーマ成分およびクロマ成分のCDEF処理を分離して実行する分離した制約付き方向性強調フィルタ(SCDEF)を提案する。従来のCDEFと比較して、SCDEFは、互いに独立したルーマ成分およびクロマ成分のフィルタリングを可能にする。さらに具体的には、ルーマ成分およびクロマ成分は、ピクチャレベルで異なるプリセットの数を有してもよく、さらに、ルーマ成分およびクロマ成分は、ブロックレベルで異なるプリセットインデックスを選択してもよく、クロマ成分のフィルタ強度を導出するとき、クロマブロックサイズを使用してクロマ成分の入力を決定する。
【0096】
図12に示すように、ルーマ成分およびクロマ成分が異なる区分または半連結解除された区分を有するとき、ルーマ成分およびクロマ成分のCDEFフィルタリング処理を分離して実行することが提案されている。CDEFフィルタリング処理の入力は、ルーマ/クロマ成分の再構成サンプルである。この処理の中間出力には、上記の提案された方法で述べたように、導出されたフィルタプリセットとブロック毎のレベルプリセットインデックスとが含まれるが、これらに限定されない。この処理の最終的な出力は、ルーマ/クロマ成分のフィルタされた再構成サンプルである。
【0097】
一実施形態では、ルーマ成分およびクロマ成分に導出されるプリセットの数は、ピクチャレベルで互いに異なってもよい。CDEFフィルタリング処理の入力は、ルーマ/クロマ成分の再構成サンプルである。この処理の出力は、ピクチャレベルで導出されたプリセットである。ピクチャレベルでのプリセットの数の例としては、1、2、4、8が挙げられるが、これらに限定されない。
【0098】
一例では、1つのフレーム内の現在のルーマ成分に対して導出され選択されたプリセットの数は2であり、このフレームの現在のクロマ成分に対して導出され選択されたプリセットの数は1である。
【0099】
別の例では、ルーマ成分に対して導出され選択されたプリセットの数はNであり、Nは1、2、4、または8などの正の整数であるが、クロマ成分に対するプリセットの数は1に固定される。クロマ成分に対するプリセットの数は、ビットストリームでシグナリングされる必要はなく、デコーダにおいて1として導出される。
【0100】
例えば、図10は、分離した制約付き方向性強調フィルタ(SCDEF)を示す。
【0101】
一実施形態では、現在のルーマブロックおよびクロマブロックの選択されたプリセットインデックスは、互いに異なっていてもよい。この処理の入力は、現在のブロックのルーマ/クロマ再構成サンプル、およびフレームレベルで導出され選択されたプリセットである。この処理の出力は、現在のブロックに対してどのプリセットが選択されているかを示すインデックスである。
【0102】
一例では、フレームレベルでルーマ成分が8つのプリセットを有し、クロマ成分が4つのプリセットを有するとき、ルーマブロックAに対して選択されたプリセットインデックスは7であり、クロマブロックBに対して選択されたプリセットインデックスは1である。ルーマブロックAおよびクロマブロックBは、同一位置にあるか、または部分的に同一位置にある。
【0103】
一実施形態では、クロマ成分のCDEFフィルタリング強度を導出するとき、入力再構成サンプルは、現在のクロマ符号化ブロックサイズによって決定される。
【0104】
一例では、現在のクロマブロックサイズが32×64である場合、入力は現在の32×64ブロックのクロマ再構成サンプル値である。
【0105】
一実施形態では、分離した区分または半連結解除された区分がルーマブロックおよびクロマブロックに適用されるとき、ルーマブロックおよびクロマブロックは依然として同じプリセットインデックスを共有し、プリセットインデックス導出/シグナリング処理において、ルーマ(またはクロマ)ブロックサイズのみが採用される。
【0106】
いくつかの実施形態では、ルーマ成分およびクロマ成分が同じ符号化ブロックサイズを有するとき、ルーマ成分およびクロマ成分のCDEFフィルタリング処理は分離して実行される。
【0107】
いくつかの実施形態では、SCDEFのシグナリングは、ルーマ成分およびクロマ成分に対して分離して実行される。
【0108】
一実施形態では、ピクチャレベルプリセットは、ルーマ成分およびクロマ成分に対して分離してシグナリングされる。これらのプリセットは、高レベルパラメータセット(DPS、VPS、SPS、PPS、APS)、スライスヘッダ、ピクチャヘッダ、SEIメッセージでシグナリングすることができる。
【0109】
一例では、ルーマプリセットが最初にシグナリングされ、次にクロマプリセットがシグナリングされる。
【0110】
一実施形態では、ブロックレベルプリセットインデックスは、ルーマ成分およびクロマ成分に対して分離してシグナリングされる。
【0111】
一例では、ルーマ成分のプリセットインデックスが最初にシグナリングされ、次にクロマ成分のプリセットインデックスがシグナリングされる。
【0112】
次に図11を参照すると、ビデオデータの復号のための方法300のステップを示す動作フローチャートが図示されている。しかし、当業者であれば、図11に基づいて、符号化処理がどのように動作するかを理解することができるであろう。いくつかの実装では、図3の1つまたは複数の処理ブロックは、コンピュータ102(図1)およびサーバコンピュータ114(図1)によって実行することができる。いくつかの実装では、図3の1つまたは複数の処理ブロックは、コンピュータ102やサーバコンピュータ114とは分離した、またはそれを含む別のデバイスまたはデバイスグループによって実行することができる。
【0113】
ステップ302において、方法300は、クロマ成分およびルーマ成分を含むビデオデータを受信するステップを含む。
【0114】
ステップ304において、方法300は、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とを、解析、導出、または選択するステップを含む。
【0115】
ステップ306において、方法300は、ビデオデータを符号化および/または復号するステップを含む。
【0116】
動作306は、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とに基づいてもよい。
【0117】
方法は、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とに基づいて、互いに独立したルーマ成分およびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップをさらに含み得る。
【0118】
図11は、1つの実装の例示のみを提供し、異なる実施形態がどのように実装され得るかに関して、いかなる制限も意味しないことを理解されたい。図示した環境に対する多くの修正は、設計および実施要件に基づいて行うことができる。
【0119】
図12は、例示的実施形態による、図1に図示されたコンピュータの内部構成要素および外部構成要素のブロック図400である。図4は、一実施態様の例示のみを提供し、異なる実施形態が実施され得る環境に関する限定を意味しないことを理解されたい。図示した環境に対する多くの修正は、設計および実施要件に基づいて行うことができる。
【0120】
コンピュータ102(図1)およびサーバコンピュータ114(図1)は、図12に示される内部構成要素800A、800Bおよび外部構成要素900A、900Bのそれぞれのセットを含み得る。内部構成要素800のセットの各々は、1つまたは複数のプロセッサ820と、1つまたは複数のバス826上の1つもしくは複数のコンピュータ可読RAM822および1つもしくは複数のコンピュータ可読ROM824と、1つまたは複数のオペレーティングシステム828と、1つまたは複数のコンピュータ可読有形記憶デバイス830と、を含む。
【0121】
プロセッサ820は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせで実現される。プロセッサ820は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または別の種類の処理構成要素である。いくつかの実施態様では、プロセッサ820は、機能を実行するようにプログラムすることができる1つまたは複数のプロセッサを含む。バス826は、内部構成要素800A、800B間の通信を可能にする構成要素を含む。
【0122】
サーバコンピュータ114(図1)上の1つまたは複数のオペレーティングシステム828、ソフトウェアプログラム108(図1)、およびビデオ符号化プログラム116(図1)は、それぞれのコンピュータ可読有形記憶デバイス830の1つまたは複数に記憶され、それぞれのRAM822(典型的にはキャッシュメモリを含む)の1つまたは複数を介してそれぞれのプロセッサ820の1つまたは複数により実行される。図12に示された実施形態では、コンピュータ可読有形記憶デバイス830のそれぞれは、内蔵ハードドライブの磁気ディスク記憶デバイスである。あるいは、コンピュータ可読有形記憶デバイス830の各々は、ROM 824、EPROM、フラッシュメモリ、光ディスク、光磁気ディスク、ソリッドステートディスク、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、および/またはコンピュータプログラムおよびデジタル情報を記憶することができる別の種類の非一時的コンピュータ可読有形記憶デバイスなどの半導体記憶デバイスである。
【0123】
内部構成要素800A、800Bの各セットはまた、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク、または半導体記憶デバイスなどの1つまたは複数のポータブルコンピュータ可読有形記憶デバイス936から読み書きするためのR/Wドライブまたはインターフェース832を含む。ソフトウェアプログラム108(図1)およびビデオ符号化プログラム116(図1)などのソフトウェアプログラムは、それぞれのポータブルコンピュータ可読有形記憶デバイス936の1つまたは複数に記憶され、それぞれのR/Wドライブまたはインターフェース832を介して読み取られ、それぞれのハードドライブ830にロードされ得る。
【0124】
内部構成要素800A、800Bの各セットはまた、TCP/IPアダプタカード、無線Wi-Fiインターフェースカード、あるいは3G、4G、もしくは5G無線インターフェースカードまたは他の有線もしくは無線通信リンクなどのネットワークアダプタまたはインターフェース836を含む。サーバコンピュータ114(図1)上のソフトウェアプログラム108(図1)およびビデオ符号化プログラム116(図1)は、ネットワーク(例えば、インターネット、ローカルエリアネットワークまたはその他の、ワイドエリアネットワーク)およびそれぞれのネットワークアダプタまたはインターフェース836を介して、外部のコンピュータからコンピュータ102(図1)およびサーバコンピュータ114にダウンロードすることができる。ネットワークアダプタまたはインターフェース836から、サーバコンピュータ114上のソフトウェアプログラム108およびビデオ符号化プログラム116が、それぞれのハードドライブ830にロードされる。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。
【0125】
外部構成要素900A、900Bのセットの各々は、コンピュータディスプレイモニタ920、キーボード930、およびコンピュータマウス934を含むことができる。外部構成要素900A、900Bはまた、タッチスクリーン、仮想キーボード、タッチパッド、ポインティングデバイス、および他のヒューマンインターフェースデバイスを含むことができる。内部構成要素800A、800Bのセットの各々はまた、コンピュータディスプレイモニタ920、キーボード930、およびコンピュータマウス934にインターフェースするためのデバイスドライバ840を含む。デバイスドライバ840、R/Wドライブまたはインターフェース832ならびにネットワークアダプタまたはインターフェース836は、(記憶デバイス830および/またはROM824に記憶された)ハードウェアおよびソフトウェアを含む。
【0126】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に列挙された教示の実施態様はクラウドコンピューティング環境に限定されないことを事前に理解されたい。むしろ、いくつかの実施形態は、現在知られているまたは後に開発される任意の他の種類のコンピューティング環境と併せて実施することができる。
【0127】
クラウドコンピューティングは、設定可能なコンピューティングリソース(ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、サービスなど)の共有プールへの、簡単にオンデマンドネットワークアクセスを可能にするサービス提供モデルであり、最小限の管理作業やサービスプロバイダとのやりとりで迅速に準備かつリリースすることができる。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの配備モデルを含むことができる。
【0128】
特性は以下の通りである。
オンデマンドセルフサービス:クラウド消費者は、サービスプロバイダとのやりとりを必要とせず、必要に応じて自動的にサーバ時間やネットワークストレージなどのコンピューティング能力を単独で準備することができる。
広範なネットワークアクセス:機能は、ネットワークを介して利用可能であり、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的な機構を介してアクセスされる。
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数の消費者にサービスを提供するためにプールされ、異なる物理リソースおよび仮想リソースは、需要に応じて動的に割り当ておよび再割り当てされる。消費者は、一般に、提供されたリソースの正確な位置に対する制御または知識を持たないが、より高い抽象化レベル(例えば、国、州、またはデータセンター)で位置を指定することができるという点で、位置独立性の感覚がある。
迅速な柔軟性:能力は、迅速かつ柔軟に準備し、場合によっては自動的に、敏速にスケールアウトしたり、または迅速にリリースしたりして迅速にスケールインできる。消費者にとっては、多くの場合、準備のために利用可能な能力は無制限に見え、いつでもすきなだけ購入することができる。
測定されたサービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブユーザアカウント)に適したある抽象化レベルで計量能力を活用することによって、リソース使用を自動的に制御および最適化する。リソース使用は、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供するように監視、制御、および報告され得る。
【0129】
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される能力は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインターフェースを介して様々なクライアントデバイスからアクセス可能である。消費者は、限られたユーザ固有のアプリケーション構成設定を除いて、ネットワーク、サーバ、オペレーティングシステム、ストレージ、または個々のアプリケーション機能さえも含む基盤となるクラウドインフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションをクラウドインフラストラクチャ上に配備することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含む基盤となるクラウドインフラストラクチャを管理または制御しないが、配備されたアプリケーションおよび場合によってはアプリケーションホスティング環境構成を制御する。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを提供することであり、消費者は、オペレーティングシステムおよびアプリケーションを含むことができる任意のソフトウェアを配備および実行することができる。消費者は、基盤となるクラウドインフラストラクチャを管理も制御もしないが、オペレーティングシステム、ストレージ、配備されたアプリケーション、および場合によっては選択ネットワーキング構成要素(例えば、ホストファイアウォール)の限定された制御への制御を有する。
【0130】
配備モデルは以下の通りである。
プライベートクラウド:クラウドインフラストラクチャは、ある組織のためだけに運営される。これは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスで存在してもよい。
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織によって共有され、共有された関心事項(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。これは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスで存在してもよい。
パブリッククラウド:クラウドインフラストラクチャは、一般の人々または大規模な業界グループに提供され、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティのままであるが、データおよびアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースト)を可能にする標準化されたまたは独自の技術によって互いに結び付けられた2つ以上のクラウド(私的、共同体、または公的)の構成である。
【0131】
クラウドコンピューティング環境は、無国籍、低結合、モジュール性、およびセマンティック相互運用性に焦点を合わせたサービス指向である。クラウドコンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0132】
図13を参照すると、例示的なクラウドコンピューティング環境500が図示されている。図示のように、クラウドコンピューティング環境500は、例えば、携帯情報端末(PDA)または携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、および/または自動車コンピュータシステム54Nなど、クラウド消費者が使用するローカルコンピューティングデバイスが通信できる1つまたは複数のクラウドコンピューティングノード10を備える。クラウドコンピューティングノード10は、互いに通信することができる。それらは、上述のプライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド、またはそれらの組み合わせなどの1つもしくは複数のネットワークにおいて、物理的または仮想的にグループ化(図示せず)されてもよい。これにより、クラウドコンピューティング環境600は、クラウド消費者がローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム、および/またはソフトウェアを提供することができる。図13に示されるコンピューティングデバイス54A~Nの種類は、例示のみを意図しており、クラウドコンピューティングノード10およびクラウドコンピューティング環境500は、任意の種類のネットワークおよび/またはネットワークアドレス可能な接続を介して(例えば、ウェブブラウザを使用して)、任意の種類のコンピュータ化されたデバイスと通信できることを理解されたい。
【0133】
図14を参照すると、クラウドコンピューティング環境500(図13)によって提供される一組の機能抽象化層600が示されている。図6に示されたコンポーネント、層、および機能は、例示のみを意図しており、実施形態はこれらに限定されないことを、あらかじめ理解されたい。図示するように、以下の層および対応する機能が提供される。
【0134】
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶デバイス65、ならびにネットワークおよびネットワーク構成要素66を含む。いくつかの実施形態では、ソフトウェア構成要素は、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
【0135】
仮想化層70は、仮想エンティティの以下の例が提供され得る抽象化層を提供する。仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75である。
【0136】
一例では、管理層80は、以下に説明する機能を提供することができる。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を提供する。計測および価格設定82は、リソースがクラウドコンピューティング環境内で利用されるときのコスト追跡、およびこれらのリソースの消費に対する請求または請求書発行を提供する。一例では、これらのリソースは、アプリケーションソフトウェアライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクのための識別検証、ならびにデータおよび他のリソースのための保護を提供する。ユーザポータル83は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルが満たされるようにクラウドコンピューティングリソースの割り当ておよび管理を提供する。サービス水準合意(SLA)の計画および履行85は、その将来の要件がSLAに従って予想されるクラウドコンピューティングリソースの事前配置および調達を提供する。
【0137】
ワークロード層90は、クラウドコンピューティング環境を利用することができる機能の例を提供する。この層から提供され得るワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルームでの教育提供93、データ分析処理94、トランザクション処理95、およびビデオ符号化/復号96が挙げられる。
【0138】
いくつかの実施形態は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、および/またはコンピュータ可読媒体に関することができる。コンピュータ可読媒体は、プロセッサに動作を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読非一時的記憶媒体を含むことができる。
【0139】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラム可能読み出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカードまたは溝内の隆起構造などの機械的に符号化されたデバイス、ならびに上記の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)を伝搬する電磁波、またはワイヤを介して伝送される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0140】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/または無線ネットワークを介して外部コンピュータもしくは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0141】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、あるいはSmalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、態様または動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによってコンピュータ可読プログラム命令を実行することができる。
【0142】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実施するための手段を作成するように、機械を製造するために、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能なデータ処理装置、および/または他のデバイスに特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよく、その結果、記憶された命令を有するコンピュータ可読記憶媒体は、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作の態様を実施する命令を含む製品を含む。
【0143】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能な処理装置、または他のデバイス上で実行される命令がフローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実施するように、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成するために、コンピュータ、他のプログラム可能な装置、または他のデバイス上にロードされてもよい。
【0144】
図のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法、およびコンピュータ可読媒体の可能な実施態様のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部を表すことができる。方法、コンピュータシステム、およびコンピュータ可読媒体は、図に示すものよりも、さらなるブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。いくつかの代替的な実施態様では、ブロックに記載された機能は、図に記載された順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、実際には、同時にまたは実質的に同時に実行されてもよく、またはブロックは、関連する機能に応じて、時には逆の順序で実行されてもよい。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行するか、専用ハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェアベースのシステムによって実装され得ることにも留意されたい。
【0145】
本明細書に記載のシステムおよび/または方法は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせの異なる形態で実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実施態様を限定するものではない。従って、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェアおよびハードウェアは、本明細書の記載に基づいてシステムおよび/または方法を実装するように設計され得ることが理解される。
【0146】
本明細書で使用される要素、動作、または命令は、そのように明示的に記載されていない限り、重要または必須であると解釈されるべきではない。また、本明細書で使用される場合、冠詞「a」および「an」は、1つまたは複数の項目を含むことを意図しており、「1つまたは複数」と交換可能に使用され得る。さらに、本明細書で使用される場合、「セット」という用語は、1つまたは複数の項目(例えば、関連項目、無関係な項目、関連項目と無関係な項目との組み合わせなど)を含むことを意図しており、「1つまたは複数」と互換的に使用され得る。1つの項目のみが意図される場合、「1つ」という用語または同様の用語が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、「有する(having)」などの用語は、オープンエンド用語であることを意図している。さらに、「に基づいて」という語句は、特に明記しない限り、「少なくとも部分的に、基づいて」を意味することを意図している。
【0147】
様々な態様および実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。特徴の組み合わせが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組み合わせは、可能な実施態様の開示を限定することを意図するものではない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されていない、および/または明細書に開示されていない方法で組み合わされてもよい。以下に列挙される各従属請求項は1つの請求項のみに直接依存してもよいが、可能な実施態様の開示は、各従属請求項を請求項セット内の他のすべての請求項と組み合わせて含む。記載された実施形態の範囲から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途または市場で見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示する実施形態を理解することを可能にするために選択された。
【0148】
本開示全体で使用される頭字語としては以下が挙げられる。
HEVC 高効率ビデオ符号化
HDR ハイ・ダイナミックレンジ
SDR 標準ダイナミックレンジ
VVC 多用途ビデオ符号化
JVET 共同ビデオ探索チーム
MPM 最確モード
WAIP 広角イントラ予測
CU 符号化ユニット
CTB 符号化ツリーブロック
PU 予測ユニット
TU 変換ユニット
CTU 符号化ツリーユニット
PDPC 位置依存予測組み合わせ
ISP イントラ・サブ区分
SPS シーケンスパラメータセット
PPS ピクチャパラメータセット
APS 適応パラメータセット
VPS ビデオパラメータセット
DPS 復号パラメータセット
ALF 適応ループフィルタ
SAO 画素適応オフセット
CC-ALF クロスコンポーネント適応ループフィルタ
CDEF 制約付き方向性強調フィルタ
LR ループ復元フィルタ
AV1 AOMedia Video 1
AV2 AOMedia Video 2
SDP 半連結解除された区分
SEI 補足強化情報
【符号の説明】
【0149】
10 クラウドコンピューティングノード
54A 携帯情報端末(PDA)または携帯電話
54B デスクトップコンピュータ
54C ラップトップコンピュータ
54N 自動車コンピュータシステム
60 ハードウェアおよびソフトウェア層
61 メインフレーム
62 RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ
63 サーバ
64 ブレードサーバ
65 記憶デバイス
66 ネットワークおよびネットワーク構成要素
67 ネットワークアプリケーションサーバソフトウェア
68 データベースソフトウェア
70 仮想化層
71 仮想サーバ
72 仮想ストレージ
73 仮想ネットワーク
74 仮想アプリケーションおよびオペレーティングシステム
75 仮想クライアント
80 管理層
81 リソースプロビジョニング
82 計測および価格設定
83 ユーザポータル
84 サービスレベル管理
85 サービス水準合意(SLA)の計画および履行
90 ワークロード層
91 マッピングおよびナビゲーション
92 ソフトウェア開発およびライフサイクル管理
93 教育提供
94 データ分析処理
95 トランザクション処理
96 ビデオ符号化/復号
100 ビデオ符号化システム
102 コンピュータ
104 プロセッサ
106 データ記憶デバイス
108 ソフトウェアプログラム
110 通信ネットワーク
112 データベース
114 サーバコンピュータ
116 ビデオ符号化プログラム
116 プログラム
116 ビデオ符号化または復号プログラム
500 クラウドコンピューティング環境
600 機能抽象化層
800A 内部構成要素
800B 内部構成要素
820 プロセッサ
822 コンピュータ可読RAM
824 コンピュータ可読ROM
826 バス
828 オペレーティングシステム
830 ハードドライブ/記憶デバイス
832 R/Wドライブまたはインターフェース
836 ネットワークアダプタまたはインターフェース
840 デバイスドライバ
900A 外部構成要素
900B 外部構成要素
920 コンピュータディスプレイモニタ
930 キーボード
934 コンピュータマウス
936 ポータブルコンピュータ可読有形記憶デバイス
図1
図2
図3A
図3B
図3C
図3D
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2022-04-20
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正の内容】
【0021】
ビデオデータを復号するためのコンピュータプログラムが記憶された非一時的コンピュータ可読媒体において、コンピュータプログラムは、1つまたは複数のコンピュータプロセッサに、クロマ成分およびルーマ成分を含むビデオデータを受信させるように構成された受信コードと、1つまたは複数のコンピュータプロセッサに、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とを、解析、導出、または選択させるように構成された解析、導出または選択コードと、1つまたは複数のコンピュータプロセッサに、ビデオデータを復号させるように構成された復号コード1つまたは複数のコンピュータプロセッサに、1つのフレーム内のクロマ成分のプリセットの数と、1つのフレーム内のルーマ成分のプリセットの数とに基づいて、互いに独立したルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行させるように構成された実行コードとを含む。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサによって実行可能なビデオ復号の方法であって、
クロマ成分およびルーマ成分を含むビデオデータを受信するステップと、
1つのフレーム内の前記クロマ成分のプリセットの数と、前記1つのフレーム内の前記ルーマ成分のプリセットの数とを、解析、導出、または選択するステップと、
前記ビデオデータを復号するステップと、を含み、前記方法が、1つのフレーム内の前記クロマ成分の前記プリセットの数と、前記1つのフレーム内の前記ルーマ成分の前記プリセットの数とに基づいて、互いに独立しルーマおよびクロマ成分をフィルタリングする分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップを含む、方法。
【請求項2】
ルーマおよびクロマ成分が異なる区分または半連結解除された区分を有するとき、互いに独立しルーマおよびクロマ成分をフィルタリングする前記分離した制約付き方向性強調フィルタ(CDEF)処理を実行するステップと、
ルーマ/クロマ成分のフィルタリングされた再構成サンプルを含む前記分離したCDEF処理の出力を取得するステップと、をさらに含み、
前記分離したCDEF処理の入力が、ルーマ/クロマ成分の再構成サンプルであり、
前記分離したCDEF処理の中間出力が、導出されたフィルタプリセットおよびブロック毎のレベルプリセットインデックスを使用することを含む、請求項1に記載の方法。
【請求項3】
前記ルーマ成分に対して導出された前記プリセットの数が、ピクチャレベルで前記クロマ成分に対して導出された前記プリセットの数と異なる、請求項1または2に記載の方法。
【請求項4】
ピクチャレベルでの前記プリセットの数が、1、2、4、または8のうちの1つを含む、請求項3に記載の方法。
【請求項5】
前記1つのフレーム内の前記ルーマ成分に対して導出され選択された前記プリセットの数が2であり、前記1つのフレーム内の前記クロマ成分に対し導出され選択された前記プリセットの数が1である、請求項1から4のいずれか一項に記載の方法。
【請求項6】
ルーマ成分に対して導出され選択された前記プリセットの数が正の整数であるNであり、クロマ成分に対する前記プリセットの数が、シグナリングなしでデコーダにおいて1として導出される1に固定された、請求項1から5のいずれか一項に記載の方法。
【請求項7】
現在のルーマブロックに対して前記選択されたプリセットインデックスが、現在のクロマブロックに対する選択されたプリセットインデックスと異なり、
前記分離したCDEF処理の入力が、前記現在のルーマ/クロマブロックのルーマ/クロマ再構成サンプル、およびフレームレベルで導出され選択された前記プリセットであり、
前記分離したCDEF処理の前記出力が、前記現在のルーマ/クロマブロックに対してどのプリセットが選択されているかを示すインデックスである、請求項1から6のいずれか一項に記載の方法。
【請求項8】
フレームレベルで、前記ルーマ成分の数が8つのプリセットに対応し、前記クロマ成分の数が4つのプリセットに対応するとき、ルーマブロックAの前記プリセットインデックスを7として、クロマブロックBの前記プリセットインデックスを1として選択することをさらに含み、前記ルーマブロックAおよび前記クロマブロックBが、同一位置にあるか、または部分的に同一位置にある、請求項1から4のいずれか一項に記載の方法。
【請求項9】
前記クロマ成分のCDEFフィルタリング強度を導出するとき、入力再構成サンプルが、現在のクロマ符号化ブロックサイズによって決定されること、
をさらに含む請求項1から8のいずれか一項に記載の方法。
【請求項10】
現在のクロマブロックが一定サイズであるとき、入力が、前記一定サイズを有する現在のブロックのクロマ再構成サンプル値であること
をさらに含む請求項9に記載の方法。
【請求項11】
分離した区分または半連結解除された区分が前記ルーマおよびクロマブロックに適用されるとき、ルーマおよびクロマブロックが依然として前記同じプリセットインデックスを共有し、前記プリセットインデックス導出/シグナリング処理において、前記ルーマまたはクロマブロックサイズのうちの1つのみが採用されること
をさらに含む請求項1から10のいずれか一項に記載の方法。
【請求項12】
ルーマおよびクロマ成分が前記同じ符号化ブロックサイズを有するとき、ルーマおよびクロマ成分の前記CDEFフィルタリング処理が分離して実行されること
をさらに含む請求項1から11のいずれか一項に記載の方法。
【請求項13】
ピクチャレベルプリセットが、高レベルパラメータセット、スライスヘッダ、ピクチャヘッダ、または補足強化情報(SEI)メッセージ内でルーマおよびクロマ成分のために分離してシグナリングされる、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記ルーマプリセットが最初にシグナリングされ、次にクロマプリセットがシグナリングされる、請求項13に記載の方法。
【請求項15】
ブロックレベルプリセットインデックスが、ルーマおよびクロマ成分のために分離してシグナリングされる、請求項1から14のいずれか一項に記載の方法。
【請求項16】
ルーマ成分のプリセットインデックスが最初にシグナリングされ、次にクロマ成分のプリセットインデックスがシグナリングされる、請求項15に記載の方法。
【請求項17】
請求項1から16のいずれか一項に記載の方法を実行するように構成されたコンピュータシステム。
【請求項18】
1つまたは複数のコンピュータプロセッサに請求項1から16のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】