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

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

▶ ディズニー エンタープライゼス インコーポレイテッドの特許一覧 ▶ イーティーエイチ・チューリッヒの特許一覧

特許7403573低ビットレートのビデオ圧縮のためのマイクロドージング
<>
  • 特許-低ビットレートのビデオ圧縮のためのマイクロドージング 図1
  • 特許-低ビットレートのビデオ圧縮のためのマイクロドージング 図2
  • 特許-低ビットレートのビデオ圧縮のためのマイクロドージング 図3
  • 特許-低ビットレートのビデオ圧縮のためのマイクロドージング 図4
  • 特許-低ビットレートのビデオ圧縮のためのマイクロドージング 図5
  • 特許-低ビットレートのビデオ圧縮のためのマイクロドージング 図6
  • 特許-低ビットレートのビデオ圧縮のためのマイクロドージング 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-14
(45)【発行日】2023-12-22
(54)【発明の名称】低ビットレートのビデオ圧縮のためのマイクロドージング
(51)【国際特許分類】
   H04N 19/85 20140101AFI20231215BHJP
   H04N 19/46 20140101ALI20231215BHJP
【FI】
H04N19/85
H04N19/46
【請求項の数】 16
【外国語出願】
(21)【出願番号】P 2022062154
(22)【出願日】2022-04-01
(65)【公開番号】P2022161862
(43)【公開日】2022-10-21
【審査請求日】2022-07-07
(31)【優先権主張番号】63/172,315
(32)【優先日】2021-04-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/255,280
(32)【優先日】2021-10-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/704,722
(32)【優先日】2022-03-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504399716
【氏名又は名称】ディズニー エンタープライゼス インコーポレイテッド
(73)【特許権者】
【識別番号】506110634
【氏名又は名称】イーティーエイチ・チューリッヒ
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100164448
【弁理士】
【氏名又は名称】山口 雄輔
(72)【発明者】
【氏名】アブデルアジズ デジェロフ
(72)【発明者】
【氏名】レオンハルト マルクス ヘルミンガー
(72)【発明者】
【氏名】ロベルト ジェルソン デ アルバカーキ アゼヴェード
(72)【発明者】
【氏名】スコット ラブロージー
(72)【発明者】
【氏名】クリストファ リヒャルト シュロアーズ
(72)【発明者】
【氏名】ユアンイ シュエ
【審査官】松元 伸次
(56)【参考文献】
【文献】米国特許出願公開第2021/0099731(US,A1)
【文献】Ties van Rozendaal, et al.,Overfitting for Fun and Profit: Instance-Adaptive Data Compression,arxiv.org,Cornell University,2021年01月21日,2101.08687v1,pp.1-6,https://arxiv.org/pdf/2101.08687v1
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00-99/00
H04N19/00-19/98
(57)【特許請求の範囲】
【請求項1】
システム(100)であって、
機械学習(ML)モデルベースビデオエンコーダ(108,208)、および、
劣化認識ブロックに基づくマイクロ残差ネットワーク(マイクロRN)(460)を備えた機械学習(ML)モデルベースビデオデコーダ(138,238,438)であって、前記マイクロ残差ネットワークは、前記マイクロ残差ネットワークの隠れチャンネルの数および劣化認識ブロックの数によって定義される、前記機械学習(ML)モデルベースビデオデコーダを備え、
前記MLモデルベースビデオエンコーダは、
複数のビデオフレームを含む非圧縮ビデオシーケンス(116,216)を受信し、
前記複数のビデオフレームのうちから、第1ビデオフレームサブセットおよび第2ビデオフレームサブセットを決定し、
第1圧縮ビデオフレームサブセットを制作するために、前記第1ビデオフレームサブセットを符号化し、
前記第1圧縮ビデオフレームサブセットのための第1伸張データを識別し、
第2圧縮ビデオフレームサブセットを制作するために、前記第2ビデオフレームサブセットを符号化し、および、
前記第2圧縮ビデオフレームサブセットのための第2伸張データを識別するように構成される、システム。
【請求項2】
請求項1に記載のシステムであって、前記第1伸張データを識別することは、前記第1ビデオフレームサブセットを符号化する間に、前記第1伸張データをオーバーフィットさせることを含み、前記第2ビデオフレームサブセットを符号化する間に、前記第2伸張データをオーバーフィットさせることを含む、システム。
【請求項3】
請求項1に記載のシステムであって
前記MLモデルベースビデオエンコーダは、
前記MLモデルベースビデオデコーダに、前記第1圧縮ビデオフレームサブセット、前記第2圧縮ビデオフレームサブセット、前記第1伸張データ、および前記第2伸張データを送信するように更に構成され、
前記MLモデルベースビデオデコーダは、
前記第1圧縮ビデオフレームサブセット、前記第2圧縮ビデオフレームサブセット、前記第1伸張データ、および前記第2伸張データを受信し、
前記第1伸張データを使用して、前記第1圧縮ビデオフレームサブセットを復号化し、
および、
前記第2伸張データを使用して、前記第2圧縮ビデオフレームサブセットを復号化するように構成される、システム。
【請求項4】
請求項に記載のシステムであって、前記第1伸張データは、前記第1圧縮ビデオフレームサブセットの復号化に固有であるが、前記第2圧縮ビデオフレームサブセットの復号化には固有ではなく、また、前記第2伸張データは、前記第2圧縮ビデオフレームサブセットの復号化に固有であるが、前記第1圧縮ビデオフレームサブセットの復号化には固有ではない、システム。
【請求項5】
請求項に記載のシステムであって、前記第1伸張データおよび前記第2伸張データは前記マイクロRN460の重みのみを含む、システム。
【請求項6】
請求項に記載のシステムであって、前記MLモデルベースビデオエンコーダは高忠実度圧縮(HiFiC)エンコーダを備え、前記MLモデルベースビデオデコーダは、前記第1伸張データおよび前記第2伸張データを使用しないHiFiCデコーダよりも少ないパラメータを含む、システム。
【請求項7】
請求項に記載のシステムであって、前記MLモデルベースビデオエンコーダはHiFiCエンコーダを備え、前記MLモデルベースビデオデコーダは、前記第1伸張データおよび前記第2伸張データを使用しないHiFiCデコーダよりも早い復号時間を達成するように構成される、システム。
【請求項8】
請求項に記載のシステムであって、前記第1圧縮ビデオフレームサブセットを復号化するために、前記第1伸張データが一度だけ受信され、前記第2圧縮ビデオフレームサブセットを復号化するために、前記第2伸張データが一度だけ受信される、システム。
【請求項9】
機械学習(ML)モデルベースビデオエンコーダ、および、劣化認識ブロックに基づくマイクロ残差ネットワーク(マイクロRN)(460)を備えた機械学習(ML)モデルベースビデオデコーダ(138,238,438)であって、前記マイクロ残差ネットワークは、前記マイクロ残差ネットワークの隠れチャンネルの数および劣化認識ブロックの数によって定義される、前記機械学習(ML)モデルベースビデオデコーダを含むシステムによって使用する方法であって、前記方法は、
複数のビデオフレームを含む非圧縮ビデオシーケンスを、前記MLモデルベースビデオエンコーダによって受信するステップと、
前記複数のビデオフレームのうちから、第1ビデオフレームサブセットおよび第2ビデオフレームサブセットを、前記MLモデルベースビデオエンコーダによって決定するステップと、
第1圧縮ビデオフレームサブセットを制作するために、前記第1ビデオフレームサブセットを、前記MLモデルベースビデオエンコーダによって符号化するステップと、
前記第1圧縮ビデオフレームサブセットのための第1伸張データを、前記MLモデルベースビデオエンコーダによって識別するステップと、
第2圧縮ビデオフレームサブセットを制作するために、前記第2ビデオフレームサブセットを、前記MLモデルベースビデオエンコーダによって符号化するステップと、
前記第2圧縮ビデオフレームサブセットのための第2伸張データを、前記MLモデルベースビデオエンコーダによって識別するステップと、を含む、方法。
【請求項10】
請求項に記載の方法であって、前記第1伸張データを識別するステップは、前記第1ビデオフレームサブセットを前記符号化するステップの間に、前記第1伸張データをオーバーフィットさせるステップを含み、前記第2伸張データを識別するステップは、前記第2ビデオフレームサブセットを前記符号化するステップの間に、前記第2伸張データをオーバーフィットさせるステップを含む、方法。
【請求項11】
請求項に記載の方法であって、前記方法は、
前記MLモデルベースビデオデコーダに、第1圧縮ビデオフレームサブセット、第2圧縮ビデオフレームサブセット、第1伸張データ、および第2伸張データを、前記MLモデルベースビデオエンコーダによって送信するステップと、
第1圧縮ビデオフレームサブセット、第2圧縮ビデオフレームサブセット、第1伸張データ、および第2伸張データを、前記MLモデルベースビデオデコーダによって受信するステップと、
前記第1伸張データを使用して、前記第1圧縮ビデオフレームサブセットを、前記MLモデルベースビデオデコーダによって復号化するステップと、
前記第2伸張データを使用して、前記第2圧縮ビデオフレームサブセットを、前記MLモデルベースビデオデコーダによって復号化するステップと、を更に含む、方法。
【請求項12】
請求項11に記載の方法であって、前記第1伸張データは、前記第1圧縮ビデオフレームサブセットの復号化に固有であるが、前記第2圧縮ビデオフレームサブセットの復号化には固有ではなく、また、前記第2伸張データは、前記第2圧縮ビデオフレームサブセットの復号化に固有であるが、前記第1圧縮ビデオフレームサブセットの復号化には固有でない、方法。
【請求項13】
請求項11に記載の方法であって、前記第1伸張データおよび前記第2伸張データは前記マイクロRN460の重みのみを含む、方法。
【請求項14】
請求項11に記載の方法であって、前記MLモデルベースビデオエンコーダは高忠実度圧縮(HiFiC)エンコーダを備え、前記MLモデルベースビデオデコーダは、前記第1伸張データおよび前記第2伸張データを使用しないHiFiCデコーダよりも少ないパラメータを含む、方法。
【請求項15】
請求項11に記載の方法であって、前記MLモデルベースビデオエンコーダはHiFiCエンコーダを備え、前記MLモデルベースビデオデコーダは、前記第1伸張データおよび前記第2伸張データを使用しないHiFiCデコーダよりも早い復号時間を達成するように構成する、方法。
【請求項16】
請求項11に記載の方法であって、前記第1圧縮ビデオフレームサブセットを復号化するために、前記第1伸張データを一度だけ受信し、前記第2圧縮ビデオフレームサブセットを復号化するために、前記第2伸張データを一度だけ受信する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本出願は、2021年4月8日に出願され、「Neural Network Based Video Codecs」と題する仮特許出願シリアル番号63/172,315、および2021年10月13日に出願され、「Microdosing For Low Bitrate Video Compression」と題する仮特許出願シリアル番号63/255,280の利益および優先権を主張するものである。それによって、これらは参照により完全に本出願に組み込まれている。
【背景技術】
【0002】
ビデオコンテンツは、インターネットトラフィック全体の大部分を占めており、空間解像度のフレームレートおよびビデオの色深度が増加し、ストリーミングサービスを採用するユーザが増えるにつれて、さらに増加すると予想される。既存のコーデックは、素晴らしい性能を達成しているが、これ以上小さな改良を加えても将来の需要に対応できないところまで作り込まれている。そのため、ビデオコーディングを実行するための根本的に異なる方法を探求することは、有利にも、性能および柔軟性を改善させた新しいクラスのビデオコーデックにつながる可能性がある。
【0003】
例えば、例として生成的敵対ネットワーク(GAN)の形態のニューラルネットワーク(NN)などのトレーニング済機械学習(ML)モデルを使用してビデオ圧縮を行うことの1つの利点は、そうでなければデータ伝送の点から取得するのにコストがかかるであろう視覚的詳細を、MLモデルに推測可能とさせることである。しかしながら、現在の最先端の提案においては、モデルサイズが依然として重要な問題であり、既存のソリューションでは、複合化の側で大きな計算負荷がかかる。つまり、既存のGANベースの圧縮フレームワークの大きな欠点は、典型的に、それらが大きなデコーダモデルを必要とすることである。大きなデコーダモデルは、時にプライベートなデータセットでトレーニングされることもある。したがって、これらのモデルを元の性能に再トレーニングすることは、一般に不可能である。トレーニングデータが利用可能な場合でも、モデルの再トレーニングは、複雑で時間がかかるであろう。さらに、既存の大きなデコーダモデルは、メモリ要件と推論時間を理由として、特にビデオコーディングの面では実用的ではない。
【図面の簡単な説明】
【0004】
図1】一実装形態による、機械学習(ML)モデルベースビデオコーデックを提供する例示的なシステムのダイヤグラムである。
図2】一実装形態による、ニューラル圧縮に対する既存のアプローチと例示的なマイクロドージング圧縮アプローチと、を比較するダイヤグラムである。
図3】一実装形態による、大きなデコーダを含む既存の高性能コーデックを示す図である。
図4図4Aは、本概念の例示的な一実装形態による、教師役デコーダを使用する小さな生徒役デコーダのトレーニングを描く図である。図4Bは、一実装形態による、図4Aに示す小規模生徒役デコーダでの使用に適した例示的なMLモデルベースデコーディングネットワークを描く図である。
図5】一実装形態による、低ビットレートのビデオ圧縮のためのマイクロドージングを含む知識蒸留(KD)技術を実装するためのビデオ圧縮パイプラインを示す図である。
図6】一実装形態による、低ビットレートのビデオ圧縮のためのマイクロドージングを実行する例示的な方法を概説するフローチャートである。
図7】一実装形態による、図6で概説した方法を拡張するための追加のアクションを説明するフローチャートである。
【発明を実施するための形態】
【0005】
以下の説明は、本開示における実装に関連する特定の情報を含む。当業者は、本開示が、本明細書で具体的に記載されているものとは異なる態様で実装され得ることを認識するであろう。本出願の図面およびそれらに付随する詳細な説明は、単に例示的な実装に向けられている。特に明記しない限り、図中の同様のまたは対応する要素は、同様のまたは対応する参照符号によって示すことができる。さらに、本出願の図面およびイラストレーションは、概して、縮尺通りではなく、実際の相対的な寸法に対応することを意図していない。
【0006】
本出願は、機械学習(ML)モデルベースビデオコーデックを提供するためのシステムおよび方法に向けられている。さらに、本出願は、デコーダのサイズを縮小しながら、良好な知覚画像品質を保持することを可能にする知識蒸留(KD)アプローチを開示する。本発明の新規かつ発明的な原理によれば、KDの目標は、教師役ネットワークの学習された知識を、教師役ネットワークの性能に対して競争力を維持する、より小さな生徒役ネットワークに転送することである。必要とするのが、最初の教師役ネットワークよりも少ないメモリと計算能力であることによって、生徒役ネットワークを、例えば、携帯電話または専用デバイスなどのパワーの劣るデバイス上で動かすことができる。本明細書において開示されるように、自動エンコーダ設定においてジェネレータネットワークまたはデコーダを圧縮する能力は、メモリ要件および計算効率の両方の点において有利である。これは、複合化が単純であるべきとしつつ、計算の大部分はセンダ(エンコーダ)側で実行されることが好適である画像およびビデオ圧縮にとって、特に重要である。特にビデオストリーミングの場合、アセットは、典型的に、配信のために1回符号化され、しかしながら何百万回も複合化される場合がある。
【0007】
例えば人工ニューラルネットワーク(NN)などのトレーニング済機械学習モデルを使用してビデオ圧縮を行うことの1つの利点は、そうでなければデータ転送の点から取得するのにコストがかかるであろう視覚的詳細を、機械学習モデルが推論可能とさせることである。したがって、結果として生じる画像は、典型的に、高いビットレートを必要とせずに、視覚的に心地よい。機械学習モデルベースビデオコーデックを使用して合成された画像の細部は、現実的に見えることができるが、一方でグランドトゥルースからわずかに逸脱する場合がある。それにもかかわらず、本機械学習モデルベースのビデオ圧縮ソリューションは、従来のアプローチにおいて同じ量の送信データを使用して不可能であるような画質を提供可能である。さらに、いくつかの実装形態において、本機械学習モデルベースのソリューションは、実質的に自動化されたシステムおよび方法として実装することができる。
【0008】
本出願で使用される場合、用語「自動化」、「自動化された」、および「自動化する」は、人間の編集者またはシステム管理者のような人間のユーザの参加を必要としないシステムおよびプロセスを指すことに留意されたい。いくつかの実装形態においては、人間のシステム管理者が、本明細書に記載の自動化されたプロセスに従って動作する自動化されたシステムの性能をレビューすることができる。しかしながら、その人間の関与は任意選択である。したがって、本出願に記載されるプロセスは、開示されるシステムのハードウェア処理コンポーネントの制御下で、実行することができる。
【0009】
さらに、本出願で定義されるように、「機械学習モデル」(以下「MLモデル」)という表現は、トレーニングデータとして知られる信頼される既知のマッチおよび既知のミスマッチのセットから得られるデータのサンプルから学習されたパターンに基づいて将来の予測を行うための数学的モデルを指すことに留意されたい。入力データと出力データとの間の相関関係をマッピングするために、多様な学習アルゴリズムを使用できる。これらの相関関係は、新しい入力データに対して将来の予測を行うために使用できる数学的モデルを形成する。このような予測モデルは、例えば、1つまたは複数のロジスティック回帰モデル、ベイジアンモデル、またはNNを含むことができる。さらに、機械学習モデルは、特定のタスクの機械学習モデルの性能を徐々に向上させるように設計することができる。
【0010】
ディープラーニングの文脈における「ディープニューラルネットワーク」(deep NN)は、入力層と出力層の間の複数の隠れ層を利用するNNを指すことができる。隠れ層によって、生データにおいて明示的に定義されていない特徴に基づく学習ができるようになる。本出願で使用される場合、NNと付された特徴は、ディープニューラルネットワークを指す。多様な実装形態において、NNは、画像処理または自然言語処理を実行するために利用できる。本発明の新規かつ発明的な原理は、生成的敵対ネットワーク(GAN)として知られる例示的なNNクラスを参照することによって以下に説明される。しかしながら、その特徴付けは、単に概念を明確にするために提供されるものである。
【0011】
図1は、一実装態様による、機械学習(ML)モデルベースのビデオ圧縮を実行するための例示的なシステムを示す。図1に示すように、システム100は、処理ハードウェア104と、コンピュータが読み取り可能な非一時的記憶媒体として実装されたシステムメモリ106と、を有するコンピューティングプラットフォーム102を含む。この例示的な実装形態によれば、システムメモリ106は、非圧縮ビデオシーケンス116およびMLモデルベースビデオエンコーダ108を格納する。
【0012】
図1に更に示すように、システム100は、通信ネットワーク110と、ユーザ114による使用のために構成されたユーザシステム120と、を含む使用環境内部に実装されている。ユーザシステム120は、ディスプレイ122と、ユーザシステムの処理ハードウェア124と、コンピュータが読み取り可能な非一時的記憶媒体として実装されてMLモデルベースビデオデコーダ128を格納するユーザシステムメモリ126と、を含む。さらに、図1は、通信ネットワーク110を介してユーザシステム120をシステム100とインタラクティブに接続するネットワーク通信リンク112と、MLモデルベースビデオエンコーダ108によって出力されて非圧縮ビデオシーケンス116に対応する、圧縮ビデオビットストリーム118と、を示す。
【0013】
本出願では、概念を明確にするために、MLモデルベースビデオエンコーダ108がシステムメモリ106に格納されていると言及する。しかしながら、より一般的には、システムメモリ106は、任意のコンピュータが読み取り可能な非一時的記憶媒体の形態をとることができる。本出願で使用される「コンピュータが読み取り可能な非一時的記憶媒体」という表現は、コンピューティングプラットフォーム102の処理ハードウェア104に命令を供給する搬送波または他の一時的な信号を除く、任意の媒体を指す。したがって、コンピュータが読み取り可能な非一時的記憶媒体は、例えば、揮発性媒体および不揮発性媒体などの多様な種類の媒体に対応することができる。揮発性媒体は、ダイナミックランダムアクセスメモリ(ダイナミックRAM)などの動的メモリを含むことができる。一方で、不揮発性メモリは、光学、磁気、または静電記憶デバイスを含むことができる。コンピュータが読み取り可能な非一時的記憶媒体の一般的な形態には、例えば、光ディスク、RAM、プログラマブルリードオンリーメモリ(PROM)、消去可能なPROM(EPROM)、およびフラッシュメモリが含まれる。
【0014】
さらに、図1は、MLモデルベースビデオエンコーダ108を、その全体がシステムメモリ106に格納されるものとして描いている。しかしながら、その表現も、単に概念的に明確にするための補助として提供されているに過ぎない。より一般的には、システム100は、例えばコンピュータサーバなどの1つまたは複数のコンピューティングプラットフォーム102を含むことができる。これらは、コロケーテッド(co-located)していてもよく、または、例えばクラウドベースのシステムのような、インタラクティブにリンクされているが分散されたシステムを形成してもよい。その結果、処理ハードウェア104およびシステムメモリ106は、システム100内部の分散されたプロセッサおよびメモリリソースに対応することができる。したがって、いくつかの実装形態において、MLモデルベースビデオエンコーダ108の1つまたは複数の機能を、システム100の分散されたメモリリソース上に相互に遠隔で格納することができる。
【0015】
処理ハードウェア104は、例えば、1つまたは複数の中央処理ユニット、1つまたは複数のグラフィックス処理ユニットおよび1つまたは複数のテンソル処理ユニットなどの複数のハードウェア処理ユニット、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGAs)、機械学習トレーニングまたは推論用のカスタムハードウェア、ならびにアプリケーションプログラミングインターフェイス(API)サーバを含むことができる。定義により、本出願で使用される場合、用語「中央処理ユニット」(CPU)、「グラフィックス処理ユニット」(GPU)、および「テンソル処理ユニット」(TPU)は、当該技術分野における慣習的な意味を有する。すなわち、CPUは、コンピューティングプラットフォーム102の算術演算および論理演算を実行するための算術論理ユニット(ALU)と、MLモデルベースビデオエンコーダ108などのプログラムをシステムメモリ106から取り出すためのコントロールユニット(CU)と、を含む。一方、GPUは、計算集約的なグラフィックスまたは他の処理タスクを実行することによって、CPUの処理のオーバーヘッドを低減するために実装することができる。TPUは、機械学習のような人工知能(AI)処理のために特別に構成された特定用途向け集積回路(ASIC)である。
【0016】
いくつかの実装形態において、コンピューティングプラットフォーム102は、例えば、インターネットなどのパケット交換ネットワークの形態である通信ネットワーク110を介してアクセス可能な、1つまたは複数のウェブサーバに対応することができる。さらに、いくつかの実装形態では、通信ネットワーク110は、例えば10GigEネットワークまたはインフィニバンド(登録商標)ネットワークのような、ハイパフォーマンスコンピューティング(HPC)に適した高速ネットワークとすることができる。いくつかの実装形態では、コンピューティングプラットフォーム102は、私的な広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)をサポートする1つまたは複数のコンピュータサーバに、または別のタイプの限定された配信または私的なネットワークに含まれる1つまたは複数のコンピュータサーバに、対応することができる。さらに別の代替案として、いくつかの実装形態では、システム100は、データセンター内など、仮想的に実装されてもよい。例えば、いくつかの実装形態では、システム100は、ソフトウェアにおいて、または仮想マシンとして、実装されてもよい。
【0017】
図1によって示される実装形態によれば、ユーザ114は、通信ネットワーク110を介してシステム100とインターアクト(interact)するためにユーザシステム120を利用できる。ユーザシステム120および通信ネットワーク110は、ユーザ114がシステム100から非圧縮ビデオシーケンス116に対応する圧縮ビデオビットストリーム118を取得することを可能にする。
【0018】
ユーザシステム120は、図1ではデスクトップコンピュータとして示されている。しかしながら、その表現は単に例として提供されているに過ぎない。より一般的には、ユーザシステム120は、ユーザインターフェイスを提供し、通信ネットワーク110への接続をサポートし、本明細書においてユーザシステム120に帰属する機能を実装するのに十分なデータ処理能力を実装する任意の適切なモバイル型または据え付け型コンピューティング装置またはシステムとすることができる。例えば、いくつかの実装形態では、ユーザシステム120は、例えばラップトップコンピュータ、タブレットコンピュータ、スマートフォン、またはゲームコンソールの形態をとることができる。しかしながら、他の実装形態では、ユーザシステム120は、ユーザ114が、キーボードまたは他の入力デバイスを介して入力を提供すること、およびディスプレイ122を介してビデオコンテンツを提供することを可能にする、システム100の「ダム端末」周辺構成要素であってもよい。それらの実装形態では、ユーザシステム120およびディスプレイ122は、システム100の処理ハードウェア104によって制御できる。
【0019】
ユーザシステム120のディスプレイ122に関して、ディスプレイ122は、ユーザシステム120と物理的に一体化されてもよく、またはユーザシステム120と通信可能に結合されているが物理的に分離されていてもよい。例えば、ユーザシステム120が、スマートフォン、ラップトップコンピュータ、またはタブレットコンピュータとして実装される場合、ディスプレイ122は、典型的には、ユーザシステム120と一体化される。対照的に、ユーザシステム120がデスクトップコンピュータとして実装される場合、ディスプレイ122は、コンピュータータワーの形態でユーザシステム120から分離されたモニタの形態をとることができる。さらに、ディスプレイ122は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、量子ドット(QD)ディスプレイ、または信号を光に物理変換する任意の他の適切なディスプレイ技術を使用するディスプレイとすることができる。
【0020】
【0021】
画像圧縮は、形式的に、ビットストリームの予想長、および原画と比較して再構成された画像の予想歪みを最小化することと表現できて、以下のレート‐歪み目的関数を最適化するものとして定式化される。
【数1】
【0022】
【0023】
【0024】
識別器のトレーニングは、画像圧縮MLモデル232のトレーニングと交互に行われる。この場合、敵対的損失(adversarial loss)で増強されたレート‐歪み目標が最適化される。
【数3】
【0025】
ビデオ符号化における時間的冗長性を利用するために、ビデオ圧縮は、動き補償による情報伝達に依拠する。より正確には、後続のフレームxt+1は、動き情報を考慮してその先行するフレームxから予測できる。本出願で定義されるように、「動き補償」という表現は、動きベクトルを計算し符号化する完全なプロセス、ならびに発生し得るあらゆる後処理を指す。簡単にするために、動き補償が完了したと仮定し、その結果は、
の推定値および
である。
【0026】
低ビットレートの圧縮のためのマイクロドージング
図2は、ニューラル圧縮に対する既存のアプローチ232を、本出願によって紹介されるマイクロドージング圧縮アプローチ234と比較するダイヤグラム230である。本マイクロドージング圧縮アプローチ234は、以下に基づいている。1)大きなデコーダから生成されたデータで、縮小された生徒役デコーダをトレーニングする、2)縮小された生徒役デコーダモデルを、特定の画像または画像のセットにオーバーフィットさせる、3)特化されたデコーダの重みを、画像の潜在と一緒に、伸張データ236として送信する。本マイクロドージング圧縮アプローチの実現性を示すために、低ビットレート設定をターゲットとする、ニューラル画像およびビデオ圧縮のための最先端モデルへのその組み込みを説明する。
【0027】
第一に、高忠実度圧縮(High-Fidelity Compression:HiFiC)デコーダまたは他の高性能デコーダは、はるかにより小さな生徒役デコーダで置き換えられる。HiFiCは、現在、低ビットレートのニューラル画像圧縮(すなわち、ピクセルあたり約0.15ビット)での最先端技術を提供し、比較的大きな(すなわち、約1億5600万パラメータ)デコーダネットワークを代償として、極めて競争力のある結果を制作することに留意されたい。既存のアプローチ232において、HiFiCアーキテクチャが利用されることが示されている。しかしながら、その表現は単に例示的なものである。他の実装形態では、既存のアプローチ232のHiFiCエンコーダ‐デコーダネットワークは、残差ブロックに基づく同様のアーキテクチャを有する実質的に任意のGANトレーニング済ネットワークによって置換することができる。
【0028】
既存のアプローチ232とは対照的に、本出願によって開示されるマイクロドージング圧縮アプローチ234は、有利にも、HiFiCによって提供されるものと視覚的に同様の出力画像を制作しながら、はるかにより小さなデコーダ(例えば、約800万パラメータ)および50パーセント(50%)速い復号時間を可能にする。第二に、潜在残差に基づくニューラルビデオ圧縮フレームワークにおける、本マイクロドージングKD戦略の適用を説明する。このようなシナリオでは、シーケンスに特化したデコーダを提供できるように、縮小された生徒役デコーダをシーケンスにオーバーフィットさせる。
【0029】
図2に示すように、既存のニューラル圧縮アプローチ232によれば、エンコーダ‐デコーダのペアは、多様な異なるコンテンツ上で全体的に良好な性能を得るために、大きなデータセット上でトレーニングされる。オートエンコーダが完全にトレーニングされると、デコーダが配置され、レシーバに送られる。そして、大きなデコーダは、あらゆるタイプのコンテンツの復号化を可能にする。
【0030】
対照的に、本マイクロドージングアプローチ234によれば、MLモデルベースビデオエンコーダ208は、非圧縮ビデオシーケンス216のデータを、サブセットSに分割し、各サブセットに対する対応情報θSiを有するコンテンツ固有のデコーダを学習するよう構成される。この特化により、有利にも、より少ないパラメータ、より少ないメモリフットプリントを必要とし、より少ない計算を使用するMLモデルベースビデオデコーダ238のトレーニングが可能となる。MLモデルベースビデオエンコーダ208、非圧縮ビデオシーケンス216、およびMLモデルベースビデオデコーダ238は、それぞれ、図1におけるMLモデルベースビデオエンコーダ108、非圧縮ビデオシーケンス116、およびMLモデルベースビデオデコーダ138に概して対応することに留意されたい。したがって、MLモデルベースビデオエンコーダ108、非圧縮ビデオシーケンス116、およびMLモデルベースビデオデコーダ138は、本開示によって、MLモデルベースビデオエンコーダ208、非圧縮ビデオシーケンス216、およびMLモデルベースビデオデコーダ238の各々に帰着する特徴のいずれかを共有できて、その逆も同様とすることができる。
【0031】
MLモデルベースビデオデコーダ238が完全にトレーニングされ、サブセットに対するMLモデルベースビデオエンコーダ108の再構成品質要件が満たされると、コンテンツ固有の情報(例えば、伸張データ236)をサブセットと一緒に格納することができる。MLモデルベースビデオデコーダ238が
を復号化したい場合、重みの形態のサブセット固有の伸張データθSiは、サブセットごとに1回だけ送信されなければならない。本マイクロドージングKDアプローチをGANでの画像圧縮に適用し、潜在空間残差を使用するビデオ圧縮に対してそれを拡張する手順について、以下に説明する。
【0032】
図3は、従来のHiFiCアーキテクチャ340を示す。そのデコーダ348は、3つのサブネットに分割できる。すなわち、約200万(2M)パラメータを含むヘッド342、約149Mパラメータを含む残差ネットワーク(res_blocks)344、および約5.5Mパラメータを含むテール346である。HiFiCアーキテクチャ340を使用して処理された画像の粗情報は、潜在空間に保存され、テクスチャのハルシネーション(hallucination)は、デコーダ348のres_blocks344によって生成されることに留意されたい。特に、res_blocks344のサイズは、モデルが大きなプライベート(private)データセットで訓練されたことに起因しており、したがって、トレーニング中に見られるすべてのテクスチャをキャプチャするために、このような大きなサイズが必要である。
【0033】
しかしながら、どの画像を圧縮すべきかが予め分かっている場合(例えば、同様の特徴を有するビデオシーケンスのフレーム)、符号化中にそのデータにオーバーフィットし、それらの画像(すなわち、伸張データ236)を適切に復号化するために必要な重みのみを送信することが可能である。それは、本願に開示され、図4Aおよび図4Bを参照して説明されるNNアーキテクチャを使用して実装されるものである。
【0034】
図4Aおよび図4Bによって示される例示的な実装形態によれば、生徒役デコーダ438のサイズは、画像の特定のサブセットについて、図3のres_block344の挙動を模倣する、より小さなサブネットワーク、マイクロ残差ネットワーク(マイクロ‐RN)460をトレーニングし、それによって生徒役デコーダ438のハルシネーション能力(hallucination capability)をマイクロドージングすることによって、教師役デコーダ452のサイズに対して著しく低減される。上述のように、HiFiCアーキテクチャの代替として、いくつかの実装形態において、本発明の新規かつ発明的な原理は、残差ブロックに基づく同様のアーキテクチャを有する実質的に任意のGANトレーニング済ネットワークに適用できる。そのようなGANトレーニング済ネットワークの実装形態では、GANトレーニング済ネットワークデコーダの残差ブロック部分は、マイクロ‐RN460によって置き換えることができる。生徒役デコーダ438は、図1および図2における、MLモデルベースビデオデコーダ138および238に概して対応し、それらの対応する特徴は、いずれかの対応する特徴に帰着する特徴のいずれかを、本開示で共有し得ることに、さらに留意されたい。すなわち、生徒役デコーダ438のように、MLモデルベースビデオデコーダ138および238は、マイクロ‐RN460を含むことができる。
【0035】
図4Bに示す例示的な実装形態によれば、マイクロ‐RN460は、当該技術分野で既知の、劣化認識(degradation aware:DA)ブロックに基づく。DAブロックを利用する既存の方法は、劣化ベクトルに従って重みを操縦するために、典型的に、カーネル予測ネットワークを利用する。しかしながら、一方で、本実装形態は、サブセットSごとに異なる重みのセットθSiを利用する。マイクロ‐RN460は、2つのパラメータで定義される。すなわち、隠れチャンネルの数であるCh、およびDAブロックの数であるB、である。一実装形態において、3×3の畳み込みを使用できる。図4Bを参照すると、DConvは深さ方向の畳み込みを表す。マイクロ‐RN460は、図4Aに示す教師‐生徒アーキテクチャでトレーニングされ、一方、生徒役デコーダ438(以下「MLモデルベースビデオデコーダ438」)のヘッド456およびテール458は、教師役デコーダ452から事前にトレーニングされ、借用される。
【0036】
【0037】
ニューラルビデオ圧縮シナリオにおけるKDの適用を示すために、図5のネットワーク570のようなネットワークを使用することができる。図5に示すように、ネットワーク570は、2つの部分を含む。すなわち、フレーム予測ネットワーク(FPN)572および潜在残差ネットワーク(Latent Residual Network:LRN)574である。符号化されるべきフレーム(グループオブピクチャ、またはGOP)のシーケンスx、…、xGOPが与えられ、xはキーフレーム(I‐フレーム)であり、x、…、xGOPは予測フレーム(P‐フレーム)である場合、シーケンスの圧縮は以下のように動作することができる。
【0038】
【0039】
【0040】
低ビットレート設定において、HiFiCは、上記の潜在空間残差フレームワークとともに使用できるニューラル画像圧縮アーキテクチャに対する、適切な選択肢であると思われる。しかしながら、上述のように、HiFiCデコーダのサイズが、制限要因である。さらに、毎秒、約30フレーム(30fps)の復号化フレームレートを維持することが必要であることの多いビデオでは、推論時間がクリティカルとなる可能性がある。本出願に開示されるマイクロドージングのソリューションは、有利にも、推論時間を短縮しながら計算効率を高めることによって、最先端技術を進歩させるものである。符号化の間、本ソリューションは、特定のシーケンスに対してオーバーフィットされる。その結果、そのシーケンスの全てのフレームについて、θSiは1回だけ送信される必要がある。そして、本発明の新規かつ発明的な復号化プロセスは、MLモデルベースビデオデコーダ438上でシーケンス固有のマイクロ‐RN重みを受信してロードすることによって進行し、そのシーケンスの復号化の間に固定される。本マイクロドージングのソリューションによって課されるのが、小さな計算オーバーヘッドであることの結果として、復号時間は、有利にも、より大きな、より遅い既存のデコーダと同様のビジュアルを達成しながら、50%削減することができる。
【0041】
図2図3図4A図4B、および図5を参照して上述したマイクロドージングアプローチによる知識蒸留を、図6および図7を参照して更に説明する。図6は、一実装形態による、低ビットレートのビデオ圧縮のためのマイクロドージングを実行する例示的な方法を提示するフローチャート680を示す。一方、図7は、図6で概説された方法を拡張するための追加のアクションを説明するフローチャート790を示す。図6および図7に記載されるアクションに関して、本出願における発明的特徴の議論を不明瞭にしないために、特定の詳細および特徴がフローチャート680および790から省かれていることに留意されたい。
【0042】
ここで図6図1および図2と組み合わせて参照すると、フローチャート680は、複数のビデオフレームを含む非圧縮ビデオシーケンス116/216を受信すること(アクション681)を含む。図2に示すように、非圧縮ビデオシーケンス116/216は、MLモデルベースビデオエンコーダ108/208によってアクション681で受信することができる。さらに、また図1を参照して上述したように、MLモデルベースビデオエンコーダ108/208は、システムメモリ106に格納することができる。したがって、非圧縮ビデオシーケンス116/216は、システム100の104の処理ハードウェアによって実行されるMLモデルベースビデオエンコーダ108/208によって、アクション681で受信することができる。
【0043】
フローチャート680は、複数のビデオフレームのうちから、第1ビデオフレームサブセットおよび第2ビデオフレームサブセットを決定すること(アクション682)を、更に含む。いくつかの実装形態では、アクション682における、第1ビデオフレームサブセットおよび第2ビデオフレームサブセットの決定は、非圧縮ビデオシーケンス116/219に含まれるビデオフレーム間の類似性および非類似性に基づくことができる。換言すると、いくつかの実装形態では、アクション682において決定される第1ビデオフレームサブセットは、互いに視覚的に類似するビデオフレームを含むことができる。一方、第2ビデオフレームサブセットは、第1ビデオフレームサブセットに含まれるビデオフレームよりも、互いにより視覚的に類似する他のビデオフレームを含むことができる。引き続き図1および図2を組み合わせて参照すると、アクション682における第1ビデオフレームサブセットおよび第2ビデオフレームサブセットの決定は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオエンコーダ108/208によって実行することができる。
【0044】
フローチャート680は、第1圧縮ビデオフレームサブセットSを制作するために、アクション682において決定された第1ビデオフレームサブセットを符号化すること(アクション683)を、更に含む。上述のように、アクション683における、第1圧縮ビデオフレームサブセットSを生成するための第1ビデオフレームサブセットの符号化は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオエンコーダ108/208によって実行することができる。
【0045】
フローチャート680は、第1圧縮ビデオフレームサブセットSのための第1伸張データθS1を識別すること(アクション684)を、更に含む。いくつかの実装形態では、第1伸張データθS1を識別することは、アクション683における第1ビデオフレームサブセットの符号化の間に、第1伸張データθS1をオーバーフィットさせることを含む。すなわち、いくつかの実装形態では、アクション684における第1伸張データθS1の識別は、アクション682における、第1圧縮ビデオフレームサブセットSを生成するための第1ビデオフレームサブセットの符号化と並行して、すなわち、実質的に同時に実行されてもよい。上述のように、アクション684における、第1圧縮ビデオフレームサブセットSのための第1伸張データθS1の識別は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオエンコーダ108/208によって実行することができる。
【0046】
フローチャート680は、第2圧縮ビデオフレームサブセットSを制作するために、アクション682において決定された第2ビデオフレームサブセットを符号化すること(アクション685)を、更に含む。上述のように、アクション685における、第2圧縮ビデオフレームサブセットSを生成するための第2ビデオフレームサブセットの符号化は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオエンコーダ108/208によって実行することができる。
【0047】
フローチャート680は、第2圧縮ビデオフレームサブセットSのための第2伸張データθS2を識別すること(アクション686)を、更に含む。いくつかの実装形態では、第2伸張データθS2を識別することは、アクション685における第2ビデオフレームサブセットの符号化の間に、第2伸張データθS2をオーバーフィットさせることを含む。すなわち、いくつかの実装形態では、アクション686における第2伸張データθS2の識別は、アクション685における、第2圧縮ビデオフレームサブセットSを生成するための第2ビデオフレームサブセットの符号化と並行して、すなわち、実質的に同時に実行されてもよい。上述のように、アクション686における、第2圧縮ビデオフレームサブセットSのための第2伸張データθS2の識別は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオエンコーダ108/208によって実行することができる。
【0048】
第1および第2伸張データθS1、θS2に関して、それらのデータは、それらが伴う圧縮ビデオフレームサブセットのそれぞれに固有であることに留意されたい。したがって、第1伸張データθS1は、第1圧縮ビデオフレームサブセットSの復号化に固有であるが、第2圧縮ビデオフレームサブセットSの復号化には固有ではない。そして、第2伸張データθS2は、第2圧縮ビデオフレームサブセットSの復号化に固有であるが、第1圧縮ビデオフレームサブセットSの復号化には固有ではない。
【0049】
フローチャート680は、アクション683および684に続くものとしてアクション685および686を描いている。しかしながら、その表現は単に例として提供されているに過ぎないことに更に留意されたい。いくつかの他の実装形態では、アクション683および685は、アクション684および686の前に並行して実行されてよく、いくつかの実装形態では、それらが並行して実行されてもよい。したがって、いくつかの実装形態では、アクション683および684は、アクション685および686と並行して実行されてもよい。
【0050】
いくつかの実装形態において、フローチャート680によって概説される方法は、アクション686で終了することができる。しかしながら、他の実装形態では、その方法は、図7のフローチャート790によって説明される1つまたは複数のアクションによって拡張されてもよい。ここで図1および図2と組み合わせて図7を参照すると、フローチャート790は、MLモデルベースビデオデコーダ138/238/438に、第1圧縮ビデオフレームサブセットS、第2圧縮ビデオフレームサブセットS、第1伸張データθS1、および第2伸張データθS2を送信すること(アクション791)を含む。図2に示すように、第1圧縮ビデオフレームサブセットS、第2圧縮ビデオフレームサブセットS、第1伸張データθS1、および第2伸張データθS2は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオエンコーダ108/208によって、通信ネットワーク110およびネットワーク通信リンク112を介して、アクション791において、MLモデルベースビデオデコーダ138/238/438に送信することができる。
【0051】
フローチャート790は、第1圧縮ビデオフレームサブセットS、第2圧縮ビデオフレームサブセットS、第1伸張データθS1、および第2伸張データθS2を受信すること(アクション792)を、更に含む。図2に示すように、第1圧縮ビデオフレームサブセットS、第2圧縮ビデオフレームサブセットS、第1伸張データθS1、および第2伸張データθS2は、アクション792において、MLモデルベースビデオデコーダ138/238/438によって受信することができる。いくつかの実装形態では、MLモデルベースビデオデコーダは、ユーザシステムの処理ハードウェア124によって実行することができる。しかしながら、また図1を参照して上述したように、いくつかの実装形態では、ユーザシステム120は、システム100のダム端末周辺構成要素であってもよい。それらの後者の実装形態では、MLモデルベースビデオデコーダ138/238/438は、システム100の機能として含まれ、アクション792を実行するために、システム100の処理ハードウェア104によって実行することができる。
【0052】
フローチャート790は、第1伸張データθS1を使用して第1圧縮ビデオフレームサブセットSを復号化すること(アクション793)を、更に含む。上述のように、アクション793における、第1伸張データθS1を使用して第1圧縮ビデオフレームサブセットSを復号化することは、ユーザシステムの処理ハードウェア124によって、またはシステム100の処理ハードウェア104によって実行されるMLモデルベースビデオデコーダ138/238/438によって実行することができる。
【0053】
いくつかの実装形態では、上述のように、MLモデルベースビデオデコーダ138/238/438は、例えばマイクロRNなどのNNを含むことができる。MLモデルベースビデオデコーダ138/238/438がマイクロRNを含む実装形態では、第1伸張データθS1は、第1圧縮ビデオフレームサブセットSを復号化する際に使用する、そのマイクロRNの重みのみを含むことができる。さらに、いくつかの実装形態では、第1圧縮ビデオフレームサブセットSをその全体で復号化するために、第1伸張データθS1を一度だけ受信することができる。
【0054】
フローチャート790は、第2伸張データθS2を使用して第2圧縮ビデオフレームサブセットSを復号化すること(アクション794)を、更に含む。上述のように、アクション794における、第2伸張データθS2を使用して第2圧縮ビデオフレームサブセットSを復号化することは、ユーザシステムの処理ハードウェア124によって、またはシステム100の処理ハードウェア104によって実行されるMLモデルベースビデオデコーダ138/238/438によって実行することができる。
【0055】
MLモデルベースビデオデコーダ138/238/438がマイクロRNを含む実装形態では、第2伸張データθS2は、第2圧縮ビデオフレームサブセットSを復号化する際に使用する、そのマイクロRNの重みのみを含むことができる。さらに、いくつかの実装形態では、第2圧縮ビデオフレームサブセットSをその全体で復号化するために、第2伸張データθS2を一度だけ受信することができる。
【0056】
フローチャート790は、アクション793に続くものとしてアクション794を描いている。しかしながら、その表現は単に例として提供されているに過ぎないことに留意されたい。いくつかの実装形態では、アクション793における、第1伸張データθS1を使用する第1圧縮ビデオフレームサブセットSの復号化、およびアクション794における、第2伸張データθS2を使用する第2圧縮ビデオフレームサブセットSの復号化は、並行して、すなわち、実質的に同時に実行されてもよい。
【0057】
MLモデルベースビデオエンコーダ108/208とMLモデルベースビデオデコーダ138/238/438との組み合わせについて、以下に留意されたい。MLモデルベースビデオエンコーダ108/208は、HiFiCエンコーダとして実装することができる。一方、MLモデルベースビデオデコーダ138/238/438は、例えば10倍少ないパラメータのような、HiFiCデコーダ、すなわち第1伸張データθS1および第2伸張データθS2を使用しない大きなデコーダよりも少ないパラメータを有するように構成される。さらに、MLモデルベースビデオデコーダ138/238/438は、HiFiCデコーダ、すなわち第1伸張データθS1および第2伸張データθS2を使用しない大きなデコーダよりも、例えば50パーセント(50%)速い復号時間などである、より速い復号時間を達成するように構成することができる。
【0058】
図6および図7に記載されたアクションに関して、多様な実装形態において、フローチャート680のアクション681、682、683、684、685、および686(以下「アクション681~686」)、またはアクション681~686およびフローチャート790のアクション791、またはアクション681~686、791、792、793、および794は、人間の参加を省略できる自動化された処理として、実行できることに留意されたい。
【0059】
したがって、本出願は、知識蒸留(KD)およびマイクロドージングに基づくMLモデルベースのビデオ圧縮ソリューションを含むフレームワークを開示し、低ビットレートのビデオ圧縮をターゲットとする場合に特に重要なトレーニング済GANと同様のハルシネーション能力を有するビデオ圧縮コーデックの使用を可能にするものである。さらに、本出願は、デコーダのサイズを縮小しながら、良好な知覚画像品質を保持することを可能にするアプローチを開示する。本発明の新規かつ発明的な原理によれば、KDの目標は、教師役ネットワークの学習された知識を、教師役ネットワークの性能に対して競争力を維持する、より小さな生徒役ネットワークに転送することである。必要とするのが、最初の教師役ネットワークよりも少ないメモリと計算能力であることによって、生徒役ネットワークを、有利にも、携帯電話または専用デバイスなどのパワーの劣るデバイス上で動かすことができる。上記に開示したように、自動エンコーダ設定において、生成器ネットワークまたはデコーダを圧縮する能力は、メモリ要件と計算効率の両方において有利である。
【0060】
以上の説明から、本出願に記載の概念を実施するために、それらの概念の範囲から逸脱することなく、様々な技術を使用可能であることが明らかである。さらに、特定の実装形態を具体的に参照して概念を説明してきたが、当業者は、それらの概念の範囲から逸脱することなく、形態および詳細に変更を行うことができることを認識するであろう。それ故、説明されている実装形態は、あらゆる点で例示的であり、制限的ではないとみなされる。また、本出願は、本明細書に記載の特定の実装形態に限定されず、本開示の範囲から逸脱することなく多くの再構成、修正、および置換が可能であることも理解されたい。
図1
図2
図3
図4
図5
図6
図7