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

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

▶ クゥアルコム・インコーポレイテッドの特許一覧

特表2024-511744自己アテンションを使用したビデオ処理におけるフレームの位置合わせ
<>
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図1
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図2A
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図2B
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図2C
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図2D
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図3
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図4
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図5
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図6
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図7A
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図7B
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図8
  • 特表-自己アテンションを使用したビデオ処理におけるフレームの位置合わせ 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-15
(54)【発明の名称】自己アテンションを使用したビデオ処理におけるフレームの位置合わせ
(51)【国際特許分類】
   G06V 10/24 20220101AFI20240308BHJP
   G06T 7/00 20170101ALI20240308BHJP
   G06V 10/82 20220101ALI20240308BHJP
   G06T 7/38 20170101ALI20240308BHJP
   G06V 20/40 20220101ALI20240308BHJP
   G06V 20/58 20220101ALI20240308BHJP
   G06T 7/33 20170101ALI20240308BHJP
【FI】
G06V10/24
G06T7/00 350C
G06V10/82
G06T7/38
G06V20/40
G06V20/58
G06T7/33
G06T7/00 650A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023555647
(86)(22)【出願日】2022-03-17
(85)【翻訳文提出日】2023-09-11
(86)【国際出願番号】 US2022020801
(87)【国際公開番号】W WO2022197958
(87)【国際公開日】2022-09-22
(31)【優先権主張番号】63/162,478
(32)【優先日】2021-03-17
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/696,797
(32)【優先日】2022-03-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】アバティ、ダビデ
(72)【発明者】
【氏名】ハビビアン、アミールホセイン
(72)【発明者】
【氏名】ゴドラティ、アミール
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096BA04
5L096CA02
5L096DA02
5L096EA14
5L096GA51
5L096HA11
5L096JA03
(57)【要約】
ビデオを処理するためのプロセッサ実装方法が、人工ニューラルネットワーク(ANN)において、入力としてビデオを受信することを含む。ビデオは、フレームのシーケンスを含む。ビデオの現在のフレームおよびビデオの前のフレームの特徴のセットが抽出される。特徴のセットは、現在のフレームの参照特徴のセットと位置合わせされるべき、前のフレームのピクセルのセットについてのサポート特徴のセットを含む。前のフレームのサポート特徴のセットのピクセルのセットにおける各ピクセルについてのサポート特徴と、現在のフレームの対応する参照特徴との間の類似度が計算される。アテンションマップが、類似度に基づいて生成される。現在のフレームの再構成を含む出力が、アテンションマップに基づいて生成される。
【選択図】図6
【特許請求の範囲】
【請求項1】
ビデオを処理するためのプロセッサ実装方法であって、
人工ニューラルネットワーク(ANN)において、入力として前記ビデオを受信することと、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出することと、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算することと、
前記類似度に基づいて、アテンションマップを生成することと、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成することと、
を備えるプロセッサ実装方法。
【請求項2】
前記出力を表示することをさらに備える、請求項1に記載のプロセッサ実装方法。
【請求項3】
前記再構成された現在のフレームは、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせを含む、請求項1に記載のプロセッサ実装方法。
【請求項4】
前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用することをさらに備え、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、請求項1に記載のプロセッサ実装方法。
【請求項5】
前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用することをさらに備える、請求項1に記載のプロセッサ実装方法。
【請求項6】
前記再構成された現在のフレームをアップサンプリングすることをさらに備える、請求項1に記載のプロセッサ実装方法。
【請求項7】
ビデオを処理するための装置であって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサと、
を備え、前記少なくとも1つのプロセッサは、
人工ニューラルネットワーク(ANN)において、入力として前記ビデオを受信することと、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出することと、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算することと、
前記類似度に基づいて、アテンションマップを生成することと、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成することと、
を行うように構成される、装置。
【請求項8】
前記少なくとも1つのプロセッサは、前記出力を表示するようにさらに構成される、請求項7に記載の装置。
【請求項9】
前記再構成された現在のフレームは、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせを含む、請求項7に記載の装置。
【請求項10】
前記少なくとも1つのプロセッサは、前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用するようにさらに構成され、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、請求項7に記載の装置。
【請求項11】
前記少なくとも1つのプロセッサは、前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用するようにさらに構成される、請求項7に記載の装置。
【請求項12】
前記少なくとも1つのプロセッサは、前記再構成された現在のフレームをアップサンプリングするようにさらに構成される、請求項7に記載の装置。
【請求項13】
プログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、プロセッサによって実行され、かつ、
人工ニューラルネットワーク(ANN)において、入力としてビデオを受信するためのプログラムコードと、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出するためのプログラムコードと、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算するためのプログラムコードと、
前記類似度に基づいて、アテンションマップを生成するためのプログラムコードと、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成するためのプログラムコードと、
を備える、非一時的なコンピュータ可読媒体。
【請求項14】
前記プログラムコードは、前記出力を表示するためのプログラムコードをさらに備える、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記再構成された現在のフレームは、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせを含む、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項16】
前記プログラムコードは、前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用するためのプログラムコードをさらに備え、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記プログラムコードは、前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用するためのプログラムコードをさらに備える、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記プログラムコードは、前記再構成された現在のフレームをアップサンプリングするためのプログラムコードをさらに備える、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項19】
ビデオを処理するための装置であって、
人工ニューラルネットワーク(ANN)において、入力として前記ビデオを受信するための手段と、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出するための手段と、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算するための手段と、
前記類似度に基づいて、アテンションマップを生成するための手段と、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成するための手段と、
を備える装置。
【請求項20】
前記出力を表示することをさらに備えるための手段をさらに備える、請求項19に記載の装置。
【請求項21】
前記再構成された現在のフレームは、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせを含む、請求項19に記載の装置。
【請求項22】
前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用するための手段をさらに備え、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、請求項19に記載の装置。
【請求項23】
前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用するための手段をさらに備える、請求項19に記載の装置。
【請求項24】
前記再構成された現在のフレームをアップサンプリングするための手段をさらに備える、請求項19に記載の装置。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001] 本願は、2022年3月16日に出願された「EFFICIENT SELF-ATTENTION FOR VIDEO PROCESSING」と題する米国特許出願第17/696,797号の優先権を主張し、これは、2021年3月17日に出願された「EFFICIENT SELF-ATTENTION FOR VIDEO PROCESSING」と題する米国仮特許出願第63/162,478号の利益を主張するものであり、これらの開示は、その全体が参照により明示的に組み込まれる。
【技術分野】
【0002】
[0002] 本開示の態様は、一般にニューラルネットワーク(neural network)に関し、より詳細には、自己アテンション(self-attention)を使用したビデオ処理(video processing)に関する。
【背景技術】
【0003】
[0003] 人工ニューラルネットワークは、人工ニューロン(例えば、ニューロンモデル)の相互接続されたグループを備え得る。人工ニューラルネットワークは、計算デバイスであり得るか、または計算デバイスによって実行される方法として表され得る。
【0004】
[0004] ニューラルネットワークは、テンソル(tensor)を消費し、テンソルを生成するオペランド(operand)で構成される。ニューラルネットワークは、複雑な問題を解くために使用され得るが、ネットワークサイズおよび解を生成するために実行され得る計算の数が膨大になり得るので、ネットワークがタスクを完了するための時間が長くなり得る。さらに、これらのタスクは、限られた計算能力を有し得るモバイルデバイス上で実行され得るので、深層ニューラルネットワークの計算コストが問題になり得る。
【0005】
[0005] 畳み込みニューラルネットワークは、フィードフォワード人工ニューラルネットワークの一種である。畳み込みニューラルネットワークは、各々が受容野を有しかつ入力空間を集合的にタイリングするニューロンの集合を含み得る。深層畳み込みニューラルネットワーク(DCN:deep convolutional neural network)などの畳み込みニューラルネットワーク(CNN:Convolutional neural network)は、多数の用途を有する。特に、これらのニューラルネットワークアーキテクチャは、画像認識、パターン認識、音声認識、自律運転、ビデオ処理および他の分類タスクなどの、様々な技術において使用される。
【0006】
[0006] ビデオ処理は、隣接フレームから情報を取得することを伴う。隣接フレームから得られる時間的情報は、ビデオフレーム再構成品質に貢献し得るが、それは著しい計算オーバーヘッドという代償を伴う。増大した計算オーバーヘッドを介して提示される課題は、スマートフォンおよび他のモバイルデバイスなどの、リソースが限られたデバイスにおいてさらに悪化する。
【発明の概要】
【0007】
[0007] 本開示は、独立請求項にそれぞれ記載される。本開示のいくつかの態様は、従属請求項に記載されている。
【0008】
[0008] 本開示の一態様では、ビデオを処理するためのプロセッサ実装方法(processor-implemented method)が提示される。プロセッサ実装方法は、人工ニューラルネットワーク(ANN:artificial neural network)において、入力(input)としてビデオを受信することを含み、ビデオは、フレーム(frame)のシーケンス(sequence)を備える。プロセッサ実装はまた、ビデオの現在のフレーム(current frame)およびビデオの前のフレーム(prior frame)の各々の特徴(feature)のセットを抽出する(extract)ことを含む。特徴のセットは、現在のフレームの参照特徴(reference feature)のセットと位置合わせされるべき(to be aligned with)、現在のフレームのピクセル(pixel)のセットについてのサポート特徴(support feature)のセットを含む。プロセッサ実装は、追加として、前のフレームのサポート特徴のセットのピクセルのセットにおける各ピクセルについてのサポート特徴と、現在のフレームの対応する参照特徴(corresponding reference feature)との間の類似度(similarity)を計算することを含む。プロセッサ実装は、類似度に基づいて、アテンションマップ(attention map)を生成することをさらに含む。方法はまた、アテンションマップに基づいて、現在のフレームの再構成(reconstruction)を備える出力(output)を生成することを含む。
【0009】
[0009] 本開示の別の態様は、ビデオを処理するための装置に向けられる。装置は、人工ニューラルネットワーク(ANN)において、入力としてビデオを受信するための手段を含む。ビデオは、フレームのシーケンスを含む。装置はまた、ビデオの現在のフレームおよびビデオの前のフレームの各々の特徴のセットを抽出するための手段を含む。特徴のセットは、現在のフレームの参照特徴のセットと位置合わせされるべき、現在のフレームのピクセルのセットについてのサポート特徴のセットを含む。装置は、追加として、前のフレームのサポート特徴のセットのピクセルのセットにおける各ピクセルについてのサポート特徴と、現在のフレームの対応する参照特徴との間の類似度を計算するための手段を含む。装置は、類似度に基づいて、アテンションマップを生成するための手段をさらに含む。装置はまた、アテンションマップに基づいて、現在のフレームの再構成を備える出力を生成するための手段を含む。
【0010】
[0010] 本開示の別の態様では、ビデオを処理するための非一時的なプログラムコード(program code)を記録した非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)が開示される。プログラムコードは、プロセッサによって実行され、人工ニューラルネットワーク(ANN)において、入力としてビデオを受信するためのプログラムコードを含む。ビデオは、フレームのシーケンスを含む。プログラムコードはまた、ビデオの現在のフレームおよびビデオの前のフレームの各々の特徴のセットを抽出するためのプログラムコードを含む。特徴のセットは、現在のフレームの参照特徴のセットと位置合わせされるべき、現在のフレームのピクセルのセットについてのサポート特徴のセットを含む。プログラムコードは、追加として、前のフレームのサポート特徴のセットのピクセルのセットにおける各ピクセルについてのサポート特徴と、現在のフレームの対応する参照特徴との間の類似度を計算するためのプログラムコードを含む。プログラムコードは、類似度に基づいて、アテンションマップを生成するためのプログラムコードをさらに含む。プログラムコードはまた、アテンションマップに基づいて、現在のフレームの再構成を備える出力を生成するためのプログラムコードを含む。
【0011】
[0011] 本開示の別の態様は、ビデオを処理するための装置に向けられる。装置は、メモリと、メモリに結合された1つまたは複数のプロセッサと、有する。(1つまたは複数の)プロセッサは、人工ニューラルネットワーク(ANN)において、入力としてビデオを受信するように構成される。ビデオは、フレームのシーケンスを含む。(1つまたは複数の)プロセッサはまた、ビデオの現在のフレームおよびビデオの前のフレームの各々の特徴のセットを抽出するように構成される。特徴のセットは、現在のフレームの参照特徴のセットと位置合わせされるべき、現在のフレームのピクセルのセットについてのサポート特徴のセットを含む。(1つまたは複数の)プロセッサは、追加として、前のフレームのサポート特徴のセットのピクセルのセットにおける各ピクセルについてのサポート特徴と、現在のフレームの対応する参照特徴との間の類似度を計算するように構成される。(1つまたは複数の)プロセッサは、類似度に基づいて、アテンションマップを生成するようにさらに構成される。さらに、(1つまたは複数の)プロセッサは、アテンションマップに基づいて、現在のフレームの再構成を備える出力を生成するように構成される。
【0012】
[0012] 本開示の追加の特徴および利点が、以下で説明される。本開示が、本開示と同じ目的を実行するための他の構造を修正または設計するための基礎として容易に利用され得ることが、当業者によって理解されるべきである。また、そのような同等の構造が、添付の特許請求の範囲に記載される本開示の教示から逸脱しないことも、当業者によって認識されるべきである。さらなる目的および利点と共に、その構成および動作の方法の両方について、本開示の特徴であると考えられる新規の特徴は、添付の図面に関連して考慮されるとき、以下の説明からより良く理解されるであろう。しかしながら、図面の各々は、例示および説明のみを目的として提供されており、本開示の限定の定義として意図されるものではないことが、明確に理解されるべきである。
【0013】
[0013] 本開示の特徴、性質、および利点は、同様の参照符号が全体を通して同様のものを指す図面と共に考慮されるとき、以下に記載される詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【0014】
図1】[0014] 図1は、本開示のある特定の態様による、中央処理ユニット(CPU)を含む、システムオンチップ(SoC)の例となるインプリメンテーションを例示する。
図2A】[0015] 図2Aは、本開示の態様による、ニューラルネットワークを例示する図である。
図2B図2Bは、本開示の態様による、ニューラルネットワークを例示する図である。
図2C図2Cは、本開示の態様による、ニューラルネットワークを例示する図である。
図2D】[0016] 図2Dは、本開示の態様による、例示的な深層畳み込みネットワーク(DCN:deep convolutional network)を例示する図である。
図3】[0017] 図3は、本開示の態様による、例示的な深層畳み込みネットワーク(DCN)を例示するブロック図である。
図4】[0018] 図4は、人工知能(AI)機能をモジュール化し得る例示的なソフトウェアアーキテクチャを例示するブロック図である。
図5】[0019] 図5は、本開示の態様による、処理のためのビデオの例となるフレームを例示するブロック図である。
図6】[0020] 図6は、本開示の態様による、自己アテンションを使用したフレームの例となる位置合わせを例示するブロック図である。
図7A】[0021] 図7Aは、本開示の態様による、自己アテンションを使用してフレームを位置合わせするための例となるアーキテクチャを例示する。
図7B図7Bは、本開示の態様による、自己アテンションを使用してフレームを位置合わせするための例となるアーキテクチャを例示する。
図8】[0022] 図8は、本開示の態様による、クエリ選択を使用したフレームの例となる位置合わせを例示する図である。
図9】[0023] 図9は、本開示の態様による、ビデオを処理するための方法を例示するフロー図である。
【発明を実施するための形態】
【0015】
[0024] 添付の図面に関連して以下に記載される詳細な説明は、様々な構成の説明として意図され、説明される概念が実施され得る唯一の構成を表すようには意図されない。詳細な説明は、様々な概念の完全な理解を提供することを目的とした特定の詳細を含む。しかしながら、これらの概念が、これらの特定の詳細なしで実施され得ることは、当業者には明らかであろう。いくつかの事例では、周知の構造および構成要素が、このような概念を曖昧にすることを避けるために、ブロック図形式で示される。
【0016】
[0025] 本教示に基づき、当業者は、本開示の範囲が、本開示のその他任意の態様と組み合わされて実装されようと、あるいは独立して実装されようと、本開示の任意の態様をカバーするように意図されていることを理解すべきである。例えば、記載される任意の数の態様を使用して、装置がインプリメントされ得、または方法が実施され得る。加えて、本開示の範囲は、記載される本開示の様々な態様に加えて、またはそれ以外の、他の構造、機能、または構造と機能を使用して実施されるそのような装置または方法をカバーするように意図される。開示される本開示の任意の態様が、請求項の1つまたは複数の要素によって具現化され得ることが理解されるべきである。
【0017】
[0026] 「例示的(exemplary)」という用語は、「例、事例、または例示を提供する」という意味で使用される。「例示的」と説明される任意の態様は、必ずしも他の態様よりも好ましいまたは有利であるように解釈されるべきではない。
【0018】
[0027] 特定の態様が説明されるが、これらの態様の多くの変形および置換が、本開示の範囲内に含まれる。好ましい態様のいくつかの利益および利点が述べられるが、本開示の範囲は、特定の利益、用途または目的に限定されるようには意図されない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワークおよびプロトコルに広く適用可能であるように意図されており、そのうちのいくつかは、図面および好ましい態様の以下の説明において、例として例示される。詳細な説明および図面は、限定ではなく、本開示の単なる例示であり、本開示の範囲は、添付された特許請求の範囲およびそれらの同等物によって定義されている。
【0019】
[0028] ニューラルネットワークは、複雑な問題を解くために使用され得る。しかしながら、ネットワークサイズおよび解を生成するために実行され得る計算の数が膨大になり得るので、ネットワークがタスクを完了するための時間が長くなり得る。さらに、これらのタスクは、限られた計算能力を有し得るモバイルデバイス上で実行され得るので、深層ニューラルネットワークの計算コストが問題になり得る。
【0020】
[0029] 深層畳み込みニューラルネットワーク(DCN)などの畳み込みニューラルネットワーク(CNN:Convolutional neural network)は、多数の用途を有する。特に、これらのニューラルネットワークアーキテクチャは、例えば、ビデオ処理を含む、様々な技術において使用される。
【0021】
[0030] ビデオ処理は、隣接フレームから情報を取得することを伴う。(例えば、局所動きまたはグローバル動きに起因する)位置ずれが存在する場合には、畳み込みカーネルは、時間的情報を利用しようと奮闘し得る。従来のアプローチは、著しい計算コスト、遅延、およびエネルギー消費につながる拡張演算子(expansive operators)に依拠する。
【0022】
[0031] これらおよび他の課題に対処するために、本開示の態様は、アテンションベースの位置合わせモデルに向けられる。アテンションベースの位置合わせモデルは、隣接サポートフレーム間の動きの局所性を活用する。本開示の態様によれば、ピクセルは連続するフレーム間で変位を受けるので、注目されるコンテキスト(attended context)は、局所空間的近傍(local spatial neighborhood)に限定され得る。追加として、ピクセルは、1つのフレームから次のフレームへと同じ量の変位を受けない場合があるので、位置合わせ動作は、ゲーティングモジュール(gating module)の制御下で著しい変化を受ける領域に限定され得る。ゲーティングモジュールは、入力に基づいて位置合わせ(alignment)がどこでスキップされ得るかを示すピクセルにわたるバイナリ関数(binary function)を学習し得る。
【0023】
[0032] さらに、本開示の態様は、限定はしないが、ビデオツ-ビデオ処理を含む、ビデオ処理の分野において広く適用可能である。例えば、本開示の態様は、ビデオにおける超解像(例えば、スマートフォンセンサ)、ならびにフレームの位置合わせ、動き補償ノイズ除去、デブロッキング、ぼけ除去(deblurring)、およびビデオにおける安定化などの他のビデオエンハンスメントを改善するために適用され得る。
【0024】
[0033] 図1は、システムオンチップ(SoC)100の例となるインプリメンテーションを例示し、これは、人工ニューラルネットワーク(例えば、ニューラルエンドツーエンドネットワーク)を使用するビデオ処理のために構成された中央処理ユニット(CPU)102またはマルチコアCPUを含み得る。変数(例えば、ニューラル信号およびシナプス重み)、計算デバイスに関連付けられたシステムパラメータ(例えば、重み付きニューラルネットワーク)、遅延、周波数ビン情報、およびタスク情報が、ニューラル処理ユニット(NPU)108に関連付けられたメモリブロック中か、CPU102に関連付けられたメモリブロック中か、グラフィックス処理ユニット(GPU)104に関連付けられたメモリブロック中か、デジタルシグナルプロセッサ(DSP)106に関連付けられたメモリブロック中か、メモリブロック118中に記憶され得、または複数のブロックにわたって分散され得る。CPU102において実行される命令は、CPU102に関連付けられたプログラムメモリからロードされ得るか、またはメモリブロック118からロードされ得る。
【0025】
[0034] SoC100はまた、GPU104、DSP106、接続性ブロック110、これは、第5世代(5G)接続性、第4世代ロングタームエボリューション(4G LTE(登録商標))接続性、Wi-Fi接続性、USB接続性、Bluetooth(登録商標)接続性、および同様のものを含み得る、ならびに、例えばジェスチャを検出および認識し得るマルチメディアプロセッサ112などの、特定の機能に合わせられた(tailored to)追加の処理ブロックを含み得る。1つのインプリメンテーションでは、NPU108は、CPU102、DSP106、および/またはGPU104においてインプリメントされる。SoC100はまた、センサプロセッサ114、画像信号プロセッサ(ISP)116、および/または、全地球測位システムを含み得るナビゲーションモジュール120を含み得る。
【0026】
[0035] SoC100は、ARM命令セットに基づき得る。本開示の一態様では、汎用プロセッサ102にロードされる命令は、人工ニューラルネットワーク(ANN)において、入力としてビデオを受信するためのコードを含み得る。ビデオは、フレームのシーケンスを備える。汎用プロセッサ102はまた、ビデオの現在のフレームおよびビデオの前のフレームの特徴のセットを抽出するためのコードを含み得る。特徴のセットは、現在のフレームの参照特徴のセットと位置合わせされるべき、前のフレームのピクセルのセットについてのサポート特徴のセットを含む。汎用プロセッサ102は、追加として、前のフレームのサポート特徴のセットのピクセルのセットにおける各ピクセルについてのサポート特徴と、現在のフレームの対応する参照特徴との間の類似度を計算するためのコードを含み得る。汎用プロセッサ102はまた、類似度に基づいて、アテンションマップを生成するためのコードを含み得る。さらに、汎用プロセッサ102は、アテンションマップに基づいて、現在のフレームの再構成を備える出力を生成するためのコードを含み得る。
【0027】
[0036] 深層学習アーキテクチャは、各層において連続的により高度な抽象化レベル(successively higher levels of abstraction)で入力を表現する(represent)ように学習することによってオブジェクト認識タスクを実行し得、それによって、入力データの有用な特徴表現を構築(building up)する。このようにして、深層学習は、従来の機械学習の主要なボトルネック(major bottleneck)に対処する。深層学習が出現する前は、オブジェクト認識問題に対する機械学習アプローチは、ことによると浅層分類器(shallow classifier)との組合せにおいて、人的に設計された特徴(human engineered features)に依拠するところが大きかった。浅層分類器は、例えば、入力がどのクラスに属するかを予測するために、特徴ベクトル成分の加重和(weighted sum)がしきい値と比較され得る、2クラス線形分類器であり得る。人的に設計された特徴は、領域の専門知識を持つエンジニアによって、特定の問題領域に合わせられたテンプレートまたはカーネルであり得る。深層学習アーキテクチャは、対照的に、トレーニングを通じてではあるが、人間のエンジニアが設計し得るものと同様の特徴を表現するように学習し得る。さらに、深層ネットワークは、人間が考慮しなかったであろう新しいタイプの特徴を表現および認識するように学習し得る。
【0028】
[0037] 深層学習アーキテクチャは、特徴の階層を学習し得る。例えば、視覚データが提示された場合、第1の層は、入力ストリームにおける、エッジなどの比較的単純な特徴を認識するように学習し得る。別の例では、聴覚データが提示された場合、第1の層は、特定の周波数におけるスペクトルパワーを認識するように学習し得る。第1の層の出力を入力として取る第2の層は、視覚データについては単純な形状または聴覚データについては音の組合せなど、特徴の組合せを認識するように学習し得る。例えば、上位層は、視覚データにおける複雑な形状または聴覚データにおける単語を表現するように学習し得る。さらに上位の層は、共通の視覚オブジェクトまたは発話フレーズを認識するように学習し得る。
【0029】
[0038] 深層学習アーキテクチャは、自然階層構造を有する問題に適用されるとき、特によく機能し得る。例えば、モータ付き車両の分類は、車輪、フロントガラス、および他の特徴を認識するように最初に学習することから恩恵を受け得る。これらの特徴は、車、トラック、および飛行機を認識するために、異なる方法で上位層において組み合われ得る。
【0030】
[0039] ニューラルネットワークは、様々な結合性パターン(connectivity patterns)を用いて設計され得る。フィードフォワードネットワークでは、情報は、下位層から上位層に渡され、所与の層における各ニューロンが、上位層におけるニューロンに伝達する。階層的な表現が、上記で説明されたように、フィードフォワードネットワークの連続した層において構築され得る。ニューラルネットワークはまた、再帰型(recurrent)結合または(トップダウンとも呼ばれる)フィードバック結合を有し得る。再帰型結合では、所与の層におけるニューロンからの出力は、同じ層における別のニューロンに伝達され得る。再帰型アーキテクチャは、シーケンスにおいてニューラルネットワークに与えられる入力データチャンクのうちの1つより多くにわたる(span)パターンを認識するのに役立ち得る。所与の層におけるニューロンから下位層におけるニューロンへの結合は、フィードバック(またはトップダウン)結合と呼ばれる。多くのフィードバック結合を有するネットワークは、上位レベルの概念の認識が入力の特定の下位レベルの特徴を区別することを支援し得るときに役立ち得る。
【0031】
[0040] ニューラルネットワークの層間の結合は、全結合または局所結合であり得る。図2Aは、全結合ニューラルネットワーク202の一例を例示する。全結合ニューラルネットワーク202では、第1の層におけるニューロンが、その出力を第2の層におけるすべてのニューロンに伝達し得、これにより、第2の層における各ニューロンは、第1の層におけるすべてのニューロンから入力を受信することになる。図2Bは、局所結合ニューラルネットワーク204の一例を例示する。局所結合ニューラルネットワーク204では、第1の層におけるニューロンが、第2の層における限られた数のニューロンに結合され得る。より一般的には、局所結合ニューラルネットワーク204の局所結合層が、ある層における各ニューロンが、同じまたは同様の結合性パターンを有することになるように構成され得るが、異なる値を有し得る結合強度(例えば、210、212、214、および216)で構成され得る。局所結合の結合性パターンは、所与の領域における上位層のニューロンが、ネットワークへの総入力の制限された部分の特性(properties)にトレーニングを通じて調整される入力を受信し得るので、上位層における空間的に別個の受容野(spatially distinct receptive fields)を生じさせ得る。
【0032】
[0041] 局所結合ニューラルネットワークの一例は、畳み込みニューラルネットワークである。図2Cは、畳み込みニューラルネットワーク206の一例を例示する。畳み込みニューラルネットワーク206は、第2の層における各ニューロンのための入力に関連付けられた結合強度(例えば、208)が共有されるように構成される。畳み込みニューラルネットワークは、入力の空間的ロケーションが意味を持つ問題によく適し得る。
【0033】
[0042] 畳み込みニューラルネットワークの1つのタイプが、深層畳み込みネットワーク(DCN)である。図2Dは、車載カメラなどの画像キャプチャデバイス230から入力された画像226から視覚的特徴を認識するように設計されたDCN200の詳細な例を例示する。現在の例のDCN200は、交通標識および交通標識上に設けられた番号を識別するようにトレーニングされ得る。当然ながら、DCN200は、レーンマーキングを識別することまたは交通信号を識別することなどの、他のタスクのためにトレーニングされ得る。
【0034】
[0043] DCN200は、教師あり学習を用いてトレーニングされ得る。トレーニング中、DCN200は、速度制限標識の画像226などの画像を提示され得、次いで、「フォワードパス(forward pass)」が、出力222を生成するために計算され得る。DCN200は、特徴抽出セクションと、分類セクションと、を含み得る。画像226を受信すると、畳み込み層232が、第1のセットの特徴マップ218を生成するために、画像226に畳み込みカーネル(図示せず)を適用し得る。例として、畳み込み層232のための畳み込みカーネルは、28×28特徴マップを生成する5×5カーネルであり得る。本例では、4つの異なる特徴マップが第1のセットの特徴マップ218において生成されるので、4つの異なる畳み込みカーネルが、畳み込み層232において画像226に適用された。畳み込みカーネルは、フィルタまたは畳み込みフィルタとも呼ばれ得る。
【0035】
[0044] 第1のセットの特徴マップ218は、第2のセットの特徴マップ220を生成するために、最大プーリング層(図示せず)によってサブサンプリングされ得る。最大プーリング層は、第1のセットの特徴マップ218のサイズを低減する。すなわち、14×14などの第2のセットの特徴マップ220のサイズは、28×28などの第1のセットの特徴マップ218のサイズよりも小さい。低減されたサイズは、メモリ消費を低減しながら、後続の層に同様の情報を提供する。第2のセットの特徴マップ220は、特徴マップの1つまたは複数の後続のセット(図示せず)を生成するために、1つまたは複数の後続の畳み込み層(図示せず)を介してさらに畳み込まれ得る。
【0036】
[0045] 図2Dの例では、第2のセットの特徴マップ220は、第1の特徴ベクトル224を生成するために畳み込まれる。さらに、第1の特徴ベクトル224は、第2の特徴ベクトル228を生成するためにさらに畳み込まれる。第2の特徴ベクトル228の各特徴は、「標識(sign)」、「60」、および「100」などの、画像226の可能性がある特徴に対応する数値(number)を含み得る。softmax関数(図示せず)が、第2の特徴ベクトル228における数値を確率に変換し得る。したがって、DCN200の出力222は、画像226が1つまたは複数の特徴を含む確率である。
【0037】
[0046] 本例では、「標識」および「60」についての出力222における確率は、「30」、「40」、「50」、「70」、「80」、「90」、および「100」などの、出力222の他のものの確率よりも高い。トレーニング前は、DCN200によって生成される出力222は、正しくない可能性が高い。したがって、出力222とターゲット出力との間で誤差が算出され得る。ターゲット出力は、画像226のグラウンドトゥルース(例えば、「標識」および「60」)である。次いで、DCN200の重みは、DCN200の出力222がターゲット出力とより密接に整合される(aligned)ように調整され得る。
【0038】
[0047] 重みを調整するために、学習アルゴリズムが、重みについての勾配ベクトルを計算し得る。勾配は、重みが調整された場合に、誤差が増大または低減するであろう量を示し得る。最上層では、勾配は、最後から2番目の層における活性化されたニューロンと出力層におけるニューロンとを結合する重みの値に直接対応し得る。下位層では、勾配は、重みの値と、上位層の計算された誤差勾配とに依存し得る。次いで、重みは、誤差を低減させるように調整され得る。重みを調整するこの方法は、それがニューラルネットワークを通じた「バックワードパス(backward pass)」を伴うので、「誤差逆伝播(back propagation)」と呼ばれ得る。
【0039】
[0048] 実際には、重みの誤差勾配は、算出された勾配が、真の誤差勾配(true error gradient)を近似するように、少数の例にわたって算出され得る。この近似方法は、確率的勾配降下法(stochastic gradient descent)と呼ばれ得る。確率的勾配降下法は、システム全体の達成可能な誤差率(error rate)の減少が止まるまで、または誤差率がターゲットレベルに達するまで繰り返され得る。学習後、DCNは、新しい画像を提示され得、ネットワークを通じたフォワードパスが、DCNの推論または予測と見なされ得る出力222をもたらし得る。
【0040】
[0049] 深層信念ネットワーク(DBN:deep belief networks)は、隠れノードの複数の層(multiple layers of hidden nodes)を備える確率モデルである。DBNは、トレーニングデータセットの階層的な表現を抽出するために使用され得る。DBNは、制限付きボルツマンマシン(RBM:Restricted Boltzmann Machines)の層を積み上げること(stacking up)によって取得され得る。RBMは、入力のセットにわたる確率分布を学習し得る人工ニューラルネットワークの一種である。RBMは、各入力がカテゴリ化されるべきクラスについての情報がない状態で確率分布を学習し得るので、RBMは、多くの場合、教師なし学習において使用される。ハイブリッド教師なしおよび教師ありパラダイムを使用して、DBNの下方のRBM(bottom RBM)は、教師なしの方法でトレーニングされ得、かつ特徴抽出器として機能し得、また、上方のRBM(top RBM)は、(ターゲットクラスおよび前の層からの入力の同時分布(joint distribution)で)教師ありの方法でトレーニングされ得、かつ分類器として機能し得る。
【0041】
[0050] 深層畳み込みネットワーク(DCN)は、畳み込みネットワークのネットワークであり、追加のプーリング層および正規化層を用いて構成される。DCNは、多くのタスクについて最先端のパフォーマンスに達している。DCNは、入力ターゲットおよび出力ターゲットの両方が、多くのエグゼンプラー(exemplars)について知られており、かつ勾配降下法の使用によってネットワークの重みを修正するために使用される、教師あり学習を使用してトレーニングされ得る。
【0042】
[0051] DCNは、フィードフォワードネットワークであり得る。加えて、上記で説明されたように、DCNの第1の層におけるニューロンから、次の上位層におけるニューロンのグループへの結合は、第1の層におけるニューロンにわたって共有される。DCNのフィードフォワード結合および共有結合は、高速処理に活用され得る。DCNの計算負担は、例えば、再帰型結合またはフィードバック結合を備える同様のサイズのニューラルネットワークのそれよりも、はるかに少なくなり得る。
【0043】
[0052] 畳み込みネットワークの各層の処理は、空間的に不変のテンプレートまたは基底射影(basis projection)であると見なされ得る。入力が、最初にカラー画像の赤、緑、および青チャネルのような複数のチャネルに分解される場合には、その入力でトレーニングされた畳み込みネットワークは、画像の軸に沿った2つの空間的次元と、色情報をキャプチャする第3の次元とを有する、3次元であると見なされ得る。畳み込み結合の出力は、後続の層において特徴マップを形成すると考えられ得るとともに、特徴マップ(例えば、220)の各要素が、複数のチャネルの各々から、および前の層(例えば、特徴マップ218)におけるある範囲のニューロン(a range of neurons)からの入力を受信する。特徴マップにおける値は、整流化(rectification)、max(0,x)のような、非線形性を用いてさらに処理され得る。隣接するニューロンからの値は、さらにプーリングされ得、これは、ダウンサンプリングに対応し、追加の局所不変性および次元削減(dimensionality reduction)を提供し得る。白色化に対応する正規化がまた、特徴マップにおけるニューロン間の側抑制(lateral inhibition)を通じて適用され得る。
【0044】
[0053] 深層学習アーキテクチャのパフォーマンスは、より多くのラベル付けされたデータポイントが利用可能になるにつれて、または計算能力が増大するにつれて向上し得る。現代の深層ニューラルネットワークは、わずか15年前に一般的な研究者に利用可能であったものよりも何千倍も大きい計算リソースで日常的に(routinely)トレーニングされている。新しいアーキテクチャおよびトレーニングパラダイムは、深層学習のパフォーマンスをさらに高め得る。整流された線形ユニットは、勾配消失(vanishing gradients)として知られるトレーニング課題を低減し得る。新しいトレーニング技法が、過剰適合(over-fitting)を低減し、したがって、より大きいモデルがより良い汎化を達成することを可能にし得る。カプセル化技法は、所与の受容野においてデータを抽象化(abstract)し、全体的なパフォーマンスをさらに高め得る。
【0045】
[0054] 図3は、深層畳み込みネットワーク350を例示するブロック図である。深層畳み込みネットワーク350は、結合性および重みの共有に基づいて、複数の異なるタイプの層を含み得る。図3に示されるように、深層畳み込みネットワーク350は、畳み込みブロック354A、354Bを含む。畳み込みブロック354A、354Bの各々は、畳み込み層(CONV)356、正規化層(LNorm)358、および最大プーリング層(MAX POOL)360で構成され得る。
【0046】
[0055] 畳み込み層356は、1つまたは複数の畳み込みフィルタを含み得、これは、特徴マップを生成するために、入力データに適用され得る。2つの畳み込みブロック354A、354Bのみが示されているが、本開示はそのように限定されるものではなく、代わりに、設計の選好に従って、任意の数の畳み込みブロック354A、354Bが、深層畳み込みネットワーク350に含まれ得る。正規化層358は、畳み込みフィルタの出力を正規化し得る。例えば、正規化層358は、白色化または側抑制を提供し得る。最大プーリング層360は、局所不変性および次元削減のために、空間にわたるダウンサンプリングアグリゲーションを提供し得る。
【0047】
[0056] 深層畳み込みネットワークの、例えば、並列フィルタバンク(parallel filter banks)は、高いパフォーマンスおよび低い電力消費を達成するために、SoC100のCPU102またはGPU104上にロード(loaded on)され得る。代替の実施形態では、並列フィルタバンクは、SoC100のDSP106またはISP116上にロードされ得る。加えて、深層畳み込みネットワーク350は、センサおよびナビゲーションにそれぞれ専用のセンサプロセッサ114およびナビゲーションモジュール120などの、SoC100上に存在し得る他の処理ブロックにアクセスし得る。
【0048】
[0057] 深層畳み込みネットワーク350はまた、1つまたは複数の全結合層362(FC1およびFC2)を含み得る。深層畳み込みネットワーク350は、ロジスティック回帰(LR:logistic regression)層364をさらに含み得る。深層畳み込みネットワーク350の各層356、358、360、362、364の間には、更新されるべき重み(図示せず)がある。これら層(例えば、356、358、360、362、364)の各々の出力は、畳み込みブロック354Aの最初において供給される入力データ352(例えば、画像、音声、ビデオ、センサデータ、および/または他の入力データ)から階層的な特徴表現を学習するために、深層畳み込みネットワーク350におけるこれら層(例えば、356、358、360、362、364)のうちの後続する1つの入力として機能し得る。深層畳み込みネットワーク350の出力は、入力データ352についての分類スコア366である。分類スコア366は、確率のセットであり得、ここで、各確率は、入力データが特徴のセットからの特徴を含んでいる確率である。
【0049】
[0058] 図4は、人工知能(AI)機能をモジュール化し得る例示的なソフトウェアアーキテクチャ400を例示するブロック図である。このアーキテクチャを使用して、本開示の態様に従って、システムオンチップ(SoC)420の様々な処理ブロック(例えば、CPU422、DSP424、GPU426および/またはNPU428)に、AIアプリケーション402のためのトレーニング後の量子化(post-training quantization)についての開示されるような適応丸め(adaptive rounding)をサポートさせ得るアプリケーションが設計され得る。
【0050】
[0059] AIアプリケーション402は、例えば、デバイスが現在動作しているロケーションを示すシーンの検出および認識を提供し(provide for)得る、ユーザ空間404において定義された機能(functions)を呼び出すように構成され得る。AIアプリケーション402は、例えば、認識されたシーンがオフィス、講堂、レストラン、または湖のような屋外環境であるかどうかに依存して、マイクロフォンおよびカメラを異なって構成し得る。AIアプリケーション402は、AI機能アプリケーションプログラミングインターフェース(API)406において定義されたライブラリに関連付けられた、コンパイルされたプログラムコードへの要求を行い得る。この要求は、例えば、ビデオおよび測位データに基づいて推論応答を提供するように構成された深層ニューラルネットワークの出力に最終的に依拠し得る。
【0051】
[0060] ランタイムフレームワークのコンパイルされたコードであり得るランタイムエンジン408が、AIアプリケーション402にとってさらにアクセス可能であり得る。AIアプリケーション402は、ランタイムエンジンに、例えば、特定の時間間隔において、またはアプリケーションのユーザインターフェースによって検出されたイベントによってトリガされる、推論を要求することを行わせ得る。推論応答を提供することを行わされると、ランタイムエンジンは、順に、SoC420上で実行中の、カーネル412などの、オペレーティング(OS)空間におけるオペレーティングシステムに信号を送り得る。オペレーティングシステムは、順に、CPU422、DSP424、GPU426、NPU428、またはこれらの何らかの組合せ上で、量子化の連続的な緩和を実行させ得る。CPU422は、オペレーティングシステムによって直接アクセスされ得、他の処理ブロックは、それぞれ、DSP424、GPU426、またはNPU428のためのドライバ414、416、または418などの、ドライバを通じてアクセスされ得る。例示的な例では、深層ニューラルネットワークは、CPU422、DSP424、およびGPU426などの、処理ブロックの組合せ上で実行されるように構成され得るか、またはNPU428上で実行され得る。
【0052】
[0061] アプリケーション402(例えば、AIアプリケーション)は、例えば、デバイスが現在動作しているロケーションを示すシーンの検出および認識を提供し得る、ユーザ空間404において定義された機能を呼び出すように構成され得る。アプリケーション402は、例えば、認識されたシーンがオフィス、講堂、レストラン、または湖のような屋外環境であるかどうかに依存して、マイクロフォンおよびカメラを異なって構成し得る。アプリケーション402は、現在のシーンの推定を提供するために、SceneDetectアプリケーションプログラミングインターフェース(API)406において定義されたライブラリに関連付けられた、コンパイルされたプログラムコードへの要求を行い得る。この要求は、例えば、ビデオおよび測位データに基づいてシーン推定を提供するように構成されたディファレンシャルニューラルネットワーク(differential neural network)の出力に最終的に依拠し得る。
【0053】
[0062] ランタイムフレームワークのコンパイルされたコードであり得るランタイムエンジン408が、アプリケーション402にとってさらにアクセス可能であり得る。アプリケーション402は、ランタイムエンジンに、例えば、特定の時間間隔において、またはアプリケーションのユーザインターフェースによって検出されたイベントによってトリガされる、シーン推定を要求することを行わせ得る。シーンを推定することを行わされると、ランタイムエンジンは、順に、SoC420上で実行中の、カーネル412などのオペレーティングシステム410に信号を送り得る。オペレーティングシステム410は、順に、CPU422、DSP424、GPU426、NPU428、またはこれらの何らかの組合せ上で、計算を実行させ得る。CPU422は、オペレーティングシステムによって直接アクセスされ得、他の処理ブロックは、DSP424のための、GPU426のための、またはNPU428のための、ドライバ414~418などのドライバを通じてアクセスされ得る。例示的な例では、ディファレンシャルニューラルネットワークは、CPU422およびGPU426などの、処理ブロックの組合せ上で実行されるように構成され得るか、またはNPU428上で実行され得る。
【0054】
[0063] 図5は、本開示の態様による、処理のためのビデオ500の例となるフレームを例示する図である。図5を参照すると、ビデオ500の一対のシーケンシャルフレーム(例えば、tおよびt+1)が示されている。フレームtおよびt+1は、ピクセルのグリッドをそれぞれ含む。複数の別個のオブジェクト502、504が、フレームにおいて表されている。例えば、オブジェクト502は、正方形で表されており、オブジェクト504は、三角形で表されている。オブジェクト502、504の各々は、オブジェクト504についての正方形およびオブジェクト504についての三角形を、フレームtから後続の時間ステップ(t+1)まで、各オブジェクトについてイルミネートされている(illuminated)異なるセットのピクセルにシフトすることによって表されるように、独立して動いている。すなわち、オブジェクト502についてのピクセルにおけるシフトは、オブジェクト504についてのピクセルにおけるシフトとは異なり得る。従来の畳み込みカーネル(例えば、w)は、複数の独立した動きを効率的にモデル化することができない。
【0055】
[0064] ビデオのフレームtおよびt+1において図示されるシナリオに対処するために、本開示の態様は、自己アテンションを使用したビデオ処理に向けられる。自己アテンションは、ビデオにおけるフレーム(例えば、tおよびt+1)を位置合わせするために使用される。アテンションは、シーケンスまたは画像などの入力の一部分に、他の領域よりも重点を置くまたはより重く重み付けすることと見なされ得る。画像のコンテキストでは、アテンションは、高解像度で特定の領域に重点を置き得る一方で、背景などの他のエリアは、低解像度で観測され得る。本開示の態様は、処理効率を改善するために、ビデオにおける空間的および時間的な冗長性を活用する。
【0056】
[0065] 本開示の態様によれば、ピクセル間の自己アテンションに基づく位置合わせ演算子(alignment operator)が提供される。位置合わせ演算子は、ビデオのフレームから抽出された特徴を表し得る3つの入力テンソル、tsup、uref、およびusupの関数として定義され得る。位置合わせされていない特徴テンソルtsupは、位置合わせされるべきフレームまたは特徴を表す。参照特徴テンソルurefは、位置合わせのための参照座標系のために使用されるべきフレームまたは特徴を表す。サポート特徴テンソルusupは、参照特徴テンソルurefに対して動きを推定する際に使用するために空間的に配置されたサポート特徴を表す。入力テンソルは、以下のように、自己アテンションのためのクエリ(qref)、キー(ksup)、および値(vsup)埋め込みに関連付けられ得る:
【0057】
【数1】
【0058】
ここで、各φは、再形成(reshaping)よって後続される、q、k、およびvについて別々にパラメータ化されたピクセルワイズの射影関数(pixel-wise projection function)を表し、dおよびdは、キーおよび値の次元を識別し、kおよびkは、各クエリを中心とする局所ウィンドウの高さおよび幅を表し、hおよびwは、それぞれ、特徴テンソル(例えば、uref、usup、およびtsup)の高さおよび幅である。
【0059】
[0066] 参照特徴テンソルurefにおける各参照ピクセルは、クエリベクトルqrefにおいて線形に埋め込まれる。サポート特徴テンソルusupは、qrefにおける各クエリを中心としたキーksupのウィンドウを公開する(exposes)。ピクセルについての各クエリは、キーのウィンドウの局所探索にかけられ、これは、サポートフレームusupにおける対応するピクセルについての近傍を定義し得る。各クエリは、キー内部での類似度ベースの探索を提供するために、そのウィンドウのキーの各々とドット積によってマッチングされ得る。類似度は、アテンションマスクまたは位置合わせ演算子を生成するために、softmax演算を適用することによって正規化され得る。換言すれば、位置合わせ演算子(ワーピング演算子とも呼ばれ得る)は、サポート特徴テンソルusupと参照特徴テンソルurefとの間のワープ(warp)を推定することによって、位置合わせされていない特徴テンソルtsupを、参照特徴テンソルurefに位置合わせする。位置合わせ演算子は、以下のように定義され得る:
【0060】
【数2】
【0061】
ここで、σは、softmax正規化を示す。
【0062】
[0067] 位置合わせ演算子は、softmax演算によって与えられる動き推定部分
【0063】
【数3】
【0064】
を含み得る。動き推定は、すべての参照クエリqrefとサポートキーksupとの間のペアワイズ類似度である要素を含む、密なhw×hw行列の形態であり得る。したがって、位置合わせ演算子
【0065】
【数4】
【0066】
は、フレームの空間的範囲全体にわたって動作し得、したがって、すべてのピクセルに同じ量の計算を割り振り得る。位置合わせ演算子
【0067】
【数5】
【0068】
は、参照特徴(例えば、uref)とサポート特徴(例えば、usup、およびtsup)との間の空間的変位について通知し、位置合わせされた特徴マップ
【0069】
【数6】
【0070】
を提供し得る。したがって、位置合わせ演算子は、動き推定
【0071】
【数7】
【0072】
に従って、サポート値vsupを変換し得る。
【0073】
[0068] いくつかの態様では、クエリ選択は、空間的範囲全体ではなく、ウィンドウの1つまたは複数の部分に対するものであり得る。クエリは、入力に基づいて動的に選択され得る。パラメトリックバイナリ関数gは、以下のように、各ピクセルについて、自己アテンション動き補償を実行するか、または位置合わせなしにコンテキスト情報を直接利用するかを決定し得る:
【0074】
【数8】
【0075】
ここで、mは、マスクであり、gは、ゲート関数であり、
【0076】
【数9】
【0077】
は、アダマール積演算子である。
【0078】
[0069] 図6は、本開示の態様による、自己アテンションを使用したフレーム600のシーケンスの例となる位置合わせを例示する図である。図6を参照すると、参照フレーム602aと、サポートフレーム602bとが示されている。参照フレーム602aは、現在のフレーム時間tの低解像度特徴であり得る。サポートフレーム602bは、時間t-1における前のフレームの低解像度特徴であり得る。参照フレーム602aおよびサポートフレーム602bは、例えば、ニューラルネットワークの中間層から供給され得る。ニューラルネットワークの後続の層において処理された前のフレーム(t-1)の高解像度特徴を有し得る位置合わせされていない高解像度フレーム602cもまた、示されている。
【0079】
[0070] 位置合わせ演算子(alignment operator)616は、前のフレーム(t-1)と現在のフレーム(t)との間の動きを推定するために使用され得る。アテンション重み(attention weight)608a~608dは、アテンション関数614を使用して生成され得る。アテンション関数614は、正規化関数(例えば、softmax正規化)を、キーとクエリとの積に適用し得る。参照フレーム602aの各ピクセル604a~604dは、フレームtにおけるクエリ(時間ステップtにおける低解像度特徴)を表し得る。各クエリ(例えば、604a~604d)は、サポートフレーム602b(例えば、時間ステップt-1における前のフレーム)へのキー606a~606dの対応するウィンドウを有する。キー606a~606dのウィンドウの各々は、クエリ604a~604dの対応するピクセル位置を取り囲むピクセルの近傍と見なされ得る。キー606a~606dのウィンドウは、サポートフレーム602bにおけるピクセルの探索空間を定義し得る。したがって、各クエリ604a~604dは、サポートフレーム602bにおけるキー606a~606dのウィンドウ内で局所探索にかけられる。すなわち、参照フレーム602aの各ピクセル(例えば、クエリ)604a~604dは、サポートフレーム602bのキー606a~606dの対応するウィンドウ内のピクセルの各々と比較される。例えば、参照フレーム602aのクエリと、サポートフレーム602bにおけるそれぞれのウィンドウにおけるすべてのキーとの間の類似度は、クエリ(例えば、604a~604d)と、それぞれのウィンドウにおけるすべてのキー(例えば、606a~606d)とのドット積をとることによって計算され得る。
【0080】
[0071] 図6に示されるように、類似度は、キー606a~606dにそれぞれ対応するアテンション重み608a~608dのセットを生成するために正規化され得る。アテンション重み608 608a~608dのセットは、アテンションマップ608を表し得る。順に、アテンションマップ608を表し得るアテンション重み608a~608dは、位置合わせされていない高解像度フレーム602cのそれぞれの値610a~610dに適用され得る。値610a~610dは、キー606a~606dのそれぞれのウィンドウ(例えば、ピクセルの近傍)に対応するピクセルの加重和を表し得る。位置合わせされていない高解像度フレーム602cは、前の反復において生成され、前の時間ステップにおけるニューラルネットワークの特徴を表し得る。加重和の各々は、位置合わせされていない高解像度フレーム602cの値(例えば、610a~610d)と見なされ得る。改善された位置合わせを有し、かつ時間tにおける高解像度特徴を有する再構成されたビデオフレーム602dが、値(例えば、610a~610d)とそれぞれのアテンションマップ608a~608dとの計算された積に基づいて、位置合わせ演算子616に従って生成され得る。いくつかの態様では、再構成されたビデオフレーム602dは、出力および表示され得る。
【0081】
[0072] 図7Aおよび図7Bは、本開示の態様による、自己アテンションを使用してフレームを位置合わせするための例となるアーキテクチャ700および750を例示する。図7Aを参照すると、例となるアーキテクチャ700は、再帰型ニューラルネットワークモデルである。例となるアーキテクチャ700は、入力としてビデオを受信する。ビデオのフレームtおよびフレームt-1が、特徴ブロック702にかけられる。特徴ブロック702は、例えば、畳み込み層のセット(図示せず)を含み得、その各々が、図3に示される畳み込み層356と同様に機能し得る。特徴ブロック702は、フレームtおよびフレームt-1を処理して、それぞれの特徴、特徴t-1および特徴tを生成し得る。これらの中間レベル特徴(例えば、入力の近くの特徴ブロックの初期層を介して生成された特徴)は、クエリ(uref)およびキー(usup)を計算し得る。ワープまたは位置合わせされるべきアクション(または動き)情報(tsup)は、前の時間(t-1)からのものである。クエリ(uref)を表す特徴tおよびキー(usup)を表す特徴t-1は、動き情報(tsup)とともにマルチヘッド自己アテンションブロック(MHSA)704に供給される。MHSA704は、シーケンスの異なる部分に独立して注目することを可能にするアテンションメカニズムのためのモジュールであり得る。MHSA704は、時間ステップtにおける位置合わせされたフレームについての特徴のセット(例えば、高解像度特徴t)を生成し得る。
【0082】
[0073] この例となるアーキテクチャ700では、超解像度を提供するために、さらなる処理が実行され得る。融合ブロック706は、時間tにおける位置合わせされたフレームについての特徴のセットを受信し得る。融合ブロック706は、時間tにおける位置合わせされたフレームと、テンソルtsupの位置合わせの結果とを処理し得、それらを単一のテンソルに融合し得る。例えば、融合ブロック706は、ブーストされた特徴tを生成するために、チャネルワイズ連結(channel-wise concatenation)および1×1畳み込みを実行し得る。ブーストされた特徴tは、超解像ブロック708に供給され得る。超解像ブロック708は、例えば、より高い解像度の特徴(例えば、超解像度特徴)を計算するために、融合ブロック706の出力をさらに改良し得る畳み込みブロックのセットを通じて、ブーストされた特徴tを処理し得る。より高い解像度の特徴は、アップサンプリングブロック710を介してアップサンプリングされ得、これは、出力を復元するために、サブピクセル畳み込みを介して空間的アップサンプリングを実行する。
【0083】
[0074] 図7Bを参照すると、例となるアーキテクチャ750は、マルチフレームインプリメンテーションを提供する。例となるアーキテクチャ750では、ウィンドウまたはフレームのセットが、入力、すなわちフレーム(t-k)~フレーム(t+k)として供給される。フレームtをアップサンプリングする(up-sampling)ために、フレームのウィンドウと、各ウィンドウから抽出された特徴によって表されるテンソルとが、フレームtに位置合わせされるようにワープされ得る。特徴ブロック752は、ウィンドウのセットの各入力を処理して、対応する特徴を生成する。フレームt以外のフレームt-k~t+kの特徴は、MHSA754を介して、フレームtにおける特徴に位置合わせされる。この例となるアーキテクチャでは、サポート情報(例えば、特徴t-k~特徴t+k)は、時間的ウィンドウにおける過去および将来のフレーム(例えば、過去のおよび将来の3つのフレーム)をネットワークに直接供給することによって計算され得る。これは、2k-1個の位置合わせされた特徴(例えば、位置合わせされた特徴t-k~位置合わせされた特徴t+k)のセットをもたらし得る。次いで、融合ブロック756は、ブーストされた特徴tを生成するために、チャネルワイズ連結および1×1畳み込みを介して、2k-1個の特徴を、tにおける特徴と融合し得る。その後、例となるアーキテクチャ750は、図7Aの例となるアーキテクチャ700と同様に機能し得る。すなわち、ブーストされた特徴tは、超解像ブロック758に供給される。順に、超解像ブロック758は、より高い解像度の特徴(例えば、超解像度特徴)を計算するために、融合ブロック756の出力をさらに改良する畳み込みブロックのセットを通じて、ブーストされた特徴tを処理し得る。より高い解像度の特徴は、アップサンプリングブロック760を介してアップサンプリングされ、これは、出力を復元するために、サブピクセル畳み込みを介して空間的アップサンプリングを実行する。
【0084】
[0075] 図8は、本開示の態様による、クエリ選択を使用したフレーム800の例となる位置合わせを例示する図である。説明されたように、本開示の態様は、増大された処理効率を提供し得る。フレームにおけるすべてのピクセルを位置合わせするのではなく、ビデオのシーケンシャルフレーム間の類似度が、シーケンシャルフレームを位置合わせするために実行される位置合わせ動作を低減するためにさらに使用され得る。すなわち、ピクセルはシーケンシャルフレーム間で小さい変位を受ける場合があるので、ゲーティング関数(gating function)が、位置合わせ動作を著しい変化を伴う領域に限定するために適用され得る。フレーム間の変化(change)または差(difference)は、例えば、残差フレーム(residual frame)によって表され得る。残差フレームを計算すると、ゲーティング関数が、(例えば、図6の位置合わせ動作と同様の)位置合わせ動作を実行すべきか否かを決定するために適用され得る。
【0085】
[0076] 図8を参照すると、バイナリゲート812が、位置合わせが入力に基づき条件付きであり得るように、フレームt(例えば、802a)およびt-1(例えば、802b)の位置合わせを限定し得る。これは、例えば、フレームtとフレームt-1との間に限られたカメラの動きまたは移動しているオブジェクトがある場合に有益であり得る。このようなケースでは、ピクセルの多くは、フレーム間の動きに関与しない可能性があり、したがって、すでに位置合わせされている可能性がある。したがって、フレームt(例えば、802a)におけるすべてのピクセルについて位置合わせを実行するのではなく、バイナリゲート812は、位置合わせすべきフレームt 802aにおけるピクセルのサブセット(subset)を決定し得る。
【0086】
[0077] 図8の例では、時間ステップtにおける参照フレーム802aおよび時間ステップt-1におけるサポートフレーム802bの低解像度特徴が示されている。時間t-1における位置合わせされていないフレーム802cの高解像度特徴もまた、示されている。残差フレーム810が、サポートフレーム802bのusupテンソルと、参照フレーム802aのurefテンソルとの間の差(difference)として計算され得る。残差フレーム810は、位置合わせされるべきフレームにおける領域に対するバイアスとして機能し得る。高い残差を有する領域は、位置合わせ不良である可能性がより高く、低い残差を有する領域は、すでに位置合わせされている可能性がある。一例では、領域は、それが、例えば、街路を移動している車などの、移動しているオブジェクトを含む場合、高い残差を有し得る。この例では、(動きにより)ピクセルが1つのフレームから別のフレームまでで遷移した場合には、そのようなピクセルを含む領域は、高い残差を有し得るように、車および街路のピクセルの特徴は、異なり得る。高い残差は、動きの可能性が高いことを示し得、したがって、位置合わせが実行され得る。残差の相対的な大きさは、例えば、ネットワークアーキテクチャおよび入力画像のスケールを含む要因に依存し得る。いくつかの例では、残差値>1は、高い残差値と見なされ得る。一方、残差値≦.001は、低い残差値と見なされ得る。
【0087】
[0078] 残差フレーム810は、バイナリゲート812に供給され得る。バイナリゲートは、例えば、単一出力を有する1層畳み込みであり得る。いくつかの態様では、softmax(例えば、Gumbel softmax)演算が、バイナリゲートをトレーニングするためのストレートスルー推定器(straight through estimator)とともに適用され得る。フォワードパスでは、argmax関数が、ハードアテンション(hard attention)(z∈{0,1})を行うために、確率pで適用され得るが、勾配は、argmax関数の代わりにsoftmax関数を使用して緩和され得、これにより、サンプルが、ベクトル
【0088】
【数10】
【0089】
によって、次のように表され得る:
【0090】
【数11】
【0091】
ここで、
【0092】
【数12】
【0093】
αは、正規化されていない確率であり、Gは、独立かつ同一に分布したランダム変数(例えば、ノイズ)のシーケンスであり、τは、softmax関数の温度パラメータである。
【0094】
[0079] したがって、バイナリゲート812は、位置合わせをアクティブピクセル(ピクセルビュー816において白色ピクセルとして示される)に限定し得る。すなわち、バイナリゲート812は、計算された残差フレーム810に基づいて、参照フレームの各ピクセルをオンまたはオフにするためのバイナリ値を提供する。ピクセルがアクティブまたはオンである場合には、位置合わせが実行され得る。一方、ピクセルが非アクティブまたはオフである場合には、位置合わせは実行され得ない。いくつかの態様では、ピクセルが非アクティブまたはオフである場合、参照フレーム802aの非アクティブピクセルに対応する、サポートフレーム802bのピクセル値は、処理なしにコピーされ得る。
【0095】
[0080] 位置合わせのためのピクセルを限定すると、自己アテンションプロセスは、時間tにおける再構成されたフレーム(例えば、フレームの高解像度特徴)を生成するために、図6を参照して上記で説明されたように行われ得る。
【0096】
[0081] 参照フレーム802aの各アクティブピクセル804a、804b(ピクセルビュー816を介して示される)は、サポートフレーム802bへのクエリを表し得る。各クエリ(例えば、804a、804b)は、サポートフレーム802b(例えば、時間ステップt-1における前のフレーム)へのキー806a、806bの対応するウィンドウを有する。キー806a、806bのウィンドウの各々は、サポートフレーム802bにおけるピクセルの探索空間を定義し得る。したがって、各クエリ804a、804bは、サポートフレーム802bにおけるキー806a、806bのウィンドウ内で局所探索にかけられ得る。すなわち、参照フレーム802aのアクティブピクセル(例えば、804a、804b)は、サポートフレーム802bのキー(806a、806b)の対応するウィンドウ内のピクセルの各々と比較される。例えば、参照フレーム802aのクエリ(例えば、804a、804b)と、サポートフレーム802bにおけるそれぞれのウィンドウにおけるすべてのキー806a、806bとの間の類似度は、クエリ(例えば、804a、804b)と、それぞれのウィンドウにおけるすべてのキー(例えば、806a、806b)とのドット積をとることによって計算され得る。類似度は、アテンション関数816に従って、対応するアテンション重み814a、814bのセットを生成するために正規化され得る。アテンション重み814a、814bは、アテンションマップ814を集合的に表し得る。
【0097】
[0082] 順に、アテンション重み814a、814bは、位置合わせされていない高解像度フレーム802cの値(例えば、808a、808b)に適用され得る。値808a、808bは、サポートフレーム802bの低解像度特徴のキー806a、806bのウィンドウにそれぞれ対応する、位置合わせされていない高解像度フレーム802cのピクセルの各セットの加重和であり得る。すなわち、加重和の各々は、位置合わせされていない高解像度フレーム802cの値(例えば、808a、808b)と見なされ得る。時間tにおける再構成されたビデオフレーム802dが、位置合わせ演算子818に従って決定された改善された位置合わせを用いて生成され得る。再構成されたビデオフレーム802dは、アテンション重み814a、814bと、アクティブピクセルを表すクエリの選択の対象となる対応する値(例えば、808a、808b)との計算された積に基づいて生成され得る。再構成されたビデオ802dはまた、高解像度特徴を有し得る。
【0098】
[0083] いくつかの態様では、再構成されたビデオフレーム802dは、出力および表示され得る。
【0099】
[0084] いくつかの態様では、スパース性損失目標(sparsity loss objective)が、位置合わせされるべきピクセルをさらに限定するために適用され得る。スパース性目標(sparsity objective)は、以下のように表され得る:
【0100】
【数13】
【0101】
ここで、βは、位置合わせされるべきピクセルの量をさらに制限することによって、再構成の効率と品質との間のトレードオフを制御するためのハイパーパラメータである。
【0102】
[0085] 図9は、本開示の態様による、ビデオを処理するための方法900を例示するフロー図である。図9に示されるように、ブロック902において、方法900は、人工ニューラルネットワーク(ANN)において、入力としてビデオを受信する。ビデオは、フレームのシーケンスを備える。例えば、図7Aに示されるように、例となるアーキテクチャ700は、時間t-1におけるフレームと、時間tにおけるフレームと、を含むビデオを受信する。
【0103】
[0086] ブロック904において、方法900は、ビデオの現在のフレームおよびビデオの前のフレームの各々の特徴のセットを抽出する。特徴のセットは、現在のフレームの参照特徴のセットと位置合わせされるべき、前のフレームのピクセルのセットについてのサポート特徴のセットを含む。例えば、ビデオ(例えば、500)のフレームから抽出された特徴を表し得る3つの入力テンソル、tsup、uref、およびusup。位置合わせされていない特徴テンソルtsupは、位置合わせされるべきフレームまたは特徴を表す。参照特徴テンソルurefは、位置合わせのための参照座標系のために使用されるべきフレームまたは特徴を表す。サポート特徴テンソルusupは、参照特徴テンソルurefに対して動きを推定する際に使用するために空間的に配置されたサポート特徴を表す。
【0104】
[0087] ブロック906において、方法900は、オプションで、現在のフレームと前のフレームとの間の差を備える残差に基づいて、ゲーティング関数を適用し得る。例えば、図8を参照して説明されたように、残差フレーム810が、サポートフレーム802bのusupテンソルと、参照フレーム802aのurefテンソルとの間の差として計算され得る。残差フレーム810は、位置合わせされるべきフレームにおける領域に対するバイアスとして機能し得る。高い残差を有する領域は、位置合わせ不良である可能性がより高く、低い残差を有する領域は、すでに位置合わせされている可能性がある。一例では、領域は、それが、例えば、街路を移動している車などの、移動しているオブジェクトを含む場合、高い残差を有し得る。残差フレーム810は、バイナリゲート812に供給され得る。バイナリゲートは、例えば、単一出力を有する1層畳み込みであり得る。バイナリゲート812は、位置合わせをアクティブピクセル(ピクセルビュー816において白色ピクセルとして示される)に限定し得る。すなわち、バイナリゲート812は、計算された残差フレーム810に基づいて、参照フレームの各ピクセルをオンまたはオフにするためのバイナリ値を提供する。ピクセルがアクティブまたはオンである場合には、位置合わせが実行され得る。一方、ピクセルが非アクティブまたはオフである場合には、位置合わせは実行され得ない。いくつかの態様では、ピクセルが非アクティブまたはオフである場合、参照フレーム802aの非アクティブピクセルに対応する、サポートフレーム802bのピクセル値は、処理なしにコピーされ得る。
【0105】
[0088] ブロック908において、方法900は、前のフレームのサポート特徴のセットのピクセルのセットにおける各ピクセルについてのサポート特徴と、現在のフレームの対応する参照特徴との間の類似度を計算する。図6を参照して説明されたように、参照フレーム602aの各ピクセルは、サポートフレーム602bのキー606a~606dの対応するウィンドウ内のピクセルの各々と比較される。例えば、参照フレーム602aのクエリと、サポートフレーム602bにおけるそれぞれのウィンドウにおけるすべてのキーとの間の類似度は、クエリ(例えば、604a~604d)と、それぞれのウィンドウにおけるすべてのキー(例えば、606a~606d)とのドット積をとることによって計算され得る。
【0106】
[0089] ブロック908において、方法900は、類似度に基づいて、アテンションマップを生成する。図6を参照して説明されたように、アテンション重み608a~608dは、アテンション関数614を使用して生成され得る。アテンション関数614は、正規化関数(例えば、softmax正規化)を、キーとクエリとの積に適用し得る。参照フレーム602aの各ピクセル604a~604dは、フレームtにおけるクエリ(時間ステップtにおける低解像度特徴)を表し得る。各クエリ(例えば、604a~604d)は、サポートフレーム602b(例えば、時間ステップt-1における前のフレーム)へのキー606a~606dの対応するウィンドウを有する。キー606a~606dのウィンドウの各々は、クエリ604a~604dの対応するピクセル位置を取り囲むピクセルの近傍と見なされ得る。キー606a~606dのウィンドウは、サポートフレーム602bにおけるピクセルの探索空間を定義し得る。したがって、各クエリ604a~604dは、サポートフレーム602bにおけるキー606a~606dのウィンドウ内で局所探索にかけられる。すなわち、参照フレーム602aの各ピクセル(例えば、クエリ)604a~604dは、サポートフレーム602bのキー606a~606dの対応するウィンドウ内のピクセルの各々と比較される。例えば、参照フレーム602aのクエリと、サポートフレーム602bにおけるそれぞれのウィンドウにおけるすべてのキーとの間の類似度は、クエリ(例えば、604a~604d)と、それぞれのウィンドウにおけるすべてのキー(例えば、606a~606d)とのドット積をとることによって計算され得る。図6に示されるように、類似度は、キー606a~606dにそれぞれ対応するアテンション重み608a~608dのセットを生成するために正規化され得る。アテンション重み608 608a~608dのセットは、アテンションマップ608を表し得る。
【0107】
[0090] ブロック910において、方法900は、アテンションマップに基づいて、現在のフレームの再構成を備える出力を生成する。例えば、図6を参照して説明されたように、アテンションマップ608を表し得るアテンション重み608a~608dは、位置合わせされていない高解像度フレーム602cのそれぞれの値610a~610dに適用され得る。値610a~610dは、キー606a~606dのそれぞれのウィンドウ(例えば、ピクセルの近傍)に対応するピクセルの加重和を表し得る。位置合わせされていない高解像度フレーム602cは、前の反復において生成され、前の時間ステップにおけるニューラルネットワークの特徴を表し得る。加重和の各々は、位置合わせされていない高解像度フレーム602cの値(例えば、610a~610d)と見なされ得る。改善された位置合わせを有し、かつ時間tにおける高解像度特徴を有する再構成されたビデオフレーム602dが、値(例えば、610a~610d)とそれぞれのアテンションマップ608a~608dとの計算された積に基づいて、位置合わせ演算子616に従って生成され得る。
【0108】
[0091] インプリメンテーション例が、以下の番号付けされた条項において提供される:
1.ビデオを処理するためのプロセッサ実装方法であって、
人工ニューラルネットワーク(ANN)において、入力として前記ビデオを受信することと、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出することと、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算することと、
前記類似度に基づいて、アテンションマップを生成することと、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成することと、
を備えるプロセッサ実装方法。
2.前記出力を表示することをさらに備える、条項1に記載のプロセッサ実装方法。
3.前記再構成された現在のフレーム(reconstructed current frame)は、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせ(adjusted alignment)を含む、条項1または2に記載のプロセッサ実装方法。
4.前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用することをさらに備え、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、条項1~3のいずれか一項に記載のプロセッサ実装方法。
5.前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用することをさらに備える、条項1~4のいずれか一項に記載のプロセッサ実装方法。
6.前記再構成された現在のフレームをアップサンプリングすることをさらに備える、条項1~5のいずれか一項に記載のプロセッサ実装方法。
7.ビデオを処理するための装置であって、
メモリと、
前記メモリに結合された少なくとも1つのプロセッサと、
を備え、前記少なくとも1つのプロセッサは、
人工ニューラルネットワーク(ANN)において、入力として前記ビデオを受信することと、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出することと、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算することと、
前記類似度に基づいて、アテンションマップを生成することと、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成することと、
を行うように構成される、装置。
8.前記少なくとも1つのプロセッサは、前記出力を表示するようにさらに構成される、条項7に記載の装置。
9.前記再構成された現在のフレームは、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせを含む、条項7または8に記載の装置。
10.前記少なくとも1つのプロセッサは、前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用するようにさらに構成され、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、条項7~9のいずれか一項に記載の装置。
11.前記少なくとも1つのプロセッサは、前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用するようにさらに構成される、条項7~10のいずれか一項に記載の装置。
12.前記少なくとも1つのプロセッサは、前記再構成された現在のフレームをアップサンプリングするようにさらに構成される、条項7~11のいずれか一項に記載の装置。
13.プログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、プロセッサによって実行され、かつ、
人工ニューラルネットワーク(ANN)において、入力として前記ビデオを受信するためのプログラムコードと、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出するためのプログラムコードと、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算するためのプログラムコードと、
前記類似度に基づいて、アテンションマップを生成するためのプログラムコードと、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成するためのプログラムコードと、
を備える、非一時的なコンピュータ可読媒体。
14.前記プログラムコードは、前記出力を表示するためのプログラムコードをさらに備える、条項13に記載の非一時的なコンピュータ可読媒体。
15.前記再構成された現在のフレームは、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせを含む、条項13または14に記載の非一時的なコンピュータ可読媒体。
16.前記プログラムコードは、前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用するためのプログラムコードをさらに備え、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、条項13~15のいずれか一項に記載の非一時的なコンピュータ可読媒体。
17.前記プログラムコードは、前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用するためのプログラムコードをさらに備える、条項13~16のいずれか一項に記載の非一時的なコンピュータ可読媒体。
18.前記プログラムコードは、前記再構成された現在のフレームをアップサンプリングするためのプログラムコードをさらに備える、条項13~17のいずれか一項に記載の非一時的なコンピュータ可読媒体。
19.ビデオを処理するための装置であって、
人工ニューラルネットワーク(ANN)において、入力として前記ビデオを受信するための手段と、前記ビデオは、フレームのシーケンスを備え、
前記ビデオの現在のフレームおよび前記ビデオの前のフレームの各々の特徴のセットを抽出するための手段と、前記特徴のセットは、前記現在のフレームの参照特徴のセットと位置合わせされるべき、前記現在のフレームのピクセルのセットについてのサポート特徴のセットを含み、
前記前のフレームの前記サポート特徴のセットの前記ピクセルのセットにおける各ピクセルについてのサポート特徴と、前記現在のフレームの対応する参照特徴との間の類似度を計算するための手段と、
前記類似度に基づいて、アテンションマップを生成するための手段と、
前記アテンションマップに基づいて、前記現在のフレームの再構成を備える出力を生成するための手段と、
を備える装置。
20.前記出力を表示することをさらに備えるための手段をさらに備える、条項19に記載の装置。
21.前記再構成された現在のフレームは、前記現在のフレームの、1つまたは複数のピクセルの調整された位置合わせを含む、条項19または20に記載の装置。
22.前記類似度を計算することを、残差に基づいて、前記現在のフレームの前記ピクセルのセットのサブセットに制限するために、ゲーティング関数を適用するための手段をさらに備え、前記残差は、前記現在のフレームと前記前のフレームとの間の差を備える、条項19~21のいずれか一項に記載の装置。
23.前記類似度が計算される、前記現在のフレームの前記ピクセルのセットにおけるピクセルの数を制限するために、スパース性目標を適用するための手段をさらに備える、条項19~22のいずれか一項に記載の装置。
24.前記再構成された現在のフレームをアップサンプリングするための手段をさらに備える、条項19~23のいずれか一項に記載の装置。
【0109】
[0092] 一態様では、受信手段、抽出手段、計算手段、アテンションマップを生成するための手段、出力を生成するための手段、および/または表示手段は、記載された機能を実行するように構成された、CPU102、GPU104、DSP106、CPU102に関連付けられたプログラムメモリ、専用メモリブロック118、全結合層362、NPU428、および/またはルーティング接続処理ユニット216であり得る。別の構成では、上述された手段は、これら上述された手段によって、記載された機能を実行するように構成された任意のモジュールまたは任意の装置であり得る。
【0110】
[0093] 上記で説明された方法の様々な動作は、対応する機能を行うことが可能な任意の好適な手段によって行われ得る。これら手段は、それに限定されるものではないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェアの(1つまたは複数の)構成要素および/または(1つまたは複数の)モジュールを含み得る。概して、図中に例示された動作がある場合、これらの動作は、同様の番号付けを有する、対応する対をなすミーンズプラスファンクションの構成要素を有し得る。
【0111】
[0094] 使用される場合、「決定すること(determining)」という用語は、幅広いアクションを包含する。例えば、「決定すること」は、算出すること(calculating)、計算すること(computing)、処理すること、導出すること、調査すること、ルックアップすること(例えば、表、データベース、または別のデータ構造においてルックアップすること)、確定すること、および同様のことを含み得る。追加として、「決定すること」は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリにおけるデータにアクセスすること)、および同様のことを含み得る。さらに、「決定すること」は、解決すること、選択すること、選ぶこと、確立すること、および同様のことを含み得る。
【0112】
[0095] 使用される場合、アイテムの列挙「のうちの少なくとも1つ」を指す表現は、単一のメンバを含む、それらのアイテムの任意の組合せを指す。例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-cをカバーするように意図される。
【0113】
[0096] 本開示に関連して説明された、様々な例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタロジック、個別ハードウェア構成要素、あるいは説明された機能を実行するように設計されたこれらの任意の組合せを用いてインプリメントまたは実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、このプロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラまたはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、あるいはその他任意のこのような構成としてインプリメントされ得る。
【0114】
[0097] 本開示に関連して説明されたアルゴリズムまたは方法のステップは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて、具現化され得る。ソフトウェアモジュールは、当該技術分野で知られている任意の形態の記憶媒体内に存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、フラッシュメモリ、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、等を含む。ソフトウェアモジュールは、単一の命令、または多くの命令を備え得、いくつかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって、分散され得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体は、プロセッサと一体化され得る。
【0115】
[0098] 開示された方法は、説明された方法を達成するための1つまたは複数のステップまたはアクションを備える。方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに置き換えられ得る。換言すれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
【0116】
[0099] 説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せでインプリメントされ得る。ハードウェアでインプリメントされる場合、例となるハードウェア構成は、デバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いてインプリメントされ得る。バスは、処理システムの特定のアプリケーションおよび全体的な設計制約に依存して、任意の数の相互接続バスおよびブリッジを含み得る。バスは、プロセッサ、機械可読媒体、およびバスインターフェースを含む様々な回路を共にリンクし得る。バスインターフェースは、特に、バスを介してネットワークアダプタを処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能をインプリメントするために使用され得る。ある特定の態様では、ユーザインターフェース(例えば、キーパッド、ディスプレイ、マウス、ジョイスティック、等)がまた、バスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧レギュレータ、電力管理回路、および同様のもののような、様々な他の回路をリンクし得、これらは、当該技術分野において周知であり、したがって、これ以上は説明されない。
【0117】
[0100] プロセッサは、バスの管理と、機械可読媒体上に記憶されたソフトウェアの実行を含む汎用処理とを担い得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いてインプリメントされ得る。例は、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行し得るその他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または別の方法で呼ばれるかにかかわらず、命令、データ、またはこれらの任意の組合せを意味するように広く解釈されるべきである。機械可読媒体は、例として、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取専用メモリ(ROM)、プログラマブル読取専用メモリ(PROM)、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、またはその他任意の好適な記憶媒体、あるいはこれらの任意の組合せを含み得る。機械可読媒体は、コンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、パッケージング材料を備え得る。
【0118】
[0101] ハードウェアインプリメンテーションでは、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者であれば容易に理解するであろうように、機械可読媒体、またはその任意の部分は、処理システムの外部にあり得る。例として、機械可読媒体は、伝送路(transmission line)、データによって変調された搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得、これらすべては、バスインターフェースを通じてプロセッサによってアクセスされ得る。代替または追加として、機械可読媒体、またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルでのケースでそうであり得るように、プロセッサに一体化され得る。ローカル構成要素などの、説明された様々な構成要素は、特定のロケーションを有するものとして説明されているが、それらはまた、ある特定の構成要素が分散型コンピューティングシステムの一部として構成されているように、様々な方法で構成され得る。
【0119】
[0102] 処理システムは、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部分を提供する外部メモリとを有し、すべてが外部バスアーキテクチャを通じて他のサポート回路と共にリンクされている、汎用処理システムとして構成され得る。代替として、処理システムは、説明されたニューロンモデルおよびニューラルシステムのモデルをインプリメントするための1つまたは複数の神経形態学的プロセッサを備え得る。別の代替として、処理システムは、プロセッサと、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに一体化された機械可読媒体の少なくとも一部分とを有する特定用途向け集積回路(ASIC)を用いて、または、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、ステートマシン、ゲート論理、個別ハードウェア構成要素、またはその他任意の好適な回路、あるいは本開示全体にわたって説明された様々な機能を実行し得る回路の任意の組合せを用いて、インプリメントされ得る。当業者であれば、特定のアプリケーションおよびシステム全体に課せられる全体的な設計制約に依存して、処理システムに関して説明された機能をインプリメントするのに最良の方法を認識するであろう。
【0120】
[0103] 機械可読媒体は、多数のソフトウェアモジュールを備え得る。これらソフトウェアモジュールは、プロセッサによって実行されると、処理システムに様々な機能を実行させる命令を含む。これらソフトウェアモジュールは、送信モジュールと、受信モジュールと、を含み得る。各ソフトウェアモジュールは、単一の記憶デバイス内に存在し得るか、または複数の記憶デバイスにわたって分散され得る。例として、ソフトウェアモジュールは、トリガリングイベントが発生したときに、ハードドライブからRAMにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を増大させるために、命令のうちのいくつかをキャッシュにロードし得る。次いで、1つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行するとき、プロセッサによってインプリメントされることが理解されよう。さらに、本開示の態様が、プロセッサ、コンピュータ、機械、またはこのような態様をインプリメントする他のシステムの機能に改善をもたらすことが理解されるべきである。
【0121】
[0104] ソフトウェアでインプリメントされる場合、これら機能は、コンピュータ可読媒体上で、1つまたは複数の命令またはコードとして送信または記憶され得る。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体とコンピュータ記憶媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、このようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、データ構造または命令の形で所望のプログラムコードを記憶または搬送するために使用され得、かつ、コンピュータによってアクセスされ得るその他任意の媒体を備え得る。追加として、任意の接続は、厳密にはコンピュータ可読媒体と称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合には、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイ(登録商標)ディスクを含み、ここで、ディスク(disks)は、通常磁気的にデータを再生し、一方、ディスク(discs)は、レーザーを用いて光学的にデータを再生する。したがって、いくつかの態様では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体(例えば、有形媒体)を備え得る。加えて、他の態様では、コンピュータ可読媒体は、一時的なコンピュータ可読媒体(例えば、信号)を備え得る。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【0122】
[0105] したがって、ある特定の態様は、提示された動作を実行するためのコンピュータプログラム製品を備え得る。例えば、このようなコンピュータプログラム製品は、その上に命令が記憶された(および/または符号化された)コンピュータ可読媒体を備え得、命令は、説明された動作を実行するために1つまたは複数のプロセッサによって実行可能である。ある特定の態様では、コンピュータプログラム製品は、パッケージング材料を含み得る。
【0123】
[0106] さらに、説明された方法および技法を実行するためのモジュールおよび/または他の好適な手段は、適宜、ユーザ端末および/または基地局によって、ダウンロードされ得、および/または別の方法で取得され得ることを理解されたい。例えば、このようなデバイスは、説明された方法を実行するための手段の転送を容易にするためにサーバに結合され得る。代替として、説明された様々な方法は、記憶手段(例えば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクなどの物理記憶媒体、等)を介して提供され得、これにより、ユーザ端末および/または基地局は、記憶手段をデバイスに結合または提供した際に、様々な方法を取得し得る。さらに、説明された方法および技法をデバイスに提供するためのその他任意の好適な技法が利用され得る。
【0124】
[0107] 特許請求の範囲は、上記に例示された厳密な構成および構成要素に限定されないことを理解されたい。様々な修正、変更、および変形が、特許請求の範囲から逸脱することなく、上記で説明された方法および装置の配置、動作、および詳細において行われ得る。
図1
図2A
図2B
図2C
図2D
図3
図4
図5
図6
図7A
図7B
図8
図9
【国際調査報告】