(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】低変位ランクベースのディープニューラルネットワーク圧縮
(51)【国際特許分類】
H04N 19/70 20140101AFI20241022BHJP
G06N 3/082 20230101ALI20241022BHJP
【FI】
H04N19/70
G06N3/082
(21)【出願番号】P 2021548231
(86)(22)【出願日】2020-03-13
(86)【国際出願番号】 US2020022585
(87)【国際公開番号】W WO2020190696
(87)【国際公開日】2020-09-24
【審査請求日】2023-03-02
(32)【優先日】2019-03-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518338149
【氏名又は名称】インターデジタル ヴイシー ホールディングス, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ラケイプ,ファビアン
(72)【発明者】
【氏名】ジェイン,スワヤンブー
(72)【発明者】
【氏名】アミディ-ラッド,シャハブ
(72)【発明者】
【氏名】パパディミトリウ,ディミトリス
【審査官】久保 光宏
(56)【参考文献】
【文献】国際公開第2016/199330(WO,A1)
【文献】特開2019-28746(JP,A)
【文献】国際公開第2019/008752(WO,A1)
【文献】米国特許出願公開第2018/0239992(US,A1)
【文献】"Use cases and requirements for compressed representation of neural networks",N17740,[online], ISO/IEC JTC1/SC29/WG11,2018年07月20日,Pages 1-4,[令和6年1月15日検索], インターネット, <URL: https://www.mpeg.org/wp-content/uploads/mpeg_meetings/123_Ljubljana/w17740.zip> and <URL: https://www.mpeg.org/standards/Explorations/29/>.,(See document file "w17740.docx" in the zip file "w17740.zip".)
【文献】長尾 真(外7名)編,「岩波情報科学辞典」,第1刷,日本,株式会社岩波書店,1990年05月25日,第590頁,ISBN: 4-00-080074-4.
【文献】VICTOR Y. PAN, et al.,"INVERSION OF DISPLACEMENT OPERATORS",SIAM J. MATRIX ANAL. APPL.,Vol.24, No.3,[online], Society for Industrial and Applied Mathematics,2003年01月23日,Pages 660-677,[令和6年1月14日検索], インターネット, <URL: http://comet.lehman.cuny.edu/vpan/pdf/38627.pdf>.
【文献】Liang Zhao, et al.,"Theoretical Properties for Neural Networks with Weight Matrices of Low Displacement Rank",arXiv:1703.00144v4,version v4,[online], arXiv (Cornell University),2017年09月22日,Pages 1-13,[令和6年1月14日検索], インターネット, <URL: https://arxiv.org/abs/1703.00144v4> and <URL: https://arxiv.org/pdf/1703.00144v4.pdf>.
【文献】Zhiyun Lu, et al.,"LEARNING COMPACT RECURRENT NEURAL NETWORKS",Proceedings of 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP 2016),IEEE,2016年03月25日,Pages 5960-5964,ISBN: 978-1-4799-9988-0, <DOI: 10.1109/ICASSP.2016.7472821>.
【文献】武井 宏将,「初めてのディープラーニング オープンソース"Caffe"による演習付き」,第1版,日本,株式会社リックテレコム,2016年03月04日,第111~115,123頁,ISBN: 978-4-86594-022-0.
【文献】Anna T. Thomas, et al.,"Learning Compressed Transforms with Low Displacement Rank",arXiv:1810.02309v3,version v3,[online], arXiv (Cornell University),2019年01月01日,Pages 1-33,[令和6年6月7日検索], インターネット, <URL: https://arxiv.org/abs/1810.02309v3> and <URL: https://arxiv.org/pdf/1810.02309v3>.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
G06N3/00-3/126
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
ディープニューラルネットワークの重み、バイアス、および非線形性を表す情報、ならびに前記ディープニューラルネットワークのための近似トレーニングセットを取得することと、
少なくとも1つの層の前記重み、バイアス、および非線形性に基づいて、ならびに前記近似トレーニングセットに基づいて、前記ディープニューラルネットワークの前記少なくとも1つの層の入力および出力を生成することと、
前記少なくとも1つの層の得られた前記入力および出力に基づいて出力マトリックスを決定することであって、前記出力マトリックスは、前記少なくとも1つの層の重みの低変位ランク近似を導出するために使用され、前記出力マトリックスを決定することは、
前記少なくとも1つの層の前記入力および出力の現在のバッチを使用して、前記少なくとも1つの層の現在の出力マトリックスを生成することと、
前記現在の出力マトリックスに基づいて、前の反復で生成された出力マトリックスを更新することと、
前記少なくとも1つの層について最小化基準が満たされるまで、次のバッチで生成することと更新することとを繰り返すことと、
を含む、ことと、
前記出力マトリックスの係数の量子化およびエントロピーコード化を実行することと、を含む、方法。
【請求項2】
プロセッサであって、
ディープニューラルネットワークの重み、バイアス、および非線形性を表す情報、ならびに前記ディープニューラルネットワークのための近似トレーニングセットを取得することと、
少なくとも1つの層の前記重み、バイアス、および非線形性に基づいて、ならびに前記近似トレーニングセットに基づいて、前記ディープニューラルネットワークの前記少なくとも1つの層の入力および出力を生成することと、
前記少なくとも1つの層の得られた前記入力および出力に基づいて出力マトリックスを決定することであって、前記出力マトリックスは、前記少なくとも1つの層の重みの低変位ランク近似を導出するために使用され、前記出力マトリックスを決定することは、
前記少なくとも1つの層の前記入力および出力の現在のバッチを使用して、前記少なくとも1つの層の現在の出力マトリックスを生成することと、
前記現在の出力マトリックスに基づいて、前の反復で生成された出力マトリックスを更新することと、
前記少なくとも1つの層について最小化基準が満たされるまで、次のバッチで生成することと更新することとを繰り返すことと、
を含む、ことと、
前記出力マトリックスの係数の量子化およびエントロピーコード化を実行することと、を行うように構成された、プロセッサ、を備える、装置。
【請求項3】
前記近似トレーニングセットが、前記ディープニューラルネットワークの元のトレーニングセットのサブセットを含む、請求項1に記載の方法。
【請求項4】
前記少なくとも1つの層の前記入力および出力の現在のバッチを使用して、前記少なくとも1つの層の現在の出力マトリックスを生成することは、前記少なくとも1つの層の生成された出力と前記重みの低変位ランク近似から得られた対応する出力との間の誤差を最小化することを含む、請求項1に記載の方法。
【請求項5】
前記少なくとも1つの層の生成された出力と前記重みの低変位ランク近似から得られた対応する出力との間の誤差を最小化することは、制約
【数1】
の下で前記出力マトリックス(G
k、H
k)での以下の合計
【数2】
を最小化することを含み、
ここで、
【数3】
は前記近似トレーニングセットの要素x
tのk番目の層の出力であり、
【数4】
はk番目の層の入力であり、A、Bは事前に定義されたマトリックスであり、b
kはk番目の層のバイアスであり、g
kはk番目の層の非線形性であり、
【数5】
は前記重みの低変位ランク近似である、請求項
4に記載の方法。
【請求項6】
前記近似トレーニングセットが、前記ディープニューラルネットワークの元のトレーニングセットのサブセットを含む、請求項2に記載の装置。
【請求項7】
前記少なくとも1つの層の前記入力および出力の現在のバッチを使用して、前記少なくとも1つの層の現在の出力マトリックスを生成することは、前記少なくとも1つの層の生成された出力と前記重みの低変位ランク近似から得られた対応する出力との間の誤差を最小化することを含む、請求項2に記載の装置。
【請求項8】
前記少なくとも1つの層の生成された出力と前記重みの低変位ランク近似から得られた対応する出力との間の誤差を最小化することは、制約
【数6】
の下で前記出力マトリックス(G
k、H
k)での以下の合計
【数7】
を最小化することを含み、
ここで、
【数8】
は前記近似トレーニングセットの要素x
tのk番目の層の出力であり、
【数9】
はk番目の層の入力であり、A、Bは事前に定義されたマトリックスであり、b
kはk番目の層のバイアスであり、g
kはk番目の層の非線形性であり、
【数10】
は前記重みの低変位ランク近似である、請求項
7に記載の装置。
【請求項9】
命令を含むコンピュータプログラムであって、前記命令は、前記プログラムがコンピュータによって実行されたときに、前記コンピュータに、請求項
1および
3~5のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態のうちの少なくとも1つは、概して、ビデオ符号化または復号の方法または装置に関する。
【背景技術】
【0002】
高圧縮効率を達成するために、画像およびビデオのコード化方式は、通常、空間および/または動きベクトル予測を含む予測、ならびにビデオコンテンツの空間的および時間的冗長性を活用する変換を採用する。概して、イントラまたはインター予測は、イントラフレームまたはインターフレームの相関を活用するために使用され、次いで、予測誤差または予測残差と呼ばれることが多い、元の画像と予測された画像との間の差は、変換され、量子化され、エントロピーコード化される。ビデオを再構築するために、圧縮データは、エントロピーコード化、量子化、変換、および予測に対応する逆処理によって復号される。マッピングおよび逆マッピングプロセスをエンコーダおよびデコーダ内で使用して、改善されたコード化性能を達成することができる。実際、コード化効率をより良好にするために、信号マッピングを使用することができる。マッピングは、ビデオピクチャのサンプルコードワード値の分布をより有効に活用することをねらいとする。
【発明の概要】
【0003】
先行技術の欠点および不利点は、本明細書に記載されている一般的な態様によって対処され得、それらの態様は、符号化および復号時のイントラ予測モード分割を目的とする。
【0004】
第1の態様によれば、方法が提供される。この方法は、ディープニューラルネットワークの重み、バイアス、および非線形性を表す情報、ならびにディープニューラルネットワークのための近似トレーニングセットを取得するステップと、当該情報および近似トレーニングセットを使用して、ディープニューラルネットワークの層の情報の出力マトリックスを生成するステップと、当該出力マトリックスを表す係数を生成するように、最小化基準がその層について満たされるまで、かつ最後の層に到達するまで、ディープニューラルネットワークの前の層の出力マトリックス、および当該近似トレーニングセットを繰り返し使用することによって、追加層の当該出力マトリックスを更新するステップと、当該係数に対して量子化およびエントロピーコード化を実行するステップと、を含む。
【0005】
第2の態様によれば、方法が提供される。この方法は、ビットストリームからのデータに対してエントロピー復号を実行するステップと、当該エントロピー復号されたデータに対して逆量子化を実行するステップと、最後の層に到達するまで、ディープニューラルネットワークを表す逆量子化されたマトリックスを繰り返し取得し、重みマトリックスを構築するステップと、を含む。
【0006】
別の態様によれば、装置が提供される。この装置は、プロセッサを含む。そのプロセッサは、前述の方法のいずれかを実行することによって、ディープニューラルネットワークを圧縮および解凍するように構成することができる。
【0007】
少なくとも1つの実施形態の別の一般的な態様によれば、復号の実施形態のうちのいずれかによる装置と、(i)信号を受信するように構成されたアンテナであって、その信号が、ビデオブロックを含む、アンテナ、(ii)受信した信号を、ビデオブロックを含む周波数帯域に制限するように構成された帯域リミッタ、または(iii)ビデオブロックを表す出力を表示するように構成されたディスプレイ、のうちの少なくとも1つと、を備える、デバイスが提供される。
【0008】
少なくとも1つの実施形態の別の一般的な態様によれば、説明された符号化の実施形態または変形のいずれかに従って生成されたデータコンテンツを含む非一時的なコンピュータ可読媒体が提供される。
【0009】
少なくとも1つの実施形態の別の一般的な態様によれば、説明された符号化の実施形態または変形のいずれかに従って生成されたビデオデータを含む信号が提供される。
【0010】
少なくとも1つの実施形態の別の一般的な態様によれば、ビットストリームは、説明された符号化の実施形態または変形のいずれかに従って生成されたデータコンテンツを含むようにフォーマットされる。
【0011】
少なくとも1つの実施形態の別の一般的な態様によれば、プログラムがコンピュータによって実行されると、コンピュータに、説明された復号の実施形態または変形のいずれかを実行させる命令を含むコンピュータプログラム製品が提供される。
【0012】
これらおよび他の態様、特徴、および一般的な態様の利点は、添付の図面に関連して読まれる例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図1】説明された一般的な態様の下での低変位ランクベースのニューラルネットワーク圧縮のためのパイプラインを示す。
【
図2】説明された一般的な態様の下での低変位ランク近似を示す。
【
図3】説明された一般的な態様の下で低変位ランク近似層を判定するフロー図を示す。
【
図4】説明された一般的な態様の下での低変位ランク近似評価のためのトレーニング/更新ループのフロー図の一例を示す。
【
図5】説明された一般的な態様の下での復号プロセスの一例を示す。
【
図6】説明された一般的な態様の下での符号化方法の一実施形態を示す。
【
図7】説明された一般的な態様の下での復号方法の一実施形態を示す。
【
図8】イントラ予測モード拡張を使用して符号化または復号する装置の一実施形態を示す。
【
図11】説明された実施形態を実装することができる典型的なプロセッサ構成を示す。
【発明を実施するための形態】
【0014】
ディープニューラルネットワーク(DNN)は、コンピュータビジョン、音声認識、自然言語処理などの様々な分野で最先端の性能を示している。しかしながら、DNNが、多くの場合、数百万個、ときには数十億個もの膨大な数のパラメータを有する傾向があるため、この性能には、莫大な計算コストが掛かることになる。これにより、推論が複雑になり、推論のためにトレーニングされたDNNを試験データに適用することによる計算コストが法外に高くなる。この高度な推論の複雑さは、DNNの性能を、バッテリーサイズ、計算能力、およびメモリ容量などのリソース制限を伴うモバイルデバイスまたは内蔵デバイスに導入する際の主要な課題である。
【0015】
本発明は、事前トレーニングされたDNNの圧縮に適用され、その結果、送信および/または記憶、ならびに低い推論の複雑さを容易にする。我々は、ネットワーク層の重みマトリックスの低変位ランク(LDR)ベースの近似による、事前トレーニングされたDNNの圧縮を提案する。このLDR近似により、事前トレーニングされたDNNの元の層の重みマトリックスを、少数の構造化されたマトリックスの和として置き換えることができる。この構造化されたマトリックスの和への分解により、同時圧縮、および低い推論の複雑さをもたらし、それによって、リソース制限されたデバイスでのディープラーニングの威力を可能にする。
【0016】
DNNを圧縮するほとんどのアプローチは、スパース性ベースの仮定か、または低ランクベースの近似のいずれかに基づいている。これらのアプローチは、圧縮につながるが、それらは、依然として高度な推論の複雑さに煩わされる。スパース性構造は、その性能がスパース性のパターンに大きく依存するため、ハードウェア内に実装することが困難であり、既存のアプローチは、スパース性のパターンに対する制御を全く有さない。低ランクのマトリックスは、依然として、構造化されていない。これらの理由により、これらのアプローチは、推論の複雑さにおいて、必ずしも改善をもたらすとは限らない。本発明で提案されるLDRベースの近似は、所与の層の重みマトリックスを、同時圧縮、および低い推論の複雑さを可能にする少数の構造化されたマトリックスの和として近似させる。
【0017】
重みマトリックス{W1,…,WL}、バイアス{b1,…,bL}、および非線形性{g1,…,gL}を有するL層の事前トレーニングされたDNNが提供されていると仮定する。これらの重み、バイアス、および非線形性を用いて、k番目の層yk+1の出力は、以下のように書ける(ここで、y1=xは、 DNNへの入力である)。
yk+1=gk(Wkyk+bk)
【0018】
我々は、事前トレーニングされたDNNの層{W
1,…,W
L}を、LDRマトリックス
【数1】
を用いて近似することを提案する。k番目の層の重みマトリックス
【数2】
が低ランクr
k≪min{m,n}を有すると仮定すると、それは、次式を意味する。
【数3】
ここで、A、Bは、それぞれ、サイズm×m、n×nの正方マトリックスであり、G
kは、m×r
kマトリックスであり、H
kは、n×r
kマトリックスであり、m、nは、元の重みマトリックスW
kの行および列の数である。GおよびHの列は、例えば、ある種のフィルタを表すことができる。そして、AおよびBに応じて、それらは、異なる方法で端から端まで、相互作用することができる。
【0019】
ここで、変位r
kは、選択したパラメータである。r
kが小さいということは、圧縮および計算効率がより高いことを意味する。代替的に、LDRはまた、以下のように等価的であるが、代替的な式で求めることもできる。
【数4】
【0020】
A、Bの異なる選択によって、LDR構造は、十分汎用性があるため、テプリッツ行列、巡回行列、ハンケル行列などの他の構造のホスト全体をカバーする。本発明を説明する提案について、変位ランクのための最初の式を使用する。そのような近似を得るために、提案されたアプローチは、近似トレーニングセットX={x
1,…,x
T}を必要とし、その近似トレーニングセットは、所与のDNNをトレーニングするために使用される元のトレーニングセットのサブセットとして選択することができるか、またはそれが動作することが想定されるDNN上のセット例として選択することができる。近似トレーニングセットXを使用すると、元の事前トレーニングされたDNNの各層の出力および入力を取得することができる。近似セットX内の所与の例x
tのk番目の層の入力および出力は、
【数5】
として示される。これらを用いて、以下の最適化問題を解いて、G
k、H
kを得る。
【数6】
【0021】
上記の問題は、確率的勾配降下アルゴリズムを使用することによって、近似的に解くことができる。合計の項は、最小化されている。上記の問題の等式制約条件は、PanおよびWangによる「Inversion of Displacement Operators」からの反転公式を使用して処理することができる。ニューラルネットワークを圧縮する例示的な全体的アーキテクチャが、
図1に示されている。その図は、所与のトレーニングデータ上でDNNをトレーニングすることに関与するDNNトレーニング段階を示す。次のブロックは、重みマトリックス{W
1,…,W
L}、バイアス{b
1,…,b
L}、および非線形性{g
1,…,g
L}によって表される事前トレーニングされたDNNを入力として、ならびに近似トレーニングセットX={x
1,…,x
T}を取得し、トレーニングセットとは独立している近似トレーニングセットと連携し得る。LDRベースの圧縮ブロック内の最初のサブステップは、LDRベースの近似であり、本発明の目的である。
【0022】
この後、各層のLDRベースの近似の重みマトリックスGkおよびHkは、量子化され、これは、その後、層毎に可逆係数圧縮される。
【0023】
これにより、記憶または送信され得るビットストリームが得られる。メタデータと共に結果として得られたビットストリームは、マトリックスA、B、バイアスベクトル{b1,…,bL}を伴い、非線形性の記述が送信される。圧縮されたビットストリームは、メタデータを使用して解凍され、推論するために、DNNは、手元にあるアプリケーションの試験データを推論するために、メモリ内に読み込まれる。
【0024】
1 エンコーダ
図2は、
図1のLDRベースの近似サブブロックを詳細に示す。層毎のLDR近似は、近似トレーニングセットX={x1,…,x
T}を使用して、
図2に示すように、並列に取得することができる。
【0025】
エンコーダでの事前トレーニングされたDNNのLDR近似が、
図3に図示されている。近似トレーニングセットXを使用すると、元の事前トレーニングされたDNNの各層の出力および入力を取得することができる。近似セットXにおける所与の例x
tのk番目の層の入力および出力は、
【数7】
として示されている。各層は、ステップ101において、場合によっては並列して、コンピュータリソースに応じて、最後の層が処理されるまで、ステップ104からループしながらアクセスすることができる。G
kおよびH
kは、ステップ102および103において、層毎に計算される。
【0026】
ステップ103は、
図4にさらに説明されている。層毎に、近似セットは、バッチに分割することができ、いくつかの繰り返しまたはエポックが、セット全体にわたって実行され得る(204)。繰り返し毎に、その層の入力/出力データの現在のバッチにアクセスし(201)、このデータセットでの図(1)の最小化問題(202)、ならびにマトリックスG
kおよびH
kが、更新される(203)。
【0027】
終了基準(204)は、エポック数に関連するトレーニングステップの数に基づくことができ、または連続するトレーニングステップのマトリックスGkおよびHkが、選択されたパラメータの近さで互いに数値的に近い場合には、マトリックスGkおよびHkが、すべてのkに対して出力される。
【0028】
この並列バージョンにより、GkおよびHkマトリックスの修正の後に、後続の層への更新されていない入力を考慮に入れずに、効率的な計算が可能になる。その並列バージョンは、最初に一度取得されている、元のネットワークの各層の入力および出力を処理し、それらの入力および出力を使用して、並列に層を更新する。直列バージョンについては、本説明では後で変形として記述される。変形として、各層kの出力は、トレーニングデータを使用して更新することができ、その結果、層k+1のLDR計算は、適切な入力を使用して実行することができる。
【0029】
2 デコーダ
生成されたビットストリームを復号するために、互換性のあるデコーダが、逆圧縮ステップを実行する必要がある。
図5は、異なるステップを詳述する。入力ビットストリームのシンボルは、最初、エントロピー復号エンジン301から取り出され、次いで逆量子化される(302)。各層(305)について、逆量子化されたマトリックスは、アクセスされ(303)、各マトリックス
【数8】
は、前述した反転公式を使用して、得られたG
kおよびH
kから導出される。
【0030】
したがって、再構築されたDNNを復号および取得するために、将来のMPEG NNR標準規格などの標準圧縮方式を実装することになるデコーダに、提案された本方法を含めることが必要になるであろう。
【0031】
1つの変形では、上述したフレームワークのうちの1つを使用して、層毎に異なるAおよびBを使用することが可能である。これにより、エンコーダから送信される必要があるメタデータが変更されるであろう。層を復号している間、デコーダは、その層の特定のAおよびBを使用するであろう。
【0032】
第2の変形では、LDR近似はまた、次の層が前の層での近似を考慮に入れることによって近似される一連の方法で実行することもできる。
【0033】
ここに説明された一般的な態様を使用する方法600の一実施形態が、
図6に示されている。この方法は、開始ブロック601で始まり、制御は、機能ブロック610へ進み、ディープニューラルネットワークの重み、バイアス、および非線形性を表す情報、ならびにディープニューラルネットワークのための近似トレーニングセットを取得する。次いで、制御は、ブロック610からブロック620へ進み、その情報およびその近似トレーニングセットを使用して、ディープニューラルネットワークの層の情報の出力マトリックスを生成する。次いで、制御は、ブロック620からブロック630へ進み、ディープニューラルネットワークの前の層の出力マトリックス、および近似トレーニングセットを繰り返し使用することによって、当該出力マトリックスを表す係数を生成するように、その層の最小化基準が満たされるまで、かつ最後の層に到達するまで、追加層の出力マトリックスを更新する。次いで、制御は、ブロック630からブロック640へ進み、それらの係数に対して量子化およびエントロピーコード化を実行する。
【0034】
ここに説明された一般的な態様を使用する方法700の一実施形態が、
図7に示されている。この方法は、開始ブロック701で始まり、制御は、機能ブロック710へ進み、ビットストリームからのデータに対してエントロピー復号を実行する。次いで、制御は、ブロック710からブロック720へ進み、エントロピー復号されたデータに対して逆量子化を実行する。次いで、制御は、ブロック720からブロック730へ進み、最後の層に到達するまで、ディープニューラルネットワークを表す逆量子化されたマトリックスを繰り返し取得して、重みマトリックスを構築する。
【0035】
図8は、ビットストリーム内のディープニューラルネットワークを圧縮、符号化、または復号する装置800の一実施形態を示す。この装置は、プロセッサ810を含み、少なくとも1つのポートを介してメモリ820に相互接続することができる。プロセッサ810およびメモリ820の両方はまた、外部接続への1つ以上の追加の相互接続を有することもできる。
【0036】
プロセッサ810はまた、ビットストリームにパラメータを挿入するまたは受信するのいずれか、またパラメータを使用してディープニューラルネットワークを圧縮すること、符号化すること、または復号することのいずれかを行うように構成されている。
【0037】
本出願では、ツール、特徴、実施形態、モデル、アプローチなどを含む様々な態様について説明する。これらの態様の多くは、特異性、また、少なくとも個々の特性を示すために説明されており、しばしば限定的に聞こえ得るように説明される。しかしながら、これは、説明を明確にするためのものであり、これらの態様の用途または範囲を限定するものではない。実際、異なる態様のすべてを組み合わせ、かつ交換して、さらなる態様を提供することができる。さらに、これらの態様は、以前の出願で説明された態様と組み合わせ、かつ交換することもできる。
【0038】
本出願で説明および想定される態様は、多くの異なる形態で実装することができる。
図9、
図10、および
図11は、いくつかの実施形態を提供するが、他の実施形態が想定されており、
図9、
図10、および
図11の考察は、実装形態の範囲を限定するものではない。これらの態様のうちの少なくとも1つは、概して、ビデオ符号化および復号に関し、少なくとも1つの他の態様は、概して、生成または符号化されたビットストリームを送信することに関する。これらおよび他の態様は、方法、装置、説明された方法のいずれかに従ってビデオデータを符号化または復号するための命令を記憶したコンピュータ可読記憶媒体、および/または説明された方法のいずれかに従って生成されるビットストリームを記憶したコンピュータ可読記憶媒体として実装することができる。
【0039】
本出願では、「再構築された」および「復号された」という用語は、互換的に使用され得、「ピクセル」および「サンプル」という用語は、互換的に使用され得、「画像」、「ピクチャ」、および「フレーム」という用語は、互換的に使用され得る。必須ではないが、通常は、「再構築された」という用語は、エンコーダ側において使用される一方で「復号された」は、デコーダ側において使用される。
【0040】
様々な方法が、本明細書に記載されており、それらの方法のそれぞれは、説明された方法を達成するための1つ以上のステップまたは行為を含む。本方法の正しい動作のために特定の順序のステップまたは行為が必要でない限り、特定のステップおよび/または行為の順序および/または使用は、変更されてもよく、または組み合わされてもよい。
【0041】
本出願で説明された様々な方法および他の態様を使用して、モジュール、例えば、
図9および
図10に示すように、ビデオエンコーダ100およびデコーダ200のイントラ予測モジュール、エントロピーコード化モジュール、および/または復号モジュール(160、360、145、330)を修正することができる。さらに、本態様は、VVCまたはHEVCに限定されず、例えば、既存かまたは将来開発されるかどうかに関わらず、他の標準規格および推奨事項、ならびに任意のそのような標準規格および推奨事項(VVCおよびHEVCを含む)の拡張版に適用することができる。特に指示されていない限り、または技術的に除外されていない限り、本出願で説明される態様は、個別にまたは組み合わせて使用することができる。
【0042】
本出願では様々な数値が使用される。特定の値は、例示的な目的のためであり、記載された態様は、これらの特定の値に限定されるものではない。
【0043】
図9は、エンコーダ100を示す。このエンコーダ100の変形が想定されるが、エンコーダ100は、明確にするためにすべての予想される変形を説明することなく、以下に説明される。
【0044】
符号化される前に、ビデオシーケンスは、事前符号化処理(101)、例えば、入力色ピクチャに色変換(例えば、RGB4:4:4からYCbCr4:2:0への変換)を適用すること、または、(例えば、色成分のうちの1つのヒストグラム等化を使用して)圧縮に対してより復元力のある信号分布を得るために、入力ピクチャ成分の再マッピングを実行することを経る場合がある。メタデータは、前処理に関連付けてビットストリームに添付することができる。
【0045】
エンコーダ100では、以下に説明されているように、ピクチャが、エンコーダ要素によって符号化される。符号化されるピクチャは、分割され(102)、例えば、CUの単位で処理される。各単位は、例えば、イントラモードまたはインターモードのいずれかを使用して符号化される。単位がイントラモードで符号化されるとき、イントラ予測を実行する(160)。インターモードにおいて、動き推定(175)および動き補償(170)が行われる。エンコーダは、イントラモードまたはインターモードのどちらをその単位の符号化に使用するかを決定し(105)、例えば、予測モードフラグによって、イントラ/インター決定を示す。予測残差は、例えば、元の画像ブロックから予測されたブロックを減算すること(110)によって、計算される。
【0046】
次いで、予測残差が変換され(125)、量子化される(130)。量子化された変換係数に加えて、動きベクトルおよび他の構文要素は、ビットストリームを出力するためにエントロピーコード化される(145)。エンコーダは、変換をスキップし、非変換残差信号に直接量子化を適用し得る。エンコーダは、変換および量子化の両方をバイパスすることができ、すなわち、残差は、変換または量子化プロセスを適用せずに直接コード化される。
【0047】
エンコーダは、符号化されたブロックを復号して、さらに予測するための参照を提供する。量子化された変換係数は逆量子化され(140)、逆変換され(150)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(155)、画像ブロックが再構築される。ループ内フィルタ(165)は、再構築されたピクチャに適用され、例えば、デブロッキング/SAO(サンプル適応オフセット)フィルタリングを行い、符号化アーチファクトを低減する。フィルタリングされた画像は、参照ピクチャバッファ(180)に記憶される。
【0048】
図10は、ビデオデコーダ200のブロック図を示す。デコーダ200において、ビットストリームは、以下に説明するように、デコーダの要素によって復号される。ビデオデコーダ200は、概して、
図9で説明したような符号化パスの逆の復号パスを実行する。エンコーダ100はまた、概して、ビデオデータの符号化の一部としてビデオ復号を実行する。
【0049】
特に、デコーダの入力は、ビデオエンコーダ100によって生成され得るビデオビットストリームを含む。まず、ビットストリームがエントロピー復号され(230)、変換係数、動きベクトル、および他のコード化された情報を取得する。ピクチャ分割情報は、ピクチャがどのように分割されているかを示す。したがって、デコーダは、復号されたピクチャ分割情報に従ってピクチャを分割することができる(235)。変換係数は逆量子化され(240)、逆変換され(250)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(255)、画像ブロックが再構築される。予測されたブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から取得され得る(270)。ループ内フィルタ(265)は、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
【0050】
復号されたピクチャは、復号後処理(285)、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)または事前符号化処理(101)で行われる再マッピングプロセスの逆を行う逆再マッピングをさらに経ることができる。復号後処理では、事前符号化処理で導出され、かつビットストリームで信号通知されるメタデータを使用することができる。
【0051】
図11は、様々な態様および実施形態が実装されているシステムの一例のブロック図を示す。システム1000は、以下で説明される様々な構成要素を含むデバイスとして具現化することができ、本文献で説明される態様の1つ以上を実行するように構成されている。このようなデバイスの例には、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家電製品、およびサーバなどの様々な電子デバイスが含まれるが、これらに限定されない。システム1000の要素は、単独でも組み合わせでも、単一の集積回路(IC)、複数のIC、および/または個別の構成要素で具現化され得る。例えば、少なくとも1つの実施形態において、システム1000の処理およびエンコーダ/デコーダ要素は、複数のICおよび/または個別の構成要素にわたって分散している。様々な実施形態において、システム1000は、1つ以上の他のシステムに、または他の電子デバイスに、例えば、通信バスを介して、または専用の入力および/もしくは出力ポートを通して、通信可能に結合される。様々な実施形態において、システム1000は、本文献に記載の態様のうちの1つ以上を実装するように構成される。
【0052】
システム1000は、例えば、本文献に記載の様々な態様を実装するために、読み込まれた命令を実行するように構成された少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、当技術分野で既知であるように、埋め込みメモリ、入出力インターフェース、および他の様々な回路を含み得る。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム1000は、不揮発性メモリおよび/または揮発性メモリを含むことができるストレージデバイス1040を含み、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含むが、これらに限定されない。ストレージデバイス1040は、非限定的な例として、内部ストレージデバイス、付属のストレージデバイス(取り外し可能および取り外し不可能なストレージデバイスを含む)、ならびに/またはネットワークアクセス可能なストレージデバイスを含み得る。
【0053】
システム1000は、例えば、符号化されたビデオまたは復号されたビデオを提供するためにデータを処理するように構成されたエンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、独自のプロセッサおよびメモリを含み得る。エンコーダ/デコーダモジュール1030は、符号化機能および/または復号機能を実行するデバイスに含まれ得るモジュール(複数可)を表す。既知であるように、デバイスは、符号化および復号モジュールの一方または両方を含み得る。さらに、エンコーダ/デコーダモジュール1030は、システム1000の別個の要素として実装することができ、または、当業者には既知であるように、ハードウェアとソフトウェアとの組み合わせとして、プロセッサ1010内に組み込むことができる。
【0054】
本文献に記載の様々な態様を実行するためにプロセッサ1010またはエンコーダ/デコーダ1030に読み込まれるプログラムコードは、ストレージデバイス1040に記憶され、続いて、プロセッサ1010による実行のためにメモリ1020に読み込まれ得る。様々な実施形態によれば、プロセッサ1010、メモリ1020、ストレージデバイス1040、およびエンコーダ/デコーダモジュール1030のうちの1つ以上は、本文献に記載のプロセスの実行中、様々な項目のうちの1つ以上を記憶することができる。このような記憶される項目には、入力ビデオ、復号されたビデオまたは復号されたビデオの一部、ビットストリーム、マトリックス、変数、ならびに方程式、式、演算、および演算ロジックの処理からの中間結果または最終結果が含まれ得るが、これらに限定されない。
【0055】
いくつかの実施形態において、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリを使用して、命令を記憶し、符号化または復号中に必要とされる処理のために、ワーキングメモリを提供する。しかしながら、他の実施形態において、処理デバイス(例えば、処理デバイスは、プロセッサ1010またはエンコーダ/デコーダモジュール1030のいずれかであり得る)の外部のメモリは、これらの機能のうちの1つ以上に使用される。外部メモリは、メモリ1020および/またはストレージデバイス1040、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリであり得る。いくつかの実施形態において、例えば、テレビのオペレーティングシステムを記憶するために外部不揮発性フラッシュメモリが使用される。少なくとも1つの実施形態では、RAMなどの高速外部ダイナミック揮発性メモリが、MPEG-2(MPEGはMoving Picture Experts Groupを指し、MPEG-2は、ISO/IEC 13818とも称され、13818-1はH.222としても既知であり、13818-2はH.262としても既知である)、HEVC(HEVCはHigh Efficiency Video Codingを指し、H.265およびMPEG-H Part2としても既知である)、またはVVC(Versatile Video Codingであり、JVET、すなわちJoint Video Experts Teamによって開発された新標準規格)などのビデオコード化および復号動作のためのワーキングメモリとして使用される。
【0056】
システム1000の要素への入力は、ブロック1130に示されるような様々な入力デバイスを通して提供され得る。このような入力デバイスは、(i)例えば、放送局によって無線で送信されたRF信号を受信する無線周波数(RF)部分、(ii)コンポーネント(COMP)入力端子(またはCOMP入力端子のセット)、(iii)ユニバーサルシリアルバス(USB)入力端子、および/または(iv)高品位マルチメディアインターフェース(HDMI)入力端子を含むが、これらに限定されない。
図11には示されていない他の例としては、コンポジットビデオが挙げられる。
【0057】
様々な実施形態において、ブロック1130の入力デバイスは、当技術分野で既知であるような関連するそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択する(信号を選択する、またはある周波数帯域に信号を帯域制限する、とも称される)、(ii)選択された信号をダウンコンバートする、(iii)(例えば)ある特定の実施形態ではチャネルと称され得る信号周波数帯域を選択するために、より狭い周波数帯域に再び帯域制限する、(iv)ダウンコンバートされ、帯域制限された信号を復調する、(v)誤り訂正を実行する、および(vi)逆多重化して、所望のデータパケットストリームを選択するのに好適な要素に関連付けられ得る。様々な実施形態のRF部は、これらの機能、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、および逆多重化器を実行する1つ以上の要素を含む。RF部は、例えば、受信された信号をより低い周波数に(例えば、中間周波数またはベースバンドに近い周波数)、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行するチューナを含むことができる。1つのセットトップボックスの実施形態において、RF部およびその関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体経由で送信されたRF信号を受信し、フィルタリングし、ダウンコンバートし、所望の周波数帯域に再びフィルタリングすることによって、周波数選択を実行する。様々な実施形態では、上記(および他の)要素の順番が並べ替えられ、これらの要素のうちのいくつかが取り除かれ、かつ/または同様もしくは異なる機能を実行する他の要素が追加される。要素を追加することは、既存の要素間に要素を挿入すること、例えば、増幅器およびアナログ-デジタル変換器を挿入することなどを含むことができる。様々な実施形態において、RF部は、アンテナを含む。
【0058】
さらに、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介して、他の電子デバイスにシステム1000を接続するためのそれぞれのインターフェースプロセッサを含み得る。入力処理の様々な態様、例えば、リードソロモン誤り訂正が、例えば、必要に応じて、別個の入力処理IC内、またはプロセッサ1010内に実装され得ることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内またはプロセッサ1010内に実装され得る。復調され、誤り訂正され、かつ逆多重化されたストリームは、例えば、プロセッサ1010と、出力デバイス上での表示用に、必要に応じてデータストリームを処理するためにメモリおよびストレージ要素と組み合わせて動作するエンコーダ/デコーダ1030と、を含む様々な処理要素に提供される。
【0059】
システム1000の様々な要素は、一体型ハウジング内に提供され得、一体型ハウジング内で、様々な要素は、相互接続され、好適な接続構成、例えば、Inter-IC(I2C)バス、配線、およびプリント回路基板を含む、当技術分野で既知であるような内部バスを使用して、それらの間でデータを送信することができる。
【0060】
システム1000は、通信チャネル1060を介して他のデバイスとの通信を可能にする通信インターフェース1050を含む。通信インターフェース1050は、通信チャネル1060経由でデータを送受信するように構成されたトランシーバを含むことができるが、これに限定されない。通信インターフェース1050は、モデムまたはネットワークカードを含むことができるが、これらに限定されず、通信チャネル1060は、例えば、有線および/または無線媒体内に実装され得る。
【0061】
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、電気電子技術者協会を指す)などの無線ネットワークを使用して、システム1000にストリーミングされるか、または別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル1060および通信インターフェース1050を介して受信される。これらの実施形態の通信チャネル1060は、典型的には、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続経由でデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム1000に提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、ストリーミングされたデータをシステム1000に提供する。上記のように、様々な実施形態は、非ストリーミング方式でデータを提供する。さらに、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラーネットワークまたはBluetoothネットワークを使用する。
【0062】
システム1000は、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む、様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲ディスプレイ、および/または折り畳み式ディスプレイのうちの1つ以上を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、携帯電話(モバイルフォン)、または他のデバイス用であり得る。ディスプレイ1100はまた、他の構成要素(例えば、スマートフォンのように)と統合され得るか、または別個(例えば、ラップトップ用の外部モニタ)であり得る。他の周辺デバイス1120は、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(もしくはデジタル多用途ディスク)(両用語ともDVR)、ディスクプレーヤ、ステレオシステム、および/または照明システムのうちの1つ以上を含む。様々な実施形態は、システム1000の出力に基づく機能を提供する1つ以上の周辺デバイス1120を使用する。例えば、ディスクプレーヤは、システム1000の出力を再生する機能を実行する。
【0063】
様々な実施形態において、システム1000と、ディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間で、AV.Link、コンシューマエレクトロニクス制御(CEC)、またはユーザの介入の有無に関わらず、デバイス間制御を可能にする他の通信プロトコルなどの信号通知を使用して、制御信号が通信される。出力デバイスは、それぞれのインターフェース1070、1080、および1090を通して専用接続を介してシステム1000に通信可能に結合され得る。代替的に、出力デバイスは、通信インターフェース1050を介して、通信チャネル1060を使用してシステム1000に接続され得る。ディスプレイ1100およびスピーカ1110は、例えば、テレビなどの電子デバイス内のシステム1000の他の構成要素と、単一のユニット内に統合され得る。様々な実施形態において、ディスプレイインタフェース1070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
【0064】
ディスプレイ1100およびスピーカ1110は、代替的に、例えば、入力1130のRF部が別個のセットトップボックスの一部である場合、他の構成要素のうちの1つ以上とは別個であり得る。ディスプレイ1100およびスピーカ1110が外部構成要素である様々な実施形態において、例えば、HDMIポート、USBポート、またはCOMP出力部を含む専用出力接続を介して、出力信号が提供され得る。
【0065】
実施形態は、プロセッサ1010によって、またはハードウェアによって、またはハードウェアとソフトウェアとの組み合わせによって実装されるコンピュータソフトウェアによって、実行されてもよい。非限定的な例として、実施形態は、1つ以上の集積回路によって実装され得る。メモリ1020は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、および取り外し可能なメモリなどの任意の適切なデータストレージ技術を使用して実装され得る。プロセッサ1010は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づくプロセッサのうちの1つ以上を包含し得る。
【0066】
様々な実装形態は、復号を伴う。本出願において使用される「復号」は、例えば、表示に好適な最終出力を生成するために、受信した符号化されたシーケンスに対して実行されるプロセスの全部または一部を包含することができる。様々な実施形態では、そのようなプロセスは、デコーダによって通常実行されるプロセスのうちの1つ以上、例えば、エントロピー復号、逆量子化、逆変換、および差分復号を含む。様々な実施形態では、このようなプロセスはまた、または代替的に、本出願で説明される様々な実装形態のデコーダによって実行されるプロセスを含む。
【0067】
さらなる例として、一実施形態では、「復号」は、エントロピー復号のみを指し、別の実施形態では、「復号」は、差分復号のみを指し、別の実施形態では、「復号」は、エントロピー復号および差分復号の組み合わせを指す。「復号処理」という句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い復号処理を指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
【0068】
様々な実装形態は、符号化を伴う。「復号」についての上記の考察と同様の方法で、本出願で使用される「符号化」は、例えば、符号化されたビットストリームを生成するために入力ビデオシーケンスで実行されるプロセスの全部または一部を包含することができる。様々な実施形態では、そのようなプロセスは、典型的には、エンコーダによって実行される1つ以上のプロセス、例えば、分割、差分符号化、変換、量子化、およびエントロピー符号化を含む。様々な実施形態では、このようなプロセスはまた、または代替的に、本出願で説明される様々な実装形態のエンコーダによって実行されるプロセスを含む。
【0069】
さらなる例として、一実施形態では、「符号化」は、エントロピー符号化のみを指し、別の実施形態では、「符号化」は、差分符号化のみを指し、別の実施形態では、「符号化」は、差分符号化およびエントロピー符号化の組み合わせを指す。「符号化プロセス」という句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い符号化プロセスを指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
【0070】
本明細書で使用される構文要素は、記述的な用語であることに留意されたい。したがって、それらは、他の構文要素名の使用を排除するものではない。
【0071】
図がフロー図として提示されている場合、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図がブロック図として提示されている場合、それは、対応する方法/プロセスのフロー図も提供することを理解されたい。
【0072】
様々な実施形態は、パラメトリックモデルまたはレート歪み最適化に言及する場合がある。特に、符号化プロセスの間、多くの場合に計算の複雑さの制約を考えて、レートと歪みとの間のバランスまたはトレードオフが、通常、考慮される。これは、レート歪み最適化(RDO)メトリックを通じて、または最小平均二乗(LMS)、絶対誤差平均(MAE)、もしくは他のそのような測定を通じて測定され得る。レート歪みの最適化は通常、レート歪み関数を最小化するものとして定式化され、レート歪み関数は、レートと歪みの加重和である。レート歪みの最適化問題を解決するには、異なるアプローチがある。例えば、アプローチは、考慮されるすべてのモードまたはコード化パラメータ値を含むすべての符号化オプションの広範なテストに基づいており、コード化および復号後の再構築された信号のコード化コストおよび関連する歪みを完全に評価することができる。特に、再構築された信号ではなく、予測または予測残差信号に基づいて近似歪みを計算することによって、符号化の複雑さを軽減するために、より高速なアプローチを使用することもできる。可能な符号化オプションの一部にのみ近似歪みを使用し、他の符号化オプションに完全な歪みを使用することなどによって、これら2つのアプローチを組み合わせて使用することもできる。他のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチが、最適化を実行するための様々な技術のうちのいずれかを採用するが、最適化は、必ずしもコード化コストおよび関連する歪みの両方の完全な評価ではない。
【0073】
本明細書で説明された実装形態および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号に実装され得る。単一の実装形態の文脈でのみ考察された(例えば、方法としてのみ考察された)としても、考察された特徴の実装形態はまた、他の形態(例えば、装置またはプログラム)で実装することもできる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実装することができる。それらの方法は、例えば、プロセッサ内に実装することができ、このプロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む処理デバイス全般を指す。プロセッサは、通信デバイス、例えば、コンピュータ、携帯電話、ポータブル/パーソナルデジタルアシスタンス(「PDA」)、およびエンドユーザ間の情報の通信を容易にする他のデバイスなども含む。
【0074】
「1つの実施形態」もしくは「一実施形態」、または「1つの実装形態」もしくは「一実装形態」、ならびにそれらの他の変形への言及は、実施形態に関連して説明された特定の特徴、構造、特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体にわたって様々な箇所においてみられる、「1つの実施形態では」もしくは「一実施形態では」または「1つの実装形態では」もしくは「一実装形態では」という句、ならびに任意の他の変形の出現は、必ずしもすべてが同じ実施形態を指しているわけではない。
【0075】
さらに、本出願は、情報の様々な部分を「判定すること」に言及する場合がある。情報の判定には、例えば、情報の評価、情報の計算、情報の予測、またはメモリからの情報の検索のうちの1つ以上が含まれ得る。
【0076】
さらに、本出願は、情報の様々な部分に「アクセスすること」に言及する場合がある。情報のアクセスには、例えば、情報の受信、(例えば、メモリからの)情報の検索、情報の記憶、情報の移動、情報のコピー、情報の計算、情報の判定、情報の予測、または情報の評価のうちの1つ以上が含まれ得る。
【0077】
さらに、本出願は、情報の様々な部分を「受信すること」に言及する場合がある。受信することは、「アクセスすること」と同様に、広義の用語であることが意図されている。情報の受信には、例えば、情報へのアクセス、または(例えば、メモリからの)情報の検索のうちの1つ以上が含まれ得る。さらに、「受信すること」は、典型的には、何らかの方法で、例えば、情報の記憶、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の判定、情報の予測、または情報の評価などの動作中に伴う。
【0078】
例えば、「A/B」、「Aおよび/またはB」、ならびに「AおよびBのうちの少なくとも1つ」の場合、次の「/」、「および/または」、ならびに「のうちの少なくとも1つ」のいずれかの使用は、1番目に列記された選択肢(A)のみの選択、または2番目に列記された選択肢(B)のみの選択、または両方の選択肢(AおよびB)の選択を網羅することを意図していることが分かるはずである。さらなる例として、「A、B、および/またはC」ならびに「A、B、およびCのうちの少なくとも1つ」の場合、そのような言い回しは、1番目に列記された選択肢(A)のみの選択、または2番目に列記された選択肢(B)のみの選択、または3番目に列記された選択肢(C)のみの選択、または1番目および2番目に列記された選択肢(AおよびB)のみの選択、または1番目および3番目に列記された選択肢(AおよびC)のみの選択、または2番目および3番目に列記された選択肢(BおよびC)のみの選択、または3つすべての選択肢(AおよびBおよびC)の選択、を網羅することを意図している。これは、当業者にとって明らかであるように、列記される項目の数だけ拡張され得る。
【0079】
また、本明細書で使用される場合、「信号通知する」という単語は、とりわけ、対応するデコーダに何かを指示することを指す。例えば、特定の実施形態では、エンコーダは、複数の変換、コード化モード、またはフラグのうちの特定の1つに信号通知する。このように、一実施形態では、同一の変換、パラメータ、またはモードが、エンコーダ側とデコーダ側の両方で使用される。したがって、例えば、エンコーダは、特定のパラメータをデコーダに送信することができ(明示的な信号通知)、その結果、デコーダは、同じ特定のパラメータを使用することができる。逆に、デコーダが既に特定のパラメータならびに他のパラメータを有する場合、信号通知は、送信(暗黙的な信号通知)を行わずに使用されて、デコーダが簡単に特定のパラメータを認識および選択することを可能にすることができる。いかなる実際の機能の送信も回避することによって、ビットの節約が、様々な実施形態で実現される。信号通知は、様々な方法で達成できることが分かるはずである。例えば、1つ以上の構文要素、フラグなどが、様々な実施形態で、対応するデコーダに情報を信号通知するために使用される。上記は、「信号通知する」という単語の動詞形に関するものであるが、「信号通知」という単語はまた、本明細書では、名詞として使用することもできる。
【0080】
当業者には明らかであるように、実装形態は、例えば、記憶または送信され得る情報を搬送するようにフォーマットされる様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明される実装形態のうちの1つにより生成されたデータを含むことができる。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされ得る。このような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)、電磁波として、またはベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化することと、搬送波を符号化データストリームで変調することと、を含むことができる。信号が搬送する情報は、例えば、アナログまたはデジタル情報とすることができる。信号は、既知であるように、様々な異なる有線または無線リンクを介して送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
【0081】
様々な請求項のカテゴリおよびタイプにわたるいくつかの実施形態について説明する。これらの実施形態の特徴は、単独で、または任意の組み合わせで提供することができる。さらに、実施形態は、様々な請求項のカテゴリおよびタイプにわたって、単独でまたは任意の組み合わせで、以下の特徴、デバイス、または態様のうちの1つ以上を含むことができる。
・事前トレーニングされたディープニューラルネットワークのディープニューラルネットワーク圧縮を用いて、符号化および復号を実行するプロセスまたはデバイス。
・1つ以上の層を含む事前トレーニングされたディープニューラルネットワークのディープニューラルネットワーク圧縮を実装するためのパラメータを表す、ビットストリーム内に挿入された情報を用いて、符号化および復号を実行するプロセスまたはデバイス。
・事前トレーニングされたディープニューラルネットワークのディープニューラルネットワーク圧縮を実装するためのパラメータを表す、ビットストリーム内に挿入された情報を用いて、圧縮基準に到達するまで、符号化および復号を実行するプロセスまたはデバイス。
・記載された構文要素、またはその変形のうちの1つ以上を含むビットストリームまたは信号。
・記載された実施形態のいずれかに従って生成された情報を伝達する構文を含むビットストリームまたは信号。
・記載された実施形態のいずれかによる作成および/または送信および/または受信および/または復号。
・記載された実施形態のいずれかによる方法、プロセス、装置、命令を記憶する媒体、データを記憶する媒体、または信号。
・エンコーダによって使用されるコード化モードに対応する方法で、デコーダがそのコード化モードを判定することを可能にする信号通知構文要素に挿入すること。
・記載された構文要素、またはその変形のうちの1つ以上を含むビットストリームまたは信号を、作成および/または送信および/または受信および/または復号すること。
・記載された実施形態のうちのいずれかに従って、変換方法(複数可)を実行するTV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
・記載された実施形態のうちのいずれかに従って、変換方法(複数可)の判定を実行し、かつ得られた画像を表示する(例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して)TV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
・記載された実施形態のうちのいずれかに従って、チャネルを選択し、帯域制限し、またはチューニングして(例えば、チューナを使用して)、符号化された画像を含む信号を受信し、変換方法(複数可)を実行するTV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。
・符号化された画像を含む信号を、無線を介して(例えば、アンテナを使用して)受信して、変換方法(複数可)を実行するTV、セットトップボックス、携帯電話、タブレット、または他の電子デバイス。