(57)【要約】  ビデオをコード化及び復号するための方法及び機器を提供する。ビデオを符号化する方法は、ビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスすること、シンタックス要素に関連するシンタックス要素のビンのコンテキストを決定すること、及び決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化することを含み、シンタックス要素のビンはシンタックス要素のニューラルネットワークによる予測の関連性に基づき、又はコンテキストに関連する確率はニューラルネットワークによって決定される。符号化データを含むようにフォーマットされたビットストリーム、コンピュータ可読記憶媒体、及びコンピュータ可読プログラム製品も記載する。
2021520087.tif 000002
【特許請求の範囲】
【請求項１】
ビデオのピクチャ内の現在のブロックに関連するシンタックス要素のビンにアクセスすること（６１０）、
前記シンタックス要素の前記ビンのコンテキストを決定すること（６３０、６５０）であって、前記コンテキストは前記シンタックス要素に関連する、決定すること（６３０、６５０）、及び
前記決定したコンテキストに基づいて前記シンタックス要素の前記ビンをエントロピ符号化すること（６４０）
を含む、ビデオを符号化する方法であって、
シンタックス要素のビンに前記アクセスすること（６１０）は、
前記シンタックス要素の前に符号化されたデータに対してニューラルネットワークを適用することによって前記シンタックス要素の予測を前記シンタックス要素について決定すること（６１２）であって、前記シンタックス要素の前に符号化された前記データは前に符号化されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、決定すること（６１２）、及び
前記シンタックス要素の前記予測の関連性に基づいて前記シンタックス要素のビンを決定すること（６１４、６１６）を含む、
ビデオを符号化する方法。
【請求項２】
ビデオのピクチャ内の現在のブロックに関連するシンタックス要素のビンにアクセスすること（１０１０）、
前記シンタックス要素の前記ビンのコンテキストを決定すること（１０３０、１０５０）であって、前記コンテキストは前記シンタックス要素に関連する、決定すること（１０３０、１０５０）、及び
前記決定したコンテキストに基づいて前記シンタックス要素の前記ビンをエントロピ符号化すること（１０４０）
を含む、ビデオを符号化する方法であって、
前記シンタックス要素の前記ビンのコンテキストを前記決定すること（１０３０、１０５０）は、前記シンタックス要素の前に符号化されたデータに対してニューラルネットワークを適用することによって前記コンテキストに関連する確率を決定することを含み、前記シンタックス要素の前に符号化された前記データは前に符号化されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、
ビデオを符号化する方法。
【請求項３】
ビデオのピクチャ内の現在のブロックに関連するシンタックス要素のビンにアクセスするための手段と、
前記シンタックス要素に関連する前記シンタックス要素の前記ビンのコンテキストを決定するための手段と、
前記決定したコンテキストに基づいて前記シンタックス要素の前記ビンをエントロピ符号化するための手段と
を含む、ビデオを符号化するための機器であって、
シンタックス要素のビンにアクセスするための前記手段は、
前記シンタックス要素の前に符号化されたデータに応じて前記シンタックス要素の予測を前記シンタックス要素について決定するためのニューラルネットワークであって、前記シンタックス要素の前に符号化された前記データは前に符号化されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、ニューラルネットワークと、
前記シンタックス要素の前記予測の関連性に基づいて前記シンタックス要素のビンを決定するための手段と
を含む、ビデオを符号化するための機器。
【請求項４】
ビデオのピクチャ内の現在のブロックに関連するシンタックス要素のビンにアクセスするための手段と、
前記シンタックス要素に関連する前記シンタックス要素の前記ビンのコンテキストを決定するための手段と、
前記決定したコンテキストに基づいて前記シンタックス要素の前記ビンをエントロピ符号化するための手段と
を含む、ビデオを符号化するための機器であって、
前記シンタックス要素の前記ビンのコンテキストを決定するための前記手段は、前記シンタックス要素の前に符号化されたデータに応じて前記コンテキストに関連する確率を決定するためのニューラルネットワークを含み、前記シンタックス要素の前に符号化された前記データは前に符号化されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、
ビデオを符号化するための機器。
【請求項５】
符号化ビデオのピクチャ内の現在のブロックに関連するシンタックス要素の符号化済みのビンにアクセスすること（１４１０）、
前記シンタックス要素に関連する前記シンタックス要素の前記ビンのコンテキストを決定すること（１４３０、１４５０）、及び
前記決定したコンテキストに基づいて前記シンタックス要素の前記符号化済みのビンをエントロピ復号すること（１４４０）を含む、
ビデオを復号する方法であって、
前記エントロピ復号することは、
前記シンタックス要素の前に復号されたデータに対してニューラルネットワークを適用することによって前記シンタックス要素の予測を前記シンタックス要素について決定することであって、前記シンタックス要素の前に復号された前記データは前に復号されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、決定すること、
前記シンタックス要素の前記決定済みの予測及び前記シンタックス要素の前記復号済みのビンに基づいて前記シンタックス要素を決定することを含む、
ビデオを復号する方法。
【請求項６】
符号化ビデオのピクチャ内の現在のブロックに関連するシンタックス要素の符号化済みのビンにアクセスすること（１４１０）、
前記シンタックス要素に関連する前記シンタックス要素の前記ビンのコンテキストを決定すること（１４３０、１４５０）、及び
前記決定したコンテキストに基づいて前記シンタックス要素の前記符号化済みのビンをエントロピ復号すること（１４４０）を含む、
ビデオを復号する方法であって、
前記シンタックス要素の前記ビンのコンテキストを前記決定すること（１４３０、１４５０）は、前記シンタックス要素の前に復号されたデータに対してニューラルネットワークを適用することによって前記コンテキストに関連する確率を決定することを含み、前記シンタックス要素の前に復号された前記データは前に復号されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、
ビデオを復号する方法。
【請求項７】
符号化ビデオのピクチャ内の現在のブロックに関連するシンタックス要素の符号化済みのビンにアクセスするための手段と、
前記シンタックス要素に関連する前記シンタックス要素の前記ビンのコンテキストを決定するための手段と、
前記決定したコンテキストに基づいてシンタックス要素の前記符号化済みのビンをエントロピ復号するための手段と
を含む、ビデオを復号するための機器であって、
前記エントロピ復号手段は、
前記シンタックス要素の前に復号されたデータに応じて前記シンタックス要素の予測を前記シンタックス要素について決定するためのニューラルネットワークであって、前記シンタックス要素の前に復号された前記データは前に復号されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、ニューラルネットワークと、
前記シンタックス要素の前記決定済みの予測及び前記シンタックス要素の前記復号済みのビンに応じて前記シンタックス要素を決定するための手段と
を含む、ビデオを復号するための機器。
【請求項８】
符号化ビデオのピクチャ内の現在のブロックに関連するシンタックス要素の符号化済みのビンにアクセスするための手段と、
前記シンタックス要素に関連する前記シンタックス要素の前記ビンのコンテキストを決定するための手段と、
前記決定したコンテキストに基づいてシンタックス要素の前記符号化済みのビンをエントロピ復号するための手段と
を含む、ビデオを復号するための機器であって、
前記シンタックス要素の前記ビンのコンテキストを決定するための前記手段は、前記シンタックス要素の前に復号されたデータに対してニューラルネットワークを適用することによって前記コンテキストに関連する確率を決定するニューラルネットワークを含み、前記シンタックス要素の前に復号された前記データは前に復号されたブロックに対する又は前記現在のブロックに対する空間的及び時間的な情報を含む、
ビデオを復号するための機器。
【請求項９】
前記シンタックス要素がフラグであり、前記関連性が前記予測と前記フラグとの間のＸＯＲ値である、請求項１若しくは５に記載の方法又は請求項３若しくは７に記載の機器。
【請求項１０】
前記シンタックス要素が前記シンタックス要素のための１組の複数の値の中のインデックスによって識別され、前記関連性が前記１組の複数の値に関する確率を有する順序付きベクトルである、請求項１若しくは５に記載の方法又は請求項３若しくは７に記載の機器。
【請求項１１】
前記シンタックス要素の前に符号化された又は復号された前記データが、
−前記現在のブロックの近隣における前に符号化された又は復号された同じ種類のシンタックス要素の値、
−前記現在のブロックのＬ字型内の再構築済みのサンプル、
−前記現在のブロックの予測サンプル、
−前記現在のブロックの再構築済みの残差、
−前記現在のブロックがインタでコード化される場合、前記現在のブロックの参照ブロックの前記Ｌ字型内のサンプル、
−前記現在のブロックがインタでコード化される場合、前記現在のブロックの動きフィールド、
−前記動きフィールドを用いた動き補償によって生成される前記現在のブロックの前記予測サンプル、
−量子化パラメータ、
−前記現在のブロックのサイズ
のうちの少なくとも１つを含む、請求項１、５、及び９、１０の何れか一項に記載の方法又は請求項３、７、及び９、１０の何れか一項に記載の機器。
【請求項１２】
前記シンタックス要素の前に符号化された又は復号された前記データが、
−Ｓの前にコード化された又は復号された同じ種類のシンタックス要素の値、
−Ｔの前にコード化された又は復号された同じ種類のビン値の値、
−Ｋの同じ種類のシンタックス要素の前の確率の値、
−前記現在のブロックの近隣における前にコード化された同じ種類のシンタックス要素の値、
−前記現在のブロックのＬ字型内の再構築済みのサンプル、
−前記現在のブロックの予測サンプル、
−前記現在のブロックの再構築済みの残差、
−前記現在のブロックがインタでコード化される場合、前記現在のブロックの参照ブロックの前記Ｌ字型内のサンプル、
−前記現在のブロックがインタでコード化される場合、前記現在のブロックの動きフィールド、
−前記動きフィールドを用いた動き補償によって生成される前記現在のブロックの前記予測サンプル
のうちの少なくとも１つを含む、請求項２若しくは６に記載の方法又は請求項４若しくは８に記載の機器。
【請求項１３】
前記ニューラルネットワークが再帰型ニューラルネットワークであり、長・短期記憶ＬＳＴＭユニットを含む、請求項２、６、若しくは１２の何れか一項に記載の方法又は請求項４、８、若しくは１２の何れか一項に記載の機器。
【請求項１４】
前記ニューラルネットワークがインクリメント又はデクリメントを推定し、前記インクリメント又はデクリメントに基づいて前記確率を更新する、請求項２、６、若しくは１２の何れか一項に記載の方法又は請求項４、８、若しくは１２の何れか一項に記載の機器。
【請求項１５】
前記ニューラルネットワークが、前記シンタックス要素の前記ビンの前記コンテキストを更に決定する、請求項２、６、若しくは１２の何れか一項に記載の方法又は請求項４、８、若しくは１２の何れか一項に記載の機器。
【請求項１６】
複数のニューラルネットワークが使用され、ニューラルネットワークがシンタックス要素の種類について訓練される、請求項１、２、５、若しくは６の何れか一項に記載の方法又は請求項３、４、７、若しくは８の何れか一項に記載の機器。
【請求項１７】
前記エントロピ符号化又は復号が、コンテキスト適応型バイナリ算術コード化ＣＡＢＡＣ又は復号である、請求項１、２、５、若しくは６の何れか一項に記載の方法又は請求項３、４、７、若しくは８の何れか一項に記載の機器。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
[0001]  本実施形態は一般にビデオの符号化及び復号、とりわけＣＡＢＡＣのためのニューラルネットワークの少なくとも１つの実装に基づくエントロピ符号化及び復号に関する。
【背景技術】
【０００２】
背景
[0002]  本明細書に記載する如何なる背景情報も、以下に記載する本明細書の実施形態に関係し得る当技術分野の様々な側面を読者に紹介することを意図する。この解説は、本開示の様々な態様の更なる理解に役立つ背景情報を読者に与えるのに有用だと考えられる。従って、これらの記述はかかる観点から読まれるべきであることを理解すべきである。
【０００３】
[0003]  高い圧縮効率を実現するために、画像及びビデオのコード化方式は通常、予測及び変換を使用してビデオコンテンツ内の空間的及び時間的な冗長性を活用する。概して、フレーム内の又はフレーム間の相関を利用するためにイントラ予測又はインタ予測が使用され、その後、予測誤差又は予測残差として示されることが多い元の画像と予測画像との差が変換され、量子化され、エントロピコード化される。ビデオを再構築するために、その予測、変換、量子化、及びエントロピコード化に対応する逆のプロセスによって圧縮データが復号される。
【０００４】
[0004]  高効率ビデオコーディング（ＨＥＶＣ）標準（“ITU-T H.265 Telecommunication standardization sector of ITU (10/2014), series H: audiovisual and multimedia systems, infrastructure of audiovisual services - coding of moving video, High efficiency video coding, Recommendation ITU-T H.265”）では、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）がエントロピコード化に使用される。データのコード化は、符号化されるデータに対して様々な長さのシンボルを関連付けることで構成される。効率的なエントロピコード化を得るために、多く見られるシンボルはあまり見られないシンボルに比べて少ないビットを用いて表される。
【０００５】
[0005]  本発明は、ＨＥＶＣにおいて又は数値データのエントロピコード化を伴う他の任意の応用において実装されるＣＡＢＡＣを改善するための幾つかの方式を提案する。
【発明の概要】
【０００６】
概要
[0006]  本開示の一態様によれば、ビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスすること、シンタックス要素のビンのコンテキストを決定すること、及び決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化することを含む、ビデオを符号化する方法が提供される。第１の実施形態によれば、シンタックス要素のビンにアクセスすることは、シンタックス要素の前に符号化されたデータに対してニューラルネットワークモデルを適用することによってシンタックス要素の予測をシンタックス要素について決定すること、及びシンタックス要素の予測の関連性に基づいてシンタックス要素のビンを決定することを含む。第２の実施形態によれば、シンタックス要素のビンのコンテキストを決定することは、ニューラルネットワークモデル及びシンタックス要素の前に符号化されたデータを使用してコンテキストに関連する確率を決定することを含む。特定の特性によれば、前述のシンタックス要素の前に符号化されたデータは、前に符号化されたブロックに対する又は現在のブロックに対する空間的及び時間的な情報を含む。
【０００７】
[0007]  本開示の一態様によれば、ビデオを符号化するための機器が提供され、その機器は、ビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスするための手段と、シンタックス要素のビンのコンテキストを決定するための手段と、決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化するための手段とを含む。第１の実施形態によれば、シンタックス要素のビンにアクセスするための手段は、シンタックス要素の前に符号化されたデータを使用してシンタックス要素の予測をシンタックス要素について決定し、シンタックス要素の予測の関連性に基づいてシンタックス要素のビンを決定するためのニューラルネットワークを含む。第２の実施形態によれば、シンタックス要素のビンのコンテキストを決定するための手段は、シンタックス要素の前に符号化されたデータを使用してコンテキストに関連する確率を決定するためのニューラルネットワークを含む。
【０００８】
[0008]  本開示の一態様によれば、ビデオを符号化するための機器が提供され、その機器はプロセッサ及びプロセッサに結合される少なくとも１つのメモリを含み、プロセッサはビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスし、シンタックス要素のビンのコンテキストを決定し、決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化するように構成される。第１の実施形態によれば、プロセッサは、シンタックス要素の前に符号化されたデータを使用してシンタックス要素の予測をシンタックス要素について決定し、シンタックス要素の予測の関連性に基づいてシンタックス要素のビンを決定するためのニューラルネットワークとして構成される。第２の実施形態によれば、プロセッサは、シンタックス要素の前に符号化されたデータを使用してコンテキストに関連する確率を決定するためのニューラルネットワークとして構成される。
【０００９】
[0009]  本開示の一態様によれば、ピクチャのブロックを表す符号化データを含むようにビットストリームがフォーマットされ、符号化データはビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスし、シンタックス要素のビンのコンテキストを決定し、決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化することによって符号化される。第１の実施形態によれば、シンタックス要素のビンにアクセスすることは、シンタックス要素の前に符号化されたデータに対してニューラルネットワークモデルを適用することによってシンタックス要素の予測をシンタックス要素について決定すること、及びシンタックス要素の予測の関連性に基づいてシンタックス要素のビンを決定することを含む。第２の実施形態によれば、或るシンタックス要素のうちのこのシンタックス要素のビンのコンテキストを決定することは、ニューラルネットワークモデル及びシンタックス要素の前に符号化されたデータを使用してコンテキストに関連する確率を決定することを含む。
【００１０】
[0010]  本開示の一態様によれば、ピクチャのブロックを表す符号化データを含むようにフォーマットされたビットストリームを信号が含み、符号化データはビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスし、シンタックス要素のビンのコンテキストを決定し、決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化することによって符号化される。第１の実施形態によれば、シンタックス要素のビンにアクセスすることは、シンタックス要素の前に符号化されたデータに対してニューラルネットワークモデルを適用することによってシンタックス要素の予測をシンタックス要素について決定すること、及びシンタックス要素の予測の関連性に基づいてシンタックス要素のビンを決定することを含む。第２の実施形態によれば、或るシンタックス要素のうちのこのシンタックス要素のビンのコンテキストを決定することは、ニューラルネットワークモデル及びシンタックス要素の前に符号化されたデータを使用してコンテキストに関連する確率を決定することを含む。
【００１１】
[0011]  本開示の一態様によれば、符号化ビデオのピクチャ内のブロックに関連するシンタックス要素の符号化済みのビンにアクセスすること、シンタックス要素のビンのコンテキストを決定すること、及び決定したコンテキストに基づいてシンタックス要素の符号化済みのビンをエントロピ復号することを含む、ビデオを復号する方法が提供される。第１の実施形態によれば、シンタックス要素のビンをエントロピ復号することは、シンタックス要素の前に復号されたデータに対してニューラルネットワークモデルを適用することによってシンタックス要素の予測をシンタックス要素について決定すること、並びにシンタックス要素の予測及びシンタックス要素の復号済みのビンに応じてシンタックス要素を決定することを含む。第２の実施形態によれば、シンタックス要素のビンのコンテキストを決定することは、ニューラルネットワークモデル及びシンタックス要素の前に復号されたデータを使用してコンテキストに関連する確率を決定することを含む。
【００１２】
[0012]  本開示の一態様によれば、ビデオを復号するための機器が提供され、その機器は、符号化ビデオのピクチャ内のブロックに関連するシンタックス要素の符号化済みのビンにアクセスするための手段と、シンタックス要素のビンのコンテキストを決定するための手段と、決定したコンテキストに基づいてシンタックス要素の符号化済みのビンをエントロピ復号するための手段とを含む。第１の実施形態によれば、シンタックス要素のビンをエントロピ復号するための手段は、シンタックス要素の前に復号されたデータを使用してシンタックス要素の予測をシンタックス要素について決定し、シンタックス要素の予測及びシンタックス要素の復号済みのビンに応じてシンタックス要素を決定するためのニューラルネットワークを含む。第２の実施形態によれば、或るシンタックス要素のうちのこのシンタックス要素のビンのコンテキストを決定するための手段は、シンタックス要素の前に復号されたデータを使用してコンテキストに関連する確率を決定するためのニューラルネットワークを含む。
【００１３】
[0013]  本開示の一態様によれば、ビデオを復号するための機器が提供され、その機器はプロセッサ及びプロセッサに結合される少なくとも１つのメモリを含み、プロセッサはシンタックス要素に関連するシンタックス要素の符号化済みのビンにアクセスし、決定したコンテキストに基づいてシンタックス要素の符号化済みのビンをエントロピ復号するように構成される。第１の実施形態によれば、プロセッサは、シンタックス要素の前に復号されたデータを使用してシンタックス要素の予測をシンタックス要素について決定し、シンタックス要素の予測及びシンタックス要素の復号済みのビンに応じてシンタックス要素を決定するためのニューラルネットワークを実装するように構成される。第２の実施形態によれば、プロセッサは、シンタックス要素の前に復号されたデータを使用してコンテキストに関連する確率を決定するためのニューラルネットワークを実装するように構成される。
【００１４】
[0014]  本開示の一態様によれば、第１の実施形態又は第２の実施形態の何れかに従い、ビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスし、シンタックス要素のビンのコンテキストを決定し、決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化するためのプログラムコード命令を含むコンピュータ可読プログラム製品が提供される。
【００１５】
[0015]  本開示の一態様によれば、第１の実施形態又は第２の実施形態の何れかに従い、符号化ビデオのピクチャ内のブロックに関連するシンタックス要素の符号化済みのビンにアクセスし、シンタックス要素のビンのコンテキストを決定し、決定したコンテキストに基づいてシンタックス要素の符号化済みのビンをエントロピ復号するためのプログラムコード命令を含むコンピュータ可読プログラム製品が提供される。
【００１６】
[0016]  本開示の一態様によれば、第１の実施形態又は第２の実施形態の何れかに従い、ビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスし、シンタックス要素のビンのコンテキストを決定し、決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化するためのプログラムコード命令を含む、ソフトウェアプログラムを保持するコンピュータ可読記憶媒体が提供される。
【００１７】
[0017]  本開示の一態様によれば、第１の実施形態又は第２の実施形態の何れかに従い、シンタックス要素に関連するシンタックス要素の符号化済みのビンにアクセスし、決定したコンテキストに基づいてシンタックス要素の符号化済みのビンをエントロピ復号するためのプログラムコード命令を含む、ソフトウェアプログラムを保持するコンピュータ可読記憶媒体が提供される。
【００１８】
[0018]  上記では、本内容の実施形態の一部の側面の基本的な理解を与えるために本内容の単純化した要約を示した。この要約は本内容の網羅的な概要ではない。この要約は実施形態の主要な／重大な要素を明らかにすることも、本内容の範囲を詳細に概説することも意図しない。この要約の唯一の目的は、後で示すより詳細な説明への導入部として本内容の一部の概念を単純化した形で提示することである。
【００１９】
[0019]  添付図面を参照して進める例示的実施形態についての以下の詳細な説明から本開示の更なる特徴及び利点を明らかにする。
【００２０】
図面の簡単な説明
[0020]  本開示は、以下で簡単に説明する下記の例示的な図面に従ってより良く理解することができる。
【図面の簡単な説明】
【００２１】
【図１】[0020]本開示の実施形態の何れか１つによる例示的なビデオエンコーダの単純化したブロック図を示す。
【図２】[0020]従来技術によるコンテキストベースのエントロピコード化の例示的方法の流れ図を示す。
【図３】[0020]従来技術によるシンタックス要素の非限定的な特定例に関する例示的なコンテキストモデリングを示す。
【図４】[0020]従来技術による例示的なＣＡＢＡＣエンコーダの単純化したブロック図を示す。
【図５】[0020]本開示の第１の実施形態による例示的なＣＡＢＡＣエンコーダの単純化したブロック図を示す。
【図６】[0020]本開示の第１の実施形態によるコンテキストベースのエントロピコード化の例示的方法の流れ図を示す。
【図７】[0020]本開示の実施形態の何れか１つによる、ＮＮへのあり得るデータ入力を示す。
【図８】[0020]本開示の実施形態の何れか１つに関する、多成分入力を有するＮＮを示す。
【図９】[0020]本開示の第２の実施形態による例示的なＣＡＢＡＣエンコーダの単純化したブロック図を示す。
【図１０】[0020]本開示の第２の実施形態によるコンテキストベースのエントロピコード化の例示的方法の流れ図を示す。
【図１１】[0020]本開示の第２の実施形態による、ＣＡＢＡＣエンコーダ内の１つのビンを伴うＮＮの例示的訓練の単純化したブロック図を示す。
【図１２】[0020]本開示の第２の実施形態による、ＣＡＢＡＣエンコーダ内の１つのビンを伴うＮＮの例示的訓練の単純化したブロック図を示す。
【図１３】[0020]本開示の実施形態の何れか１つによる例示的なビデオデコーダの単純化したブロック図を示す。
【図１４】[0020]本開示の第１の実施形態又は第２の実施形態による、コンテキストベースのエントロピ復号の例示的方法の流れ図を示す。
【図１５】[0020]本開示の態様を実装し、実行することができる計算環境のブロック図を示す。
【発明を実施するための形態】
【００２２】
実施形態の詳細な解説
[0021]  図示の要素は様々な形態のハードウェア、ソフトウェア、又はその組み合わせによって実装できることを理解すべきである。好ましくはこれらの要素は、プロセッサ、メモリ、及び入出力インタフェースを含み得る１つ又は複数の適切にプログラムされた汎用装置上でハードウェアとソフトウェアとの組み合わせによって実装される。本明細書では「結合」という語句は直接接続されること、又は１つ若しくは複数の中間コンポーネントを介して間接的に接続されることを意味するものと定義する。かかる中間コンポーネントは、ハードウェアによるコンポーネント及びソフトウェアによるコンポーネントの両方を含み得る。
【００２３】
[0022]  この説明は本開示の原理を示す。従って本明細書で明示的に説明され又は図示されていなくても、本開示の原理を実施し本開示の範囲に含まれる様々な構成を当業者なら考案できることが理解されよう。
【００２４】
[0023]  本明細書で挙げる全ての例及び条件付き言語は、当技術分野を促進するために発明者がもたらす本開示の原理及び概念を読者が理解するのを助けるための教示を目的とするものであり、具体的に挙げるかかる例及び条件に限定されないものと解釈されるべきである。
【００２５】
[0024]  更に、本開示の原理、態様、及び実施形態、並びにその具体例を挙げる本明細書の全ての表現は、その構造上の等価物及び機能上の等価物の両方を包含することを意図する。加えて、かかる等価物は現在知られている等価物並びに将来開発される等価物、即ち構造に関係なく同じ機能を実行する開発される任意の要素の両方を含むことを意図する。
【００２６】
[0025]  従って、例えば本明細書に示すブロック図は本開示の原理を具体化する例示的回路の概念図を表すことを当業者なら理解されよう。同様に、任意の流れ図、工程図、状態遷移図、疑似コード等は、コンピュータ可読媒体内で実質的に表すことができ、そのためコンピュータ又はプロセッサによって、かかるコンピュータ又はプロセッサが明示的に示されていようがいまいが実行される様々なプロセスを表すことが理解されよう。
【００２７】
[0026]  図示の様々な要素の機能は、専用ハードウェア並びに適切なソフトウェアに関連してソフトウェアを実行可能なハードウェアを使用することによって与えられ得る。プロセッサによって与えられるとき、それらの機能は単一の専用プロセッサによって、単一の共用プロセッサによって、又はその一部が共用され得る複数の個別のプロセッサによって与えられ得る。更に、「プロセッサ」又は「コントローラ」という用語を明示的に使用することはソフトウェアを実行可能なハードウェアに排他的に言及するものだと解釈すべきではなく、デジタル信号プロセッサ（ＤＳＰ）ハードウェア、ソフトウェアを記憶するための読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、及び不揮発性記憶域を制限なしに暗に含み得る。
【００２８】
[0027]  他の従来の及び／又は特注のハードウェアも含まれ得る。同様に、図示の何れのスイッチも概念上のものに過ぎない。それらの機能はプログラムロジックの動作によって、専用ロジックによって、プログラム制御及び専用ロジックの相互作用によって、更には手動で実行することができ、文脈からより明確に理解されるように特定の技法が実装者によって選択可能である。
【００２９】
[0028]  本明細書の特許請求の範囲では、指定の機能を実行するための手段として表す如何なる要素も、例えばａ）その機能を行う回路素子の組み合わせ、又はｂ）その機能を行うためのソフトウェアを実行するための適切な回路と組み合わせられる任意の形式の、従ってファームウェア、マイクロコード等を含むソフトウェアを含む、その機能を実行する任意のやり方を包含することを意図する。かかる特許請求の範囲によって定める本開示は、列挙する様々な手段によって与えられる機能が、特許請求の範囲が必要とするやり方で組み合わせられ、まとめられるという事実にある。従って、それらの機能を提供可能な如何なる手段も本明細書に示す手段と等価だと見なす。
【００３０】
[0029]  典型的な符号化及び／又は復号装置に見られる他の多くの要素を明瞭にするために排除する一方、本開示を明確に理解することに関連する要素を例示するために図面及び説明を単純化していることを理解すべきである。
【００３１】
[0030]  本明細書では様々な要素を説明するために第１の及び第２のという用語を使用する場合があるが、それらの要素はそれらの用語によって限定されるべきではないことが理解されよう。これらの用語は或る要素を別の要素と区別するために使用するに過ぎない。上記では様々な方法を記載し、それらの方法のそれぞれは記載した方法を実現するための１つ又は複数のステップ又はアクションを含む。方法が適切に動作するためにステップ又はアクションの特定の順序が必要でない限り、特定のステップ及び／又はアクションの順序及び／又は使用を修正し若しくは組み合わせることができる。
【００３２】
[0031]  ピクチャとは、モノクロ形式のルマサンプルのアレイ、又はルマサンプルのアレイと４：２：０、４：２：２、及び４：４：４カラー形式のクロマサンプルの対応する２つのアレイとであることを理解すべきである。ＨＥＶＣで「ブロック」はサンプルアレイ内の特定の領域（例えばルマＹ）を扱い、「単位」は全ての符号化済みの色成分（ルマＹ、並びにことによるとクロマＣｂ及びクロマＣｒ）、シンタックス要素、及びブロックに関連する予測データ（例えば動きベクトル）のコロケーテッドブロックを含む。但し「ブロック」という用語は本明細書ではブロック（例えばコード化ブロック（ＣＢ）、変換ブロック（ＴＢ）、コード化グループ（ＣＧ）等）又は単位（例えばＣＵ）を指すためにより広く使用する。
【００３３】
[0032]  ピクチャ又はピクセル若しくは変換係数のブロックは、２次元のアレイ又は行列であることを理解すべきである。水平方向即ちｘ方向（又は軸）は幅を表し、垂直方向即ちｙ方向（又は軸）は高さを表す。インデックスは０から始まる。ｘ方向は列を表し、ｙ方向は行を表す。最大のｘインデックスは幅−１である。最大のｙインデックスは高さ−１である。
【００３４】
[0033]  以下の節では「再構築する」という語と「復号する」という語を区別なく使用する場合がある。必ずではないが通常、「再構築する」はエンコーダ側で使用されるのに対し「復号する」はデコーダ側で使用される。また「コード化する」という語と「符号化する」という語を区別なく使用する場合がある。更に「画像」、「ピクチャ」、及び「フレーム」という語を区別なく使用する場合がある。更に「コード化」、「ソースコード化」、及び「圧縮」という語を区別なく使用する場合がある。
【００３５】
[0034]  本開示は、ニューラルネットワークを使用することによってシンタックス要素のエントロピコード化及び復号の効率を改善する、ビデオ又は画像を符号化及び復号するための技法（ソースコード化及び復号としても知られている）を対象とする。具体的には、ＣＡＢＡＣはシンボル（又はシンタックス要素）を符号化し、任意のシンボルのより頻繁に使用されるビットに関する確率モデリングを維持する。確率モデルは局所コンテキストに基づいて適応的に選択することができ、コード化モードは通常局所的によく相関しているので、より優れた確率のモデリングを可能にする。従ってＣＡＢＡＣの性能は、シンボルの頻度及び局所コンテキストに基づくシンボルに関する確率のモデリングという２つの特徴に依存する。エントロピコード化の効率を高めるＣＡＢＡＣのニューラルネットワーク実装の２つの代替的実施形態を記載する。第１の実施形態では、コード化するためのシンボルの分布をニューラルネットワークが改善する。第２の実施形態では、コード化するための分布のモデリングがニューラルネットワークによって改善される。ビデオを符号化及び復号することに関して説明するが、本原理はエントロピコード化及び／又は復号を使用して静止画像を符号化及び／又は復号することに適合する。
【００３６】
符号化
[0035]  図１は、本開示の一実施形態による例示的なビデオエンコーダ１００の単純化したブロック図を示す。エンコーダ１００は、通信システム内の送信機又はヘッドエンドの中に含まれ得る。１つ又は複数のピクチャを有するビデオシーケンスを符号化するために、ピクチャを構成可能なサイズを有する正方形のＣＴＵに区分化することができる。１組の連続したＣＴＵをスライスにまとめることができる。ＣＴＵは、ＣＵへのＱＴＢＴ区分化の根である。この例示的なエンコーダ１００では、以下で説明するようにピクチャがエンコーダモジュールによって符号化される。各ブロックは、イントラモード又はインタモードを使用して符号化される。ブロックがイントラモードで符号化される場合、エンコーダ１００はイントラ予測を行う（モジュール１６０）。インタモードでは、動き推定（モジュール１７５）及び動き補償（モジュール１７０）が行われる。エンコーダは、ブロックを符号化するためにイントラモード又はインタモードのどちらを使用するのかを決定し（モジュール１０５）、イントラ／インタの決定を予測モードフラグによって示す。元の画像ブロックから予測済みのサンプルブロック（予測因子としても知られている）を減算すること（モジュール１１０）によって残差が計算される。
【００３７】
[0036]  一例として、イントラモードでのブロックは再構築済みの隣接サンプルから予測される。インタ予測は、動き推定を行い（モジュール１７５）、参照ピクチャバッファ１８０内に記憶される参照ブロックを（モジュール１７０内で）動き補償することによって行われる。動き推定モジュール１７５の目的は、典型的にはレート−歪みコスト（ＲＤコスト）が十分低いとき又は最小限に達したとき終了する反復探索を使用し得る最も優れた動きベクトルを決定することなので、動き推定モジュール１７５は動き補償を含み得る。
【００３８】
[0037]  残差を変換し（モジュール１２５）、量子化する（モジュール１３０）。変換モジュール１２５は、ピクセル又は時間領域から変換又は周波数領域に画像を変換することができる。変換は、例えば余弦変換、正弦変換、ウェーブレット変換等とすることができる。量子化は、例えばレート歪み基準に従って行うことができる。量子化済みの変換係数、並びに動きベクトル及び他のシンタックス要素をエントロピコード化して（モジュール１４５）ビットストリームを出力する。エントロピコード化は、例えばコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、ハフマン、算術、指数ゴロム等であり得る。エンコーダは変換を飛ばして、非変換残差信号に量子化を直接適用することもできる。エンコーダは変換及び量子化の両方をバイパスする、即ち変換プロセス又は量子化プロセスを適用することなしに残差を直接コード化することもできる。直接のＰＣＭコード化では予測を適用せず、ビットストリーム内にブロックサンプルが直接コード化される。
【００３９】
[0038]  エンコーダは復号ループを含み、従って符号化ブロックを復号して更なる予測のための参照を提供する。量子化済みの変換係数を逆量子化し（モジュール１４０）、逆変換して（モジュール１５０）残差を復号する。復号した残差と予測したサンプルブロックとを組み合わせること（モジュール１５５）によって画像ブロックを再構築する。例えばデブロッキング／サンプル適応オフセット（ＳＡＯ）フィルタリングを実行してコード化アーティファクトを減らすために、再構築したピクチャにインループフィルタ（１６５）を適用することができる。フィルタ済みの画像を参照ピクチャバッファ１８０内に記憶する。
【００４０】
[0039]  ビデオエンコーダ１００のモジュールはソフトウェアによって実装され、プロセッサによって実行されてもよく、又は圧縮の当業者によってよく知られている回路によって実装することができる。具体的には、ビデオエンコーダ１００は集積回路（ＩＣ）として実装することができる。
【００４１】
[0040]  本開示に記載する差異、とりわけ以下の段落及び図面の中でより詳細に説明するエントロピコード化モジュール１４５の差異を除き、ビデオエンコーダ１００のモジュールは他のビデオエンコーダ（例えばＨＥＶＣエンコーダ）内にもあり得る。エントロピ符号化以外の機能（例えば１４５以外のモジュール）に関してはビデオエンコーダ１００はＨＥＶＣビデオデコーダと同様とすることができ、本明細書ではその機能を詳細には説明しない。
【００４２】
エントロピ符号化
[0041]  ＨＥＶＣ標準及びＡＶＣ標準では、ＣＡＢＡＣを使用してシンタックス要素をエントロピコード化及び復号することができる。
【００４３】
[0042]  ＣＡＢＡＣは算術コード化に基づき、ＨＥＶＣ標準及びＡＶＣ標準によって採用されている。ＣＡＢＡＣは異なるコンテキストに対して複数の確率モデルを使用することができる。ＣＡＢＡＣは全ての非２値シンボルを２値にまず変換する。具体的には、シンタックス要素を２値化する（即ちそれぞれが「０」又は「１」に等しいビンと呼ばれる一連の２値シンボルとして表す）。次いでビンごとに、エンコーダはどの確率モデルを使用するのかを選択し（ビンが「０」又は「１」である確率を明らかにする）、近隣の要素（又はコンテキスト）からの情報を利用して確率推定を最適化することができる。
【００４４】
[0043]  図２は、従来技術によるコンテキストベースのエントロピコード化（例えばＣＡＢＡＣ）の例示的方法の流れ図２００を示す。ステップ２１０で、まだ２進値（バイナリフラグ等）ではない場合、シンタックス要素（ＳＥ）２０１をまず２値化する。次いでループ２２０内で、ビンに対して以下を行う：
ａ．ステップ２３０で、コード化するためのシンタックス要素又はビンのコンテキスト情報に基づいてコンテキストＣＴＸを選択する。コンテキストＣＴＸは、ビンが「１」又は「０」であるコンテキスト確率を記憶するコンテキストモデルに関連する。コンテキスト確率は、コンテキスト値ＣＴＸを既知としてビンが「ｂ」の値を取る推定条件付き確率、即ちＰ（ｂ／ＣＴＸ）に対応する。選択は、符号化するための現在のシンボル（シンタックス要素）の近隣にある既にコード化されたシンボル（シンタックス要素）、ＣＵのサイズ若しくは形状、又はスライスの種類等のコンテキスト情報に基づく。
ｂ．ステップ２４０で、コンテキスト確率Ｐ（ｂ／ＣＴＸ）に従ってエントロピエンコーダ（例えば算術エンコーダ）を使用してビンを符号化する。
ｃ．ステップ２５０で、ビンがコード化されたらコンテキストモデルを更新し、即ちコンテキスト確率Ｐ（０／ＣＴＸ）及びＰ（１／ＣＴＸ）を更新する。例えば更新は、ビン値（「０」又は「１」）の発生回数のカウントの更新であり得る。
ｄ．ステップ２２５で、符号化するための更なるビンがあるかどうかを確認する。ある場合は（例えばシンタックス要素の次のビンに移ることによって）ステップ２２０に戻り、さもなければステップ２６０でこのプロセスを終了する。
【００４５】
[0044]  一般性を失うことなく、ステップ２４０及び２５０は順序を変えること又は並列に実行することができる。
【００４６】
[0045]  一例として、正の整数値に対応し、幾つかのコンテキストモデルがシンタックス要素に関連する、シンタックス要素ＳＥを検討されたい。例えば図３に示すように、正の整数値は予測を伴う動きベクトル差（ＭＶＤ）に対応する。３つのコンテキストモデルのうちのどのモデルを使用するのかを選ぶためにｅ＝｜ＭＶＤＡ｜＋｜ＭＶＤＢ｜の値を使用し、ＭＶＤＡ及びＭＶＤＢは、図３に示すように現在のコード化ブロックＣの左側のブロックＡ及び上側のブロックＢのそれぞれに関するＭＶＤの前にコード化された値である。以下のステップを適用することができる：
・２値化（例えば２１０）：正の整数値を以下のように単項コード化によってビン列に変換する。
−ＳＥ＝０→ビン列＝「０」
−ＳＥ＝１→ビン列＝「１０」
−ＳＥ＝２→ビン列＝「１１０」
−．．．
・コンテキストモデリング（例えば２３０）：ビン列の異なるビンに対して以下のコンテキストモデルを規定する。
〇ビン０→前にコード化されたＳＥの値、ＳＥＰＲＥＶに応じた３つのコンテキスト０、１、２
■（０＜＝ＳＥＰＲＥＶ＜３）が成立する場合→モデル０
■（３＜＝ＳＥＰＲＥＶ＜３３）が成立する場合→モデル１
■（３３＜＝ＳＥＰＲＥＶ）が成立する場合→モデル２
〇他のビン→モデル３
【００４７】
[0046]  ＨＥＶＣのＣＡＢＡＣエンコーダ（ステップ２５０）には２つの主要モード、つまり通常コード化及びバイパスコード化がある。バイパスコード化モードは符号情報に関係するビンについて又はより有意でないビンについて選択することができ、それらのビンは一様に分布していると想定され、それらのビンでは結果として通常のバイナリ算術符号化プロセスがバイパスされる。通常コード化モードでは、通常の算術符号化プロセスを使用することによってビン値が符号化され、関連する確率モデルは如何なるコンテキストモデリングもなしに固定選択によって決定され、又は関係するコンテキストモデルに応じて適応的に選択される。
【００４８】
[0047]  コンテキストベースのコード化では、データの分布を歪める（skew）ために条件付き確率モデルが使用される。データを圧縮するために算術コード化が最終的に適用される。ビットごとにコンテキスト、従って確率モデルを適切に選択することは圧縮効率の向上を可能にする。コンテキストモデルはインデックス付けし、コンテキストインデックスによって識別することができる。ＣＡＢＡＣ並びに他のコンテキストベースのエンコーダ及びデコーダは圧縮の当業者によってよく知られており、本明細書では詳細には説明しない。
【００４９】
[0048]  図４は、従来技術によるＣＡＢＡＣエンコーダを示す。２値化のステップ２１０は、例えば２値化モジュール４１０によって実行され得る。コンテキストモデリングのステップ２３０は、例えば局所コンテキスト４２０から及び実際のコード化ビン値に基づく更新からコンテキストモデラモジュール４３０によって実行され得る。かかるデータはメモリ内に記憶されている可能性がある。通常コード化及びバイパスコード化のステップ２５０は、例えば通常コード化エンジン４４０及びバイパスコード化エンジン４５０によって実行され得る。本開示は、全般的なコンテキストベースのエントロピエンコーダ（例えばＣＡＢＡＣエンコーダ）に適用され、ニューラルネットワークモデルを使用して要素の予測又は要素（例えばシンタックス要素又はシンタックス要素のビン）のエントロピ圧縮に使用されるコンテキストモデルの予測を決定することに関し、より高い圧縮効率をもたらし得る。具体的には本開示は、シンタックス要素の前に符号化されたデータに対してニューラルネットワークモデルを適用することによってシンタックス要素の予測をシンタックス要素について決定すること、及びシンタックス要素自体ではなくシンタックス要素の予測の関連性（例えば差異）をコード化することを対象とする。以下の段落及び図面の中でより詳細に説明するように、本開示はシンタックス要素の前に符号化されたデータに対してニューラルネットワークモデルを適用することによってシンタックス要素のコンテキストモデル及びコンテキストモデルに関連する確率を決定することを更に対象とする。
【００５０】
コード化するための要素の分布の改善
[0049]  本開示の一実施形態によれば、ビデオエンコーダ１００は概してシンタックス要素の予測の符号化（及び対応する復号）におけるニューラルネットワークの実装と共に、エントロピコーダ５００を含み又は上記のエントロピ符号化の方法６００を用いる。以下の段落及び図面の中で修正形態についてより詳細に説明する。
【００５１】
[0050]  図５は、本原理の第１の実施形態によるＣＡＢＡＣエンコーダを示す。入力データ５２０から、ニューラルネットワーク（ＮＮ）５３０を用いて符号化するためのシンタックス要素を予測する。シンタックス要素自体ではなく、シンタックス要素に関するシンタックス要素の予測の関連性をコード化する。シンタックス要素に関しては、関連性は２進値（バイナリフラグ等）又は限られた範囲を有する整数等の非２進値であり、又はインデックスによって識別されるＮの値を取ることができる。バイナライザ４１０、コンテキストモデラ４３０、通常コード化エンジン４４０、又はバイパスコード化エンジン４５０は修正されず、コード化するための要素だけを前処理（５１０）し、シンタックス要素ではなく予測の関連性を使用する。
【００５２】
[0051]  第１の改変形態によれば、予測の関連性はシンタックス要素とシンタックス要素の予測との間のＸＯＲによって得られる。この改変形態は、シンタックス要素がフラグである場合にうまく適合する。
【００５３】
[0052]  第２の改変形態によれば、予測の関連性はシンタックス要素とシンタックス要素の予測との差５４０によって得られる。この改変形態は、シンタックス要素が限られた範囲を有する整数値である場合又はシンタックス要素がインデックスによって識別されるＮ（Ｎは正の整数である）の値を取り得る場合にうまく適合する。
【００５４】
[0053]  第３の改変形態によれば、予測はシンタックス要素の複数の値に関する確率の順序付きベクトルであり、関連性は確率の順序付きベクトルにおけるインデックスである。この改変形態は、シンタックス要素が限られた範囲を有する整数値である場合、又はシンタックス要素がインデックスによって識別されるＮ（Ｎは正の整数である）の値を取り得る場合にうまく適合する。この改変形態では、関連性又はシンタックス要素自体をコード化することができる。
【００５５】
[0054]  第４の改変形態によれば、ニューラルネットワークは分類器であり、最後の層の出力はあり得る値それぞれのＮの確率を与えるベクトルである。改変形態では、最後の層がソフトマックスである。すると、関連する確率に基づいてシンタックス要素値それぞれのコード語を導出することができる。例えばコード語の長さは、例えばハフマンコード化を用いた確率の関数であり得る。
【００５６】
[0055]  ＮＮ５３０への入力データ５２０は、コード化するためのシンタックス要素に適合される。有利にはＮＮは、前に符号化されたブロック又は現在のブロックに対する空間的及び／又は時間的な情報等の複合データ（complex data）の入力を可能にする。非限定的な例によれば、シンタックス要素の前に符号化されたデータは、
ブロックの近隣（例えば図７に示す上側のブロック７１０若しくは左側のブロック７２０又はＬ字型７５０と交差するブロック７４０）における前に符号化された（又は復号された）同じ種類のシンタックス要素の値、
現在のブロックのＬ字型７５０内の再構築済みのサンプル、
現在のブロックの予測サンプル、
現在のブロックの再構築済みの残差、
インタにおける参照ブロックのＬ字型内のサンプル、
ブロックがインタでコード化される場合、ブロックの動きフィールド、
動きファイルドを用いた動き補償によって生成されるブロックの予測サンプル、
量子化パラメータＱＰ、
ブロックのサイズ及び／又は形状
のうちの少なくとも１つを含み得る。
【００５７】
[0056]  例えばエンコーダにおいて、インタモード予測の場合、現在のＣＵの近隣における、又は前に復号された動きベクトルを含む履歴ベースのバッファを使用する前に復号された動きベクトル、及び時間的コロケート動きベクトルを使用することができる。実際、動きフィールドの特性は連続的である、又は時間と共に繰り返すパターン若しくはテクスチャ（Ｌ字型内の再構築済みのサンプル）と相関し得るパターンをもたらす可能性がより高い。ニューラルネットワークはこの相関を学習することができ、そのためニューラルネットワークはこのＣＵについて現在の動き（又は或る予測因子とのＭＶ差（ＭＶＤ）、若しくは「mvd_greater_than0」、「mvd_greater_than1」、「abs_mvd」等のＭＶＤに関連する関連シンタックス要素）又は他のインタコード化されたパラメータを効率的に予測することができる。
【００５８】
[0057]  例えばエンコーダにおいて、インタモード予測の場合、ＮＮは、典型的には前に復号された変換の種類及び変換のサイズ、前に復号された残差値、並びに近隣内の及び参照ピクチャ内の再構築済みのサンプルから現在の変換パラメータ（例えば複数の変換サイズ−ＭＴＳ、二次変換−ＮＳＳＴ）をどのように予測するのかを学習することができる。
【００５９】
[0058]  別の例では、局所照明補償（ＬＩＣ：Local Illumination Compensation）パラメータ（例えばＬＩＣフラグ）を近隣内の再構築済みのサンプル、参照ピクチャ内の再構築済みのサンプル、及び前に導出されたＬＩＣパラメータ値等の入力データに基づいてＮＮによって予測することができ、その理由は照明変動が典型的にはその形状又はテクスチャによってcaraterizeされ得るシーケンス内の同じオブジェクトに結び付く可能性があるからである。
【００６０】
[0059]  別の例では、エンコーダは概してレート−歪み最適化（ＲＤＯ：rate-distorsion optimization）に基づいて双方向予測（例えばｇｂｉインデックスシンタックス要素）の場合の不均一な重みを決定することができる。この選択は２つの予測を構築するために使用される再構築済みのＣＵの相対精度と相関し得ることが分かる場合があり、ＮＮベースのアーキテクチャによって学習され得る。
【００６１】
[0060]  図６は、例示的実施形態によるコンテキストベースのエントロピコード化（例えばＣＡＢＡＣ）の例示的方法の流れ図６００を示す。図６は図４と類似点を有する。コード化するための要素が別個であることを除き、ステップ６２０、６３０、６４０、６５０、６２５、及び６６０は、ステップ４２０、４３０、４４０、４５０、４２５、及び４６０のそれぞれと同様である。以下で説明するように、ステップ６１０はステップ４１０と重要な違いを有する。ステップ６１０で、ビデオのピクチャ内の現在のブロックに関連するシンタックス要素（ＳＥ）の２進値にアクセスする。このステップ６１０は３つのサブステップ、つまりＮＮを使用してシンタックス要素を予測すること６１２、シンタックス要素に対する予測の関連性を決定すること６１４、及び必要な場合は予測の関連性を２値化すること６１６を含む。第１の実施形態によれば、コード化するための２進値はシンタックス要素の予測の関連性を表す。従ってステップ６１２で、シンタックス要素の前に符号化されたデータに対してニューラルネットワークモデルを適用することによってシンタックス要素の予測を得る。次いでステップ６１４で、シンタックス要素の予測をシンタックス要素と比較し、予測の関連性を決定し、ステップ６１６でシンタックス要素についてコード化するためのビンを決定するために使用する。
【００６２】
[0061]  シンタックス要素がフラグである改変形態では、シンタックス要素の予測が２進値である。従って、フラグの予測とフラグとの間のＸＯＲは、予測が関連する、即ち正しい場合はコード化するためのビンとして「０」の値をもたらし、予測が失敗する場合はコード化するためのビンとして「１」の値をもたらす。従って、関連する一連の予測がコード化するための一連のゼロ値をもたらし、エントロピコード化を改善する。
【００６３】
[0062]  シンタックス要素がＮの値を取り得る別の改変形態では、ニューラルネットワークが分類器であり、最後の層の出力はあり得る値それぞれのＮの確率を与えるベクトルである。かかる改変形態は、シンタックス要素がイントラ予測、図３に示すような動き予測、残差変換の係数等のコード化モードであることにうまく適合する。典型的には、ニューラルネットワークは例えば３層＋ソフトマックスを有する多層パーセプトロン（ＭＬＰ）等の小さい分類器であり得る。次いで表１に示すように、Ｎの確率を最も高い確率から低い確率へと並べ直す。インデックス「００」に対応する、最も高い確率に対応する値（値Ａ）がシンタックス要素に等しい場合、インデックス「００」はコード化するためのビンとして「０」、「０」のビン値をもたらす。予測は関連性があり、圧縮が改善される。さもなければ、インデックス「０１」に対応する、２番目に高い確率に対応する値（値Ｃ）がシンタックス要素に等しい場合、インデックス「０１」はコード化するためのビンとして「０」、「１」の値をもたらす。
【００６４】
【表１】
2021520087.tif 000003
【００６５】
[0063]  別の改変形態では、出力される確率を処理する。（１）を証明する最大整数として規定される整数Ｋ（Ｋ＜＝Ｎ）を検討する：
【００６６】
[0064]
【数１】
2021520087.tif 000004
【００６７】
[0065]  式中ＳＰは既定の閾値である。
【００６８】
[0066]  別の改変形態では、（２）を証明する最大整数として規定される整数Ｋ（Ｋ＜＝Ｎ）を検討する：
【００６９】
[0067]  閾値に勝る確率を有するモードの数であるＫ＝ｃａｒｄ｛ｋ＜Ｎ，但しｐ（ｋ）＞ＴＰ｝、式中ＴＰは既定の閾値である。
【００７０】
[0068]  符号化するためのシンタックス要素が最初のＫのＭＰＭモードの１つである場合、シンタックス要素のインデックスはｌｏｇ２（Ｋ）ビンで符号化される。さもなければ、シンタックス要素は表２の例に示すようにｌｏｇ２（Ｎ−Ｋ）ビットで符号化される。
【００７１】
[0069]  表２は、Ｋ＝４の最確モードを２ビットで、及び他の低確モードを４ビットでコード化する一例を示す。
【００７２】
【表２】
2021520087.tif 000005
【００７３】
[0070]  コード化するためのビンがＮＮによって決定されると、図２の方法で説明したのと同じステップを処理する。ループ６２０内でコンテキスト要素のビンに対して以下を行う：
ａ．ステップ６３０で、コード化するためのシンタックス要素又はビンのコンテキスト情報に基づき、シンタックス要素のビンのコンテキストＣＴＸを決定する。
ｂ．ステップ６４０で、コンテキスト確率Ｐ（ｂ／ＣＴＸ）に従ってエントロピエンコーダ（例えば算術エンコーダ）を使用してビンを符号化する。
ｃ．ステップ６５０で、ビンがコード化されたらコード化する次のビンのためにコンテキストモデルを更新し、即ちコンテキストＣＴＸのコード化されたビンに基づいてコンテキスト確率Ｐ（ｂ／ＣＴＸ）を修正する。
【００７４】
[0071]  次いで次のビンを処理する。最後に、プロセス６００を繰り返すことによって次のシンタックス要素を処理する。
【００７５】
[0072]  完全を期すために、図８は本実施形態で使用するための多成分入力を有するＮＮを示す。各成分８１０は様々なサイズのチャネルである。例えば入力チャネルのサイズは、再構築済みのブロックの予測サンプル又は残差等の入力用の１ブロックのサイズに等しい。例えば入力チャネルのサイズは、上側のブロック及び左側のブロックのシンタックス要素の値を入力するための、又は現在のブロックのＱＰ値を入力するための１つの値又は２つの値に等しい。各成分８１０はＮＮ８２０の入力である。簡単に言えば入力は、予測するためのシンタックス要素との相関を有するデータである。例えばエンコーダでは、インタスライスの場合、ブロックの分割は基礎を成す動きに、及び動き補償されたブロックから生じる予測に主に依存する。従って、画像間の区分化のためのＮＮの入力はブロックに関連する動き補償情報から導出され、分割を表すシンタックス要素はそれらの入力に基づいて予測される。有利には、ニューラルネットワークは畳み込み層で構成される。ＮＮの出力は、値の確率の予測ベクトル８３０である。ＮＮ８２０は他の種類（前の層のニューロンの各クラスタから最大値を取るMaxPool、加算、全結合等）の層を含み得ることに留意されたい。
【００７６】
[0073]  特定の実施形態によれば、異なる予測領域に従って複数のＮＮが実装される。従って、第１のＮＮはイントラ予測及び関連するシンタックス要素について訓練され、第２のＮＮはインタ予測及び関連するシンタックス要素について訓練される。更に別の実施形態では、ＧＯＰ内のピクチャのシーケンス番号に従ってＮＮが訓練される。更に別の実施形態では、ビデオ又は画像の種類（ＨＤＲ、映画、スポーツ等）又は伝送の種類（低減されたビットレート、テレビ会議等）に従ってＮＮが訓練される。従って、１つ又は複数のＮＮの任意の組み合わせ又は構成が本開示に適合する。エントロピコード化に関する１つ又は複数のＮＮの訓練はＮＮを訓練するための通常の枠組みから逸脱しないことを当業者なら理解されよう。ＮＮはシンタックス要素の予測ベクトルをＮＮの現在のパラメータを使用して提供する。損失関数を使用し、予測ベクトル及びシンタックス要素の値を比較する。例えば、ベクトルを評価するために平均二乗誤差を使用する。その後、この損失を使用してＮＮの新たなパラメータを最適化プロセスによって導出／調整する。このＮＮが非常に大きい画像集合に基づいて訓練され、ＮＮのパラメータ（重み）が設定されると、ＮＮはエンコーダによって直接使用することができ又はデコーダに送信することができる。
【００７７】
[0074]  従って別の特定の実施形態によれば、ＮＮがオフラインで訓練され、ＮＮの重みがデコーダに伝送され、又はデコーダがｎ（ｎは正の整数である）の既知の訓練されたＮＮを実装し、ｎのＮＮのうちの或るＮＮの指示が例えばＳＰＳ、ＰＰＳ、又はスライスヘッダ内でデコーダに伝送される。
【００７８】
[0075]  別の特定の実施形態によれば、ＮＮがエンコーダ及びデコーダの両方において実行中にオンラインで訓練される。
【００７９】
コード化するための要素の分布のコンテキストモデリングの改善
[0076]  本開示の別の実施形態によれば、ビデオエンコーダ１００は概してシンタックス要素のエントロピコード化（及び対応する復号）におけるコンテキストモデルの確率を決定し更新するためのニューラルネットワークの実装と共に、エントロピコーダ９００を含み又は上記のエントロピ符号化の方法１０００を用いる。以下の段落及び図面の中で修正形態についてより詳細に説明する。
【００８０】
[0077]  図９は、本原理の第２の実施形態によるＣＡＢＡＣエンコーダを示す。入力データ９１０から及びコード化されたビン値から、シンタックス要素を符号化するために使用される１つのコンテキストモデルに関連する確率をニューラルネットワーク（ＮＮ）９２０によって予測する。ＮＮ９２０はコンテキストモデラ９３０の一部である。バイナライザ４１０、通常コード化エンジン４４０、及びバイパスコード化エンジン４５０を含むＣＡＢＡＣエンコーダの他の部分は修正されない。
【００８１】
[0078]  ＮＮ９２０への入力データ９１０は、コード化するためのシンタックス要素に適合される。有利にはＮＮは、前に符号化されたブロック又は現在のブロックに対する空間的及び／又は時間的な情報等の複合データの入力を可能にする。非限定的な例によれば、シンタックス要素の前に符号化されたデータは、
ブロックの近隣（例えば図７に示す上側のブロック７１０若しくは左側のブロック７２０又はＬ字型７５０と交差するブロック７４０）における前に符号化された（又は復号された）同じ種類のシンタックス要素の値。有利には、これらの値は、Ｎ１の（異なる）前回コード化された値及び／又は現在のブロックの近隣にあるが（例えば上のＣＴＵの行内で）Ｎ１の値よりも後に復号されている可能性がある他のＮ２の値で満たされた履歴ベースのバッファを使用して管理され得る。
現在のブロックのＬ字型７５０内の再構築済みのサンプル、
現在のブロックの予測サンプル、
現在のブロックの再構築済みの残差、
インタにおける参照ブロックのＬ字型内のサンプル、
ブロックがインタでコード化される場合、ブロックの動きフィールド、
動きファイルドを用いた動き補償によって生成されるブロックの予測サンプル、
量子化パラメータＱＰ、
ブロックのサイズ及び／又は形状
のうちの少なくとも１つを含み得る。
【００８２】
[0079]  加えてＣＡＢＡＣのコンテキストモデリングプロセスは再帰的であり、従って第２の実施形態の第１の改変形態によれば、ＮＮ９２０への入力データ９１０は
Ｓの前に（符号化順序）コード化された同じ種類のシンタックス要素の値
Ｔの前に（符号化順序）コード化された同じ種類のビン値の値
Ｋの前に（符号化順序）同じ種類のシンタックス要素の確率ｐｋ（ｋ＝１，．．．Ｋ）の値
を更に含み得る。
【００８３】
[0080]  従来のＣＡＢＡＣでは、その値がｐσ＝α．ｐσ−１によって再帰的に決定される確率の有限状態があり（σ＝０．．．６３）、式中
【数２】
2021520087.tif 000006
が成立する。
【００８４】
[0081]  確率の更新は最後にコード化されたビン値で行い、ビン値が優勢（ＭＰＳ）のビン値又は劣勢（ＬＰＳ）のビン値である場合はそれぞれσを１ジャンプインクリメントし又はデクリメントする。従って例示的実施形態によれば、確率のエボリューション（evolution）をモデリングするために、Ｋ（Ｋは正の整数値、例えばＫ＝３である）の前の確率、及び／又はＴ（Ｔは正の整数値、例えばＴ＝２である）の前のコード化されたビン値、及び／又はＳ（Ｓは正の整数値、例えばＳ＝３である）の同じ種類の前のシンタックス要素の値が使用される。
【００８５】
[0082]  有利には、ＮＮの出力（確率推定）を更に安定させるために以下を行うことができる：
インクリメント／デクリメントの方向を推定し、このインクリメントによって確率を更新する。
又は（推定確率が１を超えるジャンプである場合）１を超えるジャンプを可能にするが、ジャンプをｎジャンプ（例えばｎ＝３）に限定する。
【００８６】
[0083]  有利には、ＮＮはシンタックス要素に関連するコンテキストモデル並びにコンテキストに関連する確率を入力データ９１０に基づいて決定する。
【００８７】
[0084]  第２の実施形態の第２の改変形態によれば、ＮＮが再帰型ニューラルネットワーク（ＲＮＮ）であり、一部の入力（即ちＳの前にコード化された同じ種類のシンタックス要素の値、又はＴの前にコード化された同じ種類のビン値の値）が無用である。例えばかかるＲＮＮは、エルマンネットワーク、ジョーダンネットワークとすることができ、又は長・短期記憶（ＬＳＴＭ）ユニット（又はブロック）で構成され得る。実際、長期的な時間依存性の学習を必要とする問題を解くために標準のＲＮＮを訓練することは困難であり得る。その理由は損失関数の勾配が時間と共に指数関数的に減衰するからである。基本的なＲＮＮとは逆に、ＬＳＴＭネットワークは長期間にわたってメモリ内に情報を保持することができる「メモリセル」として振る舞う専用ユニットを使用する。これは情報がメモリに入るとき、出力されるとき、及び忘却されるときを制御する１組のゲートを用いて実装され、ＬＳＴＭネットワークが長期的な依存性を学習することを可能にする。
【００８８】
[0085]  それに加えて、再帰型ニューラルネットワークと等価のＮＮアーキテクチャも使用することができる。その場合はＳの前にコード化された同じ種類のシンタックス要素の値、又はＴの前にコード化された同じ種類のビン値の値が無用であり、その理由は、それらの値がＲＮＮ内で再投入され得るからであり、反復ｔの出力ｈ（ｔ）が反復ｔ＋１において再利用される。第１の実施形態に関して説明したＮＮの改変形態の何れも本実施形態に適合する。
【００８９】
[0086]  図１０は、例示的実施形態によるコンテキストベースのエントロピコード化（例えばＣＡＢＡＣ）の例示的方法の流れ図１０００を示す。図１０は図４と類似点を有する。ステップ１０１０、１０２０、１０４０、１０２５、及び１０６０は、ステップ４１０、４２０、４４０、４２５、及び４６０のそれぞれと同様である。訓練に関して以下で説明するように、ステップ１０３０及び１０５０はステップ４３０及び４４０との違いを有する。ステップ１０１０で、ビデオのピクチャ内の現在のブロックに関連するシンタックス要素（ＳＥ）の２進値にアクセスし、即ちまだ２進値（バイナリフラグ等）ではない場合、シンタックス要素（ＳＥ）１０１０をまず２値化する。次いでループ１０２０内で、ビンに対して以下を行う：
ａ．ステップ１０３０で、コード化するためのシンタックス要素のコンテキスト情報を使用してＮＮによってコンテキスト確率を決定する。コンテキスト確率は、コンテキスト値ＣＴＸを既知としてビンが「ｂ」の値を取る推定条件付き確率、即ちＰ（ｂ／ＣＴＸ）に対応する。決定は、符号化するための現在のシンボル（シンタックス要素）の近隣にある既にコード化されたシンボル（シンタックス要素）、ＣＵ／ＰＵ／ＴＵのサイズ若しくは形状、ＣＵのコード化モード、又はスライスの種類若しくは他の入力データ等のコンテキスト情報に基づく。
ｂ．ステップ１０４０で、コンテキスト確率Ｐ（ｂ／ＣＴＸ）に従ってエントロピエンコーダ（例えば算術エンコーダ）を使用してビンを符号化する。
ｃ．ステップ１０５０で、ビンがコード化されたらコンテキストセットを更新し、即ちコンテキスト確率を更新する。例えば更新は、ビン値（「０」又は「１」）の発生回数のカウントの更新を表し得る。先に詳述したように、インクリメント／デクリメントの方向を推定し、このインクリメントによって確率を更新することができ、又は（推定確率が１を超えるジャンプである場合）１を超えるジャンプのインクリメント／デクリメントを可能にするが、ジャンプはｎジャンプ（例えばｎ＝３）に限定する。
ｄ．ステップ１０２５で、符号化するための更なるビンがあるかどうかを確認する。ある場合は（例えばシンタックス要素の次のビンに移ることによって）ステップ１０２０に戻り、さもなければステップ１０６０でこのプロセスを終了する。
【００９０】
[0087]  一般性を失うことなく、ステップ１０４０及び１０５０は順序を変えること又は並列に実行することができる。
【００９１】
[0088]  先に詳述したように、様々なアーキテクチャが、本実施形態で使用するための多成分入力を有するＮＮ並びに複数の訓練方式（オンライン、オフライン）に適合する。本原理の第２の実施形態の２つの改変形態によるＮＮの訓練について次に説明する。
【００９２】
[0089]  図１１は、本開示の第２の実施形態による、ＣＡＢＡＣエンコーダ内の１つのビンを伴うＮＮの例示的訓練の単純化したブロック図を示す。所与のビンシンボル（即ちシンタックス要素ＳＥ）Ｓについて、符号化されるビンシンボルＳごとに値（Ｘｔ，Ｙｔ）を集めることによって図４に示す通常のエンコーダから訓練セットが構築され、ＸｔはＴの前に（符号化順序）コード化されたＳのビン値を含み、ＹｔはＳの現在の値である。次式の通り損失（クロスエントロピコスト）を計算する：
【００９３】
[0090]  損失＝−（１−ｂｉｎｔ）．ｌｏｇ（ｐｔ）−ｂｉｎｔ．ｌｏｇ（１−ｐｔ）  （１）
【００９４】
[0091]  式中、ｐｔはｂｉｎ（ｔ）がゼロに等しい推定確率を表すＮＮの出力であり、ｂｉｎ（ｔ）は現在のビン値である。この場合もやはり、エントロピコード化に関する１つ又は複数のＮＮの訓練はＮＮを訓練するための通常の枠組みから逸脱しないことを当業者なら理解されよう。その後、この損失を使用してＮＮの新たなパラメータを最適化プロセスによって導出／調整する。このＮＮが非常に大きい画像集合に基づいて訓練され、ＮＮのパラメータ（重み）が設定されると、ＮＮはエンコーダによって直接使用することができ又はデコーダに送信することができる。
【００９５】
[0092]  第２の実施形態の改変形態では、それぞれのビンの確率を独立に処理するのではなく、シンボル確率をＮＮによって全体として処理する。図１２は、本開示の第２の実施形態による、ＣＡＢＡＣエンコーダ内の１つのシンボルを伴うＮＮの例示的訓練の単純化したブロック図を示す。この事例では、ＮＮはＳのあり得る全ての値のための分類器である（シンタックス要素ＳはＮの値を取ることができ、又は限られた範囲の値を有する整数である）。ＮＮの出力はｐｉ（ｔ）、但しｉ＝１．．Ｎであり、ｐｉ（ｔ）はＳがｉ番目のあり得る値に等しい確率である。時点ｔにおけるＳの値がｓ番目のあり得る値である場合、クロスエントロピコスト関数は次式の通りである：
【００９６】
[0093]  
【数３】
2021520087.tif 000007
【００９７】
[0094]  この場合、バイナリ算術コーダ４４０によって使用される各ビンの確率は、全体として検討されるシンボルの確率から導出することができる。
【００９８】
[0095]  改変形態では、有利には通常のエンコーダの修正版を訓練に使用することができ、通常のコード化モデルが結果にバイアスをかけないようにシンボルＳに関連するＲＤＯのλの値をゼロに強制する。他のシンボルは通常のＲＤＯ及び通常のλを用いてコード化される。
【００９９】
[0096]  一実施形態では、この方法は、ステップ１０４０でシンタックス要素のエントロピ符号化されたビンを提供することを更に含み得る。提供するステップは、エンコーダ１００の別のモジュールに出力すること又は提供することを含み得る。提供するステップは任意選択的でも、バイパスされても、又は除去されてもよい。ステップ１０１０から１０４０は例えばエンコーダ１００によって、とりわけエントロピコード化ブロック１４５によって実行され得る。方法１０００は、シンタックス要素の複数のビンに対して、複数のシンタックス要素（例えばブロック内の複数の変換係数に関連するシンタックス要素）に対して、及び／又はピクチャ内の複数のブロックに対して実行され得る。方法１０００は、シンタックス要素のビンに対して、ブロック内のシンタックス要素に対して、及び／又はピクチャ内のブロックに対して実行されてもよい。
【０１００】
[0097]  この方法の一実施形態によれば、ニューラルネットワークが再帰型ニューラルネットワークである。
【０１０１】
[0098]  この方法の一実施形態によれば、複数のニューラルネットワークが使用され、ニューラルネットワークがシンタックス要素の種類について訓練される。
【０１０２】
[0099]  この方法の一実施形態によれば、エントロピ符号化がＣＡＢＡＣエントロピ符号化であり得る。
【０１０３】
[00100]  一実施形態によれば、この方法は、ピクチャを受信し、ブロックを含む複数のブロックにピクチャを区分化し、ブロックの予測残差を決定し、複数の変換係数を得るために残差を変換し量子化し、残差をエントロピ符号化することを更に含み得る。変換及び量子化のステップは、例えばエンコーダ１００のモジュール１２５及び１３０によって実行され得る。エントロピ符号化のステップは、例えばエンコーダ１００のモジュール１４５によって実行され得る。受信、変換、及び量子化のステップは、別の装置によって前に実行されている可能性があるので、及び／又は結果がメモリ内に記憶されている可能性があるので、任意選択的でも、バイパスされても、又は除去されてもよい。
【０１０４】
[00101]  上記の方法１０００の実施形態の何れもエンコーダ１００によって実装できることを理解すべきである。エンコーダ１００のブロックはハードウェア（例えば集積回路）によって、又はメモリ内に記憶され、プロセッサによって実行されるソフトウェアによって実装され得る。
【０１０５】
復号
[00102]  図１３は、本開示の一実施形態による例示的なビデオデコーダ１３００の単純化したブロック図を示す。ビデオデコーダ１３００は、通信システム内の受信機の中に含まれ得る。ビデオデコーダ１３００は、図１に記載したビデオエンコーダ１００によって実行される符号化経路の逆の復号経路を概して実行する。具体的には、デコーダ１３００の入力は、ビデオエンコーダ１００によって生成され得るビデオビットストリームを含む。変換係数、動きベクトル、シンタックス要素、及び他のコード化された情報を得るためにこのビットストリームをまずエントロピ復号する（モジュール１３３０）。残差を復号するために変換係数を逆量子化し（モジュール１３４０）、逆変換する（モジュール１３５０）。復号済みの残差を予測済みのサンプルブロック（予測因子としても知られている）と組み合わせて（モジュール２５５）復号／再構築済みの画像ブロックを得る。予測済みのサンプルブロックはイントラ予測（モジュール１３６０）又は動き補償予測（即ちインタ予測）（モジュール１３７５）から得ることができる（モジュール１３７０）。再構築済みの画像にインループフィルタ（モジュール１３６５）を適用することができる。インループフィルタはデブロッキングフィルタ及びＳＡＯフィルタを含み得る。フィルタ済みの画像を参照ピクチャバッファ１３８０内に記憶する。
【０１０６】
[00103]  ビデオデコーダ１３００のモジュールはソフトウェアによって実装され、プロセッサによって実行されてもよく、又は圧縮の当業者によってよく知られている回路によって実装することができる。具体的には、ビデオエンコーダ１３００は集積回路（ＩＣ）として単独で又はコーデックとしてビデオデコーダ１００と組み合わせて実装することができる。
【０１０７】
[00104]  本開示に記載する差異、とりわけ本開示による図１のモジュール１４５の逆であり、以下の段落及び図面の中でより詳細に説明するエントロピ復号モジュール１３３０の差異を除き、ビデオデコーダ１３００のモジュールは他のビデオデコーダ（例えばＨＥＶＣデコーダ）内にもある。エントロピ復号以外の機能（例えば１３３０以外のモジュール）ではビデオデコーダ１３００はＨＥＶＣビデオデコーダと同様とすることができ、本明細書ではその機能を詳細には説明しない。
【０１０８】
エントロピ復号
[00105]  先に説明したようにＨＥＶＣ標準では、所謂変換ブロック（ＴＢ）内に含まれる量子化済みの係数がＣＡＢＡＣを使用してエントロピコード化され、復号され得る。ＣＡＢＡＣデコーダにおいて、ＣＡＢＡＣエンコーダの全般的な逆の機能が実行される。ＣＡＢＡＣ並びに他のコンテキストベースのエンコーダ及びデコーダは圧縮の当業者によってよく知られており、本明細書では詳細には説明しない。本開示は、全般的なコンテキストベースのエントロピエンコーダ及びデコーダ（例えばＣＡＢＡＣエンコーダ及びデコーダ）に適用され、シンタックス要素の改善された予測を決定すること又はニューラルネットワークによる要素（例えばシンタックス要素）のエントロピ圧縮に使用される改善されたコンテキスト確率を決定することに関する。
【０１０９】
[00106]  ＣＡＢＡＣ復号のプロセスへの入力は、典型的にはＨＥＶＣ標準に準拠するコード化ビットストリーム内にある。復号プロセスの任意の時点において、デコーダは次にどのシンタックス要素を復号すべきかを知っており、その理由は、標準化されたビットストリームのシンタックス及び復号プロセス内でかかるシンタックス要素が完全に指定されるからである。更にデコーダは、復号すべき現在のシンタックス要素がどのように２値化されている（即ち「１」又は「０」にそれぞれ等しいビンと呼ばれる一連の２値シンボルとして表される）のか、及びビン列の各ビンがどのように符号化されているのかも分かる。
【０１１０】
[00107]  従って、ＣＡＢＡＣ復号プロセスの最初の段階では一連のビンを復号する。或るビンについて、デコーダはそのビンがバイパスモードに従って符号化されているのか、又は通常モードに従って符号化されているのかが分かる。バイパスモードは単純にビットストリーム内のビットを読み取り、取得したビット値を現在のビンに割り当てることで構成される。このモードには複雑でなく、従って高速であり、典型的には一様の統計的分布を有する、即ち「１」又は「０」に等しい等確率を有するビンに使用されるという利点がある。
【０１１１】
[00108]  現在のビンがバイパスモードでコード化されていない場合、そのビンは通常モードで、即ちコンテキストベースの算術コード化によってコード化されている。通常モードでは、現在のビンを復号するためにまずコンテキストを得る。コンテキストは、通常モードに関連するコンテキストモデラモジュールによって与えられる。コンテキストの目標は、幾つかのコンテキスト上の前の又は情報Ｘを所与とし、現在のビンが「０」の値を有する条件付き確率を得ることである。前のＸは、現在のビンが復号されている時点における、エンコーダ側及びデコーダ側の両方において同期的に入手可能な幾つかの既に復号されているシンタックス要素の値である。
【０１１２】
[00109]  典型的には、ビンを復号するために使用する前のＸは標準内で規定され、復号するための現在のビンと統計的に相関することを理由に選択される。情報理論においてよく知られているように、Ｘを所与としたビンの条件付きエントロピはビンとＸとの相関が高まるにつれて低下するので、このコンテキスト情報を使用することはビンをコード化するレートコストを低減することを可能にする（ビンとＸとが統計的に相関する場合、Ｈ（ｂｉｎ｜Ｘ）＜Ｈ（ｂｉｎ）、又はＸを既知としたビンの条件付きエントロピがビンのエントロピを下回る）。
【０１１３】
[00110]  コンテキスト情報Ｘをこのように使用して、現在のビンが「０」又は「１」である確率を得る。これらの条件付き確率を所与とし、通常復号モードは２進値ビンの算術復号を行う。次いで、現在のコンテキスト情報Ｘを既知として現在のビンに関連する条件付き確率の値を更新するためにビンの値を使用する。これをコンテキストモデルの更新と呼ぶ。ビンが復号（又はコード化）されている限りコンテキストモデルをビンごとに更新することは、各２値要素のコンテキストモデリングを漸進的に洗練させることを可能にする。従って、ＣＡＢＡＣデコーダはそれぞれの通常符号化済みのビンの統計的挙動を漸進的に学習する。どのようにコード化されたのかにもよるが、現在のビンの通常の算術復号又はそのバイパス復号は一連の復号済みのビンをもたらす。
【０１１４】
[00111]  コンテキストモデラ及びコンテキストモデルの更新ステップは、ＣＡＢＡＣエンコーダ側及びデコーダ側での厳密に同一の操作であることを理解すべきである。
【０１１５】
[00112]  ＣＡＢＡＣ復号の第２の段階は、この一連の２値シンボルを高レベルのシンタックス要素に変換することで構成される。シンタックス要素はフラグの形を取ることができ、その場合、シンタックス要素は現在の復号済みのビンの値を直接取る。他方で、検討される標準仕様による１組の幾つかのビンに現在のシンタックス要素の２値化が対応する場合、「Binary Codeword to Syntax Element」と呼ばれる変換ステップを行う。この変換ステップはエンコーダによって行われた２値化ステップの逆である。一例として、シンタックス要素の標準の２値化は次の符号化要素をもたらす：last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、及びlast_sig_coeff_y_suffix。従ってデコーダによって行われる逆変換は、これらのシンタックス要素の値をそのそれぞれの復号済みの２値化バージョンに基づいて得ることで構成される。
【０１１６】
[00113]  従って、本原理の一実施形態によるデコーダは、シンタックス要素の改善された予測に基づいてシンタックス要素を復号するために、又は要素（例えばシンタックス要素）の改善されたコンテキスト確率をモデリングし決定するために現在のシンタックス要素の前に復号されたデータを使用してニューラルネットワークを実装する。
【０１１７】
[00114]  第１の実施形態によれば、この一連の２値シンボルを高レベルのシンタックス要素に変換する間、ＣＡＢＡＣは入力データに応じてシンタックス要素の予測をシンタックス要素について決定するＮＮを実装する。かかるＮＮは図５のエンコーダ５００のＮＮ５３０及び入力データ５２０と厳密に同等である。次いで、予測の関連性をコード化する復号済みの一連のビンを予測と共に使用して、ＣＡＢＡＣエンコーダによってコード化されたシンタックス要素を決定する。シンタックス要素がフラグである改変形態によれば、フラグの予測と復号済みのビンとの間のＸＯＲが復号済みのシンタックス要素をもたらす。第１の実施形態の様々な改変形態についての説明は省くが、デコーダの当業者にとっては容易に理解される。
【０１１８】
[00115]  第２の実施形態によれば、復号プロセスが一連のビンを復号し、ＣＡＢＡＣが前述のシンタックス要素に関連するコンテキスト、シンタックス要素の前に復号されたデータを使用してシンタックス要素に関連する確率を決定するＮＮを実装する。従って、コンテキストモデル及び確率の更新がＮＮによって行われる。
【０１１９】
[00116]  図１４は、本開示の実施形態の何れか１つによる、コンテキストベースのエントロピ復号（例えばＣＡＢＡＣ）の例示的方法の流れ図１４００を示す。図１４は、図６又は図１０の逆である。ビットストリームが、エントロピ符号化されたシンタックス要素を含む符号化ビデオと共に受信される。ステップ１４２５、１４３０、１４５０、及び１４６０は、ステップ６２５、６３０、６５０、及び６６０のそれぞれと同様であり（又はステップ１０２５、１０３０、１０５０、及び１０６０のそれぞれと同様であり）、更なる説明は行わない。ステップ１４４０は、エントロピ符号化の代わりにエントロピ復号を行う点でステップ６４０（又は１０４０）の逆である。
【０１２０】
[00117]  一般性を失うことなく、ステップ１４４０及び１４５０は順序を変えること又は並列に実行することができる。
【０１２１】
[00118]  １組のコンテキストモデル内の或るコンテキストモデルから別のコンテキストモデルに遷移する又は切り替えるために使用される閾値又はレベルは、符号化されていようがいまいがビットストリーム内に含まれてもよく、図１４の方法を実行するためにデコーダにおいて取得され得ることを理解すべきである。
【０１２２】
[00119]  一実施形態では、この方法はステップ１４４０で、シンタックス要素のエントロピ復号されたビンを提供することを更に含み得る。提供するステップは、デコーダの別のモジュールに出力すること又は提供することを含み得る。提供するステップは任意選択的でも、バイパスされても、又は除去されてもよい。
【０１２３】
[00120]  ステップ１４１０から１４４０は例えばデコーダ１３００によって、とりわけエントロピ復号モジュール１３３０によって実行され得る。方法１４００は、シンタックス要素の複数のビンに対して、ブロック内の複数のシンタックス要素に対して、及び／又はピクチャ内の複数のブロックに対して実行され得る。方法１４００は、シンタックス要素のビンに対して、ブロック内のシンタックス要素に対して、及び／又はピクチャ内のブロックに対して実行されてもよい。
【０１２４】
[00121]  
【０１２５】
[00122]  この方法の一実施形態によれば、エントロピ復号がＣＡＢＡＣエントロピ復号であり得る。
【０１２６】
[00123]  一実施形態によれば、この方法は、符号化ピクチャを受信し、ブロックをエントロピ復号し、復号済みの残差を得るためにブロックを逆変換し、復号済みの残差を予測済みのサンプルブロックと組み合わせて復号済み／再構築済みの画像ブロックを得ることを更に含み得る。変換係数は、逆変換の前に更に逆量子化され得る。エントロピ復号、逆変換、及び逆量子化のステップは、例えばデコーダ１３００のモジュール１３３０、１３５０、及び１３４０のそれぞれによって実行され得る。受信、エントロピ復号、逆変換及び逆量子化、並びに組み合わせのステップは、別の装置によって前に実行されている及び／又は別の装置に提供されている可能性があるので、又は結果がメモリから取得されている及び／又はメモリ内に記憶されている可能性があるので、任意選択的でも、バイパスされても、又は除去されてもよい。
【０１２７】
[00124]  上記の方法１４００の実施形態の何れもデコーダ１３００によって実装できることを理解すべきである。デコーダ１３００のブロックはハードウェア（例えば集積回路）によって、又はメモリ内に記憶され、プロセッサによって実行されるソフトウェアによって実装され得る。
【０１２８】
[00125]  図１５は、本開示の例示的実施形態の様々な態様を実装することができる例示的システムのブロック図１５００を示す。システム１５００は、以下に記載の様々なコンポーネントを含む装置として具体化することができ、上記のプロセスを実行するように構成される。かかる装置の例は、これだけに限定されないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、スマートウォッチ、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家庭用電化製品、及びサーバを含む。上記の例示的ビデオシステムを実装するために、システム１５００は図１５に示し且つ当業者によって知られている通信チャネルを介して他の同様のシステム及びディスプレイに通信可能に結合され得る。システム１５００は、エンコーダ１００、デコーダ１３００、又はその両方を独立に又は一緒に実装することができる。更にシステム１５００は、方法６００、方法１０００、及び／又は方法１４００を含む本開示のプロセスの何れかを独立に又は一緒に実装することができ、且つ実行するように構成することができる。
【０１２９】
[00126]  システム１５００は、上記の様々なプロセスを実施するために自らの中にロードされた命令を実行するように構成される少なくとも１つのプロセッサ１５１０を含み得る。プロセッサ１５１０は、埋込メモリ、入出力インタフェース、及び当技術分野で知られている他の様々な回路を含み得る。システム１５００は、少なくとも１つのメモリ１５２０（例えはＲＡＭ等の揮発性メモリ装置、ＲＯＭ等の不揮発性メモリ装置）も含み得る。システム１５００は、これだけに限定されないが、消去プログラム可能読取専用メモリ（ＥＰＲＯＭ）、ＲＯＭ、プログラム可能読取専用メモリ（ＰＲＯＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、フラッシュメモリ、磁気ディスクドライブ、及び／又は光ディスクドライブを含む不揮発性メモリを含み得る記憶装置１５４０を更に含むことができる。記憶装置１５４０は、非限定的な例として内蔵記憶装置、付加記憶装置、及び／又はネットワークアクセス可能記憶装置を含み得る。システム１５００は、符号化済みのビデオ又は復号済みのビデオを提供するためにデータを処理するように構成されるエンコーダ／デコーダモジュール１５３０も含み得る。
【０１３０】
[00127]  エンコーダ／デコーダモジュール１５３０は、例えば図６、図１０、及び図１４のそれぞれによる符号化及び／又は復号機能を実行するために装置内に含まれ得るモジュールを表す。圧縮の分野で知られているように、装置は符号化モジュール及び復号モジュールの一方又は両方を含み得る。加えて、エンコーダ／デコーダモジュール１５３０はシステム１５００の別個の要素として実装することができ、又は当業者に知られているようにハードウェアとソフトウェアとの組み合わせとしてプロセッサ１５１０内に組み込まれてもよい。例えばエンコーダ／デコーダモジュール１５３０は、１つ又は２つの別個の集積回路及び／又は書換可能ゲートアレイ（ＦＰＧＡ）として実装することができる。
【０１３１】
[00128]  上記の様々なプロセスを実行するためにプロセッサ１５１０上にロードされるプログラムコードは記憶装置１５４０内に記憶され、その後プロセッサ１５１０によって実行するためにメモリ１５２０上にロードされ得る。本開示の例示的実施形態によれば、プロセッサ１５１０、メモリ１５２０、記憶装置１５４０、及びエンコーダ／デコーダモジュール１５３０の１つ又は複数が、上記で論じたプロセスの実行中にこれだけに限定されないが入力ビデオ、復号ビデオ、ビットストリーム、等式、公式、行列、変数、演算、及び演算ロジックを含む様々なアイテムの１つ又は複数を記憶し得る。
【０１３２】
[00129]  システム１５００は、通信チャネル１５６０を介して他の装置と通信することを可能にする通信インタフェース１５５０も含み得る。通信インタフェース１５５０は、これだけに限定されないが、通信チャネル１５６０からデータを送受信するように構成されるトランシーバを含み得る。通信インタフェースは、これだけに限定されないがモデム又はネットワークカードを含むことができ、通信チャネルは有線媒体及び／又は無線媒体内に実装することができる。システム１５００の様々なコンポーネントは、これだけに限定されないが内部バス、配線、及びプリント回路基板を含む様々な適切な接続を使用して接続し又は通信可能に結合することができる。
【０１３３】
[00130]  本開示による例示的実施形態は、プロセッサ１５１０によって実行されるコンピュータソフトウェアによって、又はハードウェアによって、又はハードウェアとソフトウェアとの組み合わせによって実行することができる。非限定的な例として、本開示による例示的実施形態は１つ又は複数の集積回路によって実装され得る。メモリ１５２０は技術的環境に適した任意の種類のものとすることができ、非限定的な例として光メモリ装置、磁気メモリ装置、半導体ベースのメモリ装置、固定メモリ、及び脱着可能メモリ等、任意の適切なデータ記憶技術を使用して実装することができる。プロセッサ１５１０は技術的環境に適した任意の種類のものとすることができ、非限定的な例としてマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコアアーキテクチャに基づくプロセッサのうちの１つ又は複数を包含し得る。
【０１３４】
[00131]  本明細書に記載した実装形態は、例えば方法若しくはプロセス、機器、ソフトウェアプログラム、データストリーム、又は信号によって実装することができる。単一形式の実装形態の脈絡でしか論じられていなくても（例えば方法としてしか論じられていなくても）、論じられた特徴の実装形態は他の形（例えば機器又はプログラム）でも実装することができる。機器は例えば適切なハードウェア、ソフトウェア、及びファームウェアによって実装することができる。方法は例えばプロセッサ等の機器によって実装することができ、プロセッサは例えばコンピュータ、マイクロプロセッサ、集積回路、又はプログラム可能論理装置を含む処理装置全般を指す。プロセッサは、例えばコンピュータ、携帯電話、ポータブル／携帯情報端末（ＰＤＡ）、及びエンドユーザ間の情報の通信を助ける他の装置等の通信装置も含む。
【０１３５】
[00132]  本開示の一態様によれば、ビデオを符号化するための機器１５００が提供され、その機器はプロセッサ１５１０及びプロセッサに結合される少なくとも１つのメモリ１５２０、１５４０を含み、プロセッサ１５１０は上記のビデオ符号化の方法６００又は１０００の実施形態の何れかを実行するように構成される。
【０１３６】
[00133]  本開示の一態様によれば、ビデオを復号するための機器１５００が提供され、その機器はプロセッサ１５１０及びプロセッサに結合される少なくとも１つのメモリ１５２０、１５４０を含み、プロセッサ１５１０は上記のビデオ復号の方法１３００の実施形態の何れかを実行するように構成される。
【０１３７】
[00134]  本開示の一態様によれば、ビデオのピクチャ内のブロックに関連するシンタックス要素のビンにアクセスするための手段と、シンタックス要素のビンのコンテキストを決定するための手段と、決定したコンテキストに基づいてシンタックス要素のビンをエントロピ符号化するための手段とを含む、ビデオを符号化するための機器が提供され、ビンにアクセスするための手段又はコンテキストを決定するための手段は開示した実施形態の何れかに従って実装される。図１及び図１５のビデオエンコーダは機器の構造又は手段、とりわけブロック１４５、１５１０、及び１５３０を含み得る。
【０１３８】
[00135]  本開示の一態様によれば、符号化ビデオのピクチャ内のブロックに関連するシンタックス要素の符号化済みのビンにアクセスするための手段と、シンタックス要素を有するシンタックス要素のビンのコンテキストを決定するための手段と、決定したコンテキストに基づいてシンタックス要素の符号化済みのビンをエントロピ復号するための手段とを含む、ビデオを復号するための機器が提供される。図１３及び図１５は、ビデオを復号するための機器の構造又は手段、とりわけブロック１３３０、１５１０、及び１５３０を含み得る。
【０１３９】
[00136]  当業者に明らかなように、実装形態は例えば記憶され又は伝送され得る情報を運ぶようにフォーマットされる多岐にわたる信号を作り出し得る。情報は例えば方法を実行するための命令、又は記載した実装形態の１つによって作り出されるデータを含み得る。例えば信号は、記載した実施形態のビットストリームを運ぶようにフォーマットされ得る。かかる信号は、例えば電磁波として（例えばスペクトルの無線周波数部分を用いて）、又はベースバンド信号としてフォーマットされ得る。フォーマットすることは、例えばデータストリームを符号化し、符号化データストリームで搬送波を変調することを含み得る。信号が運ぶ情報は、例えばアナログ情報又はデジタル情報とすることができる。信号は、知られているように様々な異なる有線リンク又は無線リンク上で伝送され得る。信号はプロセッサ可読媒体上に記憶され得る。
【０１４０】
[00137]  本開示の一態様によれば、ピクチャのブロックを表す符号化データを含むようにフォーマットされたビットストリームを信号が含み、符号化データはビデオを符号化する方法６００又は１０００の実施形態の何れかに従って符号化される。
【０１４１】
[00138]  本開示の一態様によれば、ピクチャのブロックを表す符号化データを含むようにビットストリームがフォーマットされ、符号化データはビデオを符号化する方法６００又は１０００の実施形態の何れかに従って符号化される。
【０１４２】
[00139]  更に、方法６００、１０００、及び／又は１４００の何れも、プロセッサによって実行され得るコンピュータ実行可能命令を（独立に又は一緒に）含むコンピュータプログラム製品として実装することができる。コンピュータ実行可能命令を有するコンピュータプログラム製品は、システム１５００、エンコーダ１００、及び／又はデコーダ１３００のそれぞれの一時的又は非一時的コンピュータ可読記憶媒体の中に記憶することができる。
【０１４３】
[00140]  本開示の一態様によれば、本開示の方法６００、１０００、及び／又は１４００の何れかの実施形態の何れかを（独立に又は一緒に）実行するためのプログラムコード命令を含むコンピュータ可読プログラム製品が提供される。
【０１４４】
[00141]  一部の実施形態では、本開示の態様を引き続き実装しながらプロセス６００、１０００、及び／又は１４００内の要素の１つ又は複数を組み合わせ、異なる順序で実行し、又は除外できることに留意することが重要である。他のステップが並列に実行されてもよく、プロセッサは或るステップを開始する前に別のステップが完全に完了するのを待たない。
【０１４５】
[00142]  更に、本開示の態様はコンピュータ可読記憶媒体の形を取り得る。１つ又は複数のコンピュータ可読記憶媒体の任意の組み合わせを利用することができる。コンピュータ可読記憶媒体は、１つ又は複数のコンピュータ可読媒体内に実装され、コンピュータによって実行可能なコンピュータ可読プログラムコードがその上に実装されているコンピュータ可読プログラム製品の形を取り得る。本明細書で使用するとき、コンピュータ可読記憶媒体は、情報を内部に記憶する固有の能力並びに情報をそこから取り出せるようにする固有の能力を与えられた非一時的記憶媒体と見なされる。コンピュータ可読記憶媒体は、例えばこれだけに限定されないが、電子、磁気、光学、電磁、赤外、若しくは半導体のシステム、機器、若しくは装置、又は上記のものの任意の適切な組み合わせとすることができる。
【０１４６】
[00143]  当業者なら容易に理解されるように、以下の列挙は本開示を適用することができるコンピュータ可読記憶媒体のより具体的な例を示すが、例示に過ぎず網羅的な列挙ではないことを理解すべきである。例の列挙は、ポータブルコンピュータディスケット、ハードディスク、ＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、携帯型コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）、光学記憶装置、磁気記憶装置、又は上記のものの任意の適切な組み合わせを含む。
【０１４７】
[00144]  本開示の一態様によれば、方法６００、１０００、及び／又は１４００を含む本開示の方法の何れかの実施形態の何れかを実行するためのプログラムコード命令を含む、ソフトウェアプログラムを保持するコンピュータ可読記憶媒体が提供される。
【０１４８】
[00145]  本開示の「一実施形態」、又は「或る実施形態」、又は「一実装形態」、又は「或る実装形態」並びにそれらの他の異体に言及することは、実施形態に関連して記載される特定の特徴、構造、特性等が本開示の少なくとも１つの実施形態に含まれることを意味することを理解すべきである。従って、本明細書の全体を通して様々な箇所に登場する「一実施形態では」、又は「或る実施形態では」、又は「一実装形態では」、又は「或る実装形態では」という語句並びに他の任意の異体の登場は必ずしも全て同じ実施形態を指すものではない。
【０１４９】
[00146]  加えて本開示又は本開示の特許請求の範囲は、様々な情報片を「決定すること」に言及する場合がある。情報を決定することは、例えば情報を推定すること、情報を計算すること、情報を予測すること、情報を選択すること、又は情報をメモリから取り出すことの１つ又は複数を含み得る。
【０１５０】
[00147]  更に本開示又は本開示の特許請求の範囲は、様々な情報片を「提供すること」に言及する場合がある。情報を提供することは、例えば情報を出力すること、情報を記憶すること、情報を伝送すること、情報を送信すること、情報を表示すること、情報を示すこと、情報を処理すること、又は情報を移動することの１つ又は複数を含み得る。
【０１５１】
[00148]  更に本開示又は本開示の特許請求の範囲は、様々な情報片に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば情報を受信すること、情報を（例えばメモリから）取り出すこと、情報を記憶すること、情報を処理すること、情報を移動すること、情報を複製すること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することの１つ又は複数を含み得る。
【０１５２】
[00149]  更に本開示又は本開示の特許請求の範囲は、様々な情報片を「受信すること」に言及する場合がある。受信することは「アクセスすること」と同様に広義語であることを意図する。情報を受信することは、例えば情報にアクセスすること、又は情報を（例えばメモリから）取り出すことの１つ又は複数を含み得る。更に、「受信すること」は典型的には例えば情報を記憶する操作、情報を処理する操作、情報を伝送する操作、情報を移動する操作、情報を複製する操作、情報を消去する操作、情報を計算する操作、情報を決定する操作、情報を予測する操作、又は情報を推定する操作等の操作中に何らかの形で関与する。
【０１５３】
[00150]  図示し説明した様々な特徴は交換可能であることを理解すべきである。別段の定めがない限り、或る実施形態に示す特徴を別の実施形態に組み込むことができる。更に、様々な実施形態において記載した特徴は、分けることができない又は組み合わせることができないと示されていない限り、組み合わせる又は分けることができる。
【０１５４】
[00151]  先に述べたように、図示の様々な要素の機能は、専用ハードウェア並びに適切なソフトウェアに関連してソフトウェアを実行可能なハードウェアを使用することによって与えられ得る。更に、プロセッサによって与えられるとき、それらの機能は単一の専用プロセッサによって、単一の共用プロセッサによって、又はその一部が共用され得る複数の個別のプロセッサによって与えられ得る。
【０１５５】
[00152]  添付図面に示した構成要素であるシステムコンポーネント及び方法の一部はソフトウェアによって実装することが好ましいので、本開示のプロセスをプログラムするやり方に応じてシステムコンポーネント又はプロセス機能ブロック間の実際の接続が異なり得ることを更に理解すべきである。本明細書の教示を所与として、当業者は本開示のこれらの及び同様の実装又は構成を考えることができるようになる。
【０１５６】
[00153]  本明細書では添付図面に関して例示的実施形態を説明してきたが、本開示はそれらの厳密な実施形態に限定されず、本開示の範囲から逸脱することなしに様々な変更及び修正が当業者によって加えられてもよいことを理解すべきである。加えて、本開示の範囲から逸脱することなしに個々の実施形態を組み合わせることができる。そのような全ての変更及び修正が添付の特許請求の範囲に記載の本開示の範囲に含まれることを意図する。
【図１】
2021520087.tif 000008
【図２】
2021520087.tif 000009
【図３】
2021520087.tif 000010
【図４】
2021520087.tif 000011
【図５】
2021520087.tif 000012
【図６】
2021520087.tif 000013
【図７】
2021520087.tif 000014
【図８】
2021520087.tif 000015
【図９】
2021520087.tif 000016
【図１０】
2021520087.tif 000017
【図１１】
2021520087.tif 000018
【図１２】
2021520087.tif 000019
【図１３】
2021520087.tif 000020
【図１４】
2021520087.tif 000021
【図１５】
2021520087.tif 000022
【国際調査報告】
2021520087.tif 000023
2021520087.tif 000024
2021520087.tif 000025
2021520087.tif 000026