(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-05
(54)【発明の名称】画像処理における全周波数ノイズ低減のための低レイテンシアーキテクチャ
(51)【国際特許分類】
G06T 5/70 20240101AFI20241128BHJP
G06T 3/40 20240101ALI20241128BHJP
G06T 1/20 20060101ALI20241128BHJP
【FI】
G06T5/70
G06T3/40
G06T1/20 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024535704
(86)(22)【出願日】2022-12-07
(85)【翻訳文提出日】2024-07-11
(86)【国際出願番号】 US2022052136
(87)【国際公開番号】W WO2023121877
(87)【国際公開日】2023-06-29
(32)【優先日】2021-12-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ヨンメイ ドン
(72)【発明者】
【氏名】ホイ ジョウ
(72)【発明者】
【氏名】ジョンフェイ ドン
(72)【発明者】
【氏名】ツォン-ハン チャン
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057BA02
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CC01
5B057CE02
5B057CE06
5B057CE18
5B057CH09
5B057DB02
5B057DB06
5B057DB09
(57)【要約】
システム及び技術は、マルチスケールフィルタリング技術の各レベルにおける異なる解像度スケールが、従来のノイズ除去フレームワークよりも、各レベルにおいて用いられるノイズ除去プロセスに対してより大きい受容野を提供するように、画像の1つ以上の構成要素について低、中及び/又は高周波数のフィルタリングを提供することができる、画像スケーリングベースのフィルタリング技術(マルチスケールフィルタリング技術)の使用を通じて、画像の低レイテンシ、全周波数ノイズフィルタリングを提供する。このマルチスケールフィルタリングは、フィルタリングされる入力画像を受信し、入力画像を、異なる解像度スケールで、ノイズ除去し、ダウンスケーリングし、アップスケーリングし、より低い解像度スケールの結果と融合して、フィルタリング画像を生成するマルチスケールフィルタリングプロセスを実行することを含む。これは、ダイレクトメモリアクセス(DMA)動作を使用して、メモリにおいて、解像度スケールのうちいくつかの中間画像データを一時的にバッファリングすることを含み得る。
【選択図】
図3
【特許請求の範囲】
【請求項1】
画像をノイズ除去するための方法であって、
入力画像を異なる解像度スケールでノイズ除去し、ダウンスケーリングし、アップスケーリングし、より低い解像度スケールの結果と融合して、フィルタリング画像を生成するマルチスケールフィルタリングプロセスを実行することを含む、
方法。
【請求項2】
前記マルチスケールフィルタリングプロセスを実行することは、ダイレクトメモリアクセス(DMA)動作を使用して、メモリにおいて、前記解像度スケールのうちいくつかの中間画像データを一時的にバッファリングすることを含む、
請求項1の方法。
【請求項3】
対応する解像度スケールにおける各動作は、前記メモリに結合されたシステムオンチップ(SOC)のハードコードされたハードウェアアーキテクチャの対応する個別の機能ブロックによって実行され、前記ハードウェアアーキテクチャは、少なくとも1つのDMAエンジンを含む、
請求項2の方法。
【請求項4】
前記入力画像は、撮像カメラによってキャプチャされた画像のクロミナンス部分である、
請求項1の方法。
【請求項5】
画像のマルチスケールノイズフィルタリングのための方法であって、
フィルタリングされる入力画像を受信することと、
第1のシーケンス内の複数のレベルの各レベルについて、前記第1のシーケンス内の前のレベルから受信した画像に対してノイズ除去動作を実行し、その結果得られたノイズ除去画像に対してダウンサンプリング動作を実行し、その結果得られたダウンサンプリング画像に対してアップサンプリング動作を実行し、その結果得られたアップサンプリング画像を前記レベルにおける前記ノイズ除去画像から差し引いて、前記レベルの残差画像を生成する残差動作を再帰的に実行することと、
前記第1のシーケンスとは反対の第2のシーケンス内の前記複数のレベルの各レベルについて、前のレベルの融合画像をアップスケールするアップスケーリング動作を実行し、その結果得られたアップスケーリング融合画像を前記第2のシーケンス内の次のレベルの前記残差画像と組み合わせて、前記レベルの融合画像を生成する融合動作を再帰的に実行することと、
得られた最終的な融合画像を、記憶、送信又は符号化のうち少なくとも1つのためのフィルタリング画像として提供することと、を含む、
方法。
【請求項6】
前記第1のシーケンス内の前記複数のレベルのうち何れかのレベルについて、
前記第1のシーケンス内の前のレベルから出力画像を受信することと、
ノイズ除去動作を実行して、ノイズ除去画像を生成することと、
前記ノイズ除去画像をダウンサンプリングして、ダウンサンプリング画像を生成することと、
前記ダウンサンプリング画像を出力画像として、前記第1のシーケンス内の前記次のレベルに提供することと、
前記ダウンサンプリング画像をアップサンプリングして、アップサンプリング画像を生成することと、
前記ノイズ除去画像から前記アップサンプリング画像を差し引いて、前記レベルの残差画像を生成することと、を含む、
請求項5の方法。
【請求項7】
前記第1のシーケンス内の前記複数のレベルのうち何れかのレベルについて、
少なくとも1つのダイレクトメモリアクセス動作を使用して、前記レベルの前記ノイズ除去画像をメモリに記憶することと、
少なくとも1つのダイレクトメモリアクセス動作を使用して、前記レベルの前記ダウンサンプリング画像を前記メモリに記憶することと、
前記ダウンサンプリング画像をアップサンプリングするのに使用するために、少なくとも1つのDMA動作を使用して、前記メモリの前記レベルの前記ダウンサンプリング画像にアクセスして、前記アップサンプリング画像を生成することと、
前記ノイズ除去画像から前記アップサンプリング画像を差し引くのに使用するために、少なくとも1つのDMA動作を使用して、前記メモリの前記レベルの前記ノイズ除去画像にアクセスすることと、を含む、
請求項6の方法。
【請求項8】
前記前のレベルから出力画像を受信することは、少なくとも1つのDMA動作を使用して、前記メモリの前記前のレベルの前記ノイズ除去画像にアクセスすることを含み、アクセスされた前記ノイズ除去画像は、前記前のレベルからの前記出力画像である、
請求項7の方法。
【請求項9】
前記複数のレベルの各レベルにおいて実行される各動作は、メモリに結合されたシステムオンチップ(SOC)のハードコードされたハードウェアアーキテクチャの対応する個別の機能ブロックによって実行され、前記ハードウェアアーキテクチャは、前記ハードコードされたハードウェアアーキテクチャの前記機能ブロックのためのDMA動作を実行する少なくとも1つのDMAエンジンを含む、
請求項8の方法。
【請求項10】
前記第2のシーケンス内の前記複数のレベルのうち何れかのレベルについて、
前記第2のシーケンス内の前のレベルからの融合画像をアップスケーリングして、アップスケーリング融合画像を生成することと、
前記アップスケーリング融合画像を前記レベルの前記残差画像と組み合わせて、前記第2のシーケンス内の次のレベルにおいて使用される融合画像を生成することと、を含む、
請求項8の方法。
【請求項11】
前記第2のシーケンス内の前記複数のレベルのうち何れかのレベルについて、
前記第2のシーケンス内の前のレベルからの融合画像をアップスケーリングして、アップスケーリング融合画像を生成することと、
前記アップスケーリング融合画像を前記レベルの前記残差画像と組み合わせて、前記第2のシーケンス内の次のレベルにおいて使用される融合画像を生成することと、を含む、
請求項6の方法。
【請求項12】
前記入力画像は、撮像カメラによってキャプチャされた画像のクロミナンス画像である、
請求項5の方法。
【請求項13】
画像処理システムであって、
入力画像を受信するための入力部と、
請求項1~12の何れかの方法を実行するように構成されたマルチスケールフィルタリング段階と、を備える、
画像処理システム。
【請求項14】
前記マルチスケールフィルタリング段階に結合されたメモリを備え、
前記マルチスケールフィルタリング段階は、前記メモリにおいていくつかの解像度スケールの中間画像データを一時的にバッファリングする少なくとも1つのダイレクトメモリアクセス(DMA)エンジンを備える、
請求項13の画像処理システム。
【請求項15】
対応する解像度スケールにおける各動作は、前記メモリに結合されたシステムオンチップ(SOC)のハードコードされたハードウェアアーキテクチャの対応する個別の機能ブロックによって実行される、
請求項14の画像処理システム。
【請求項16】
前記入力部に接続され、シーンの画像をキャプチャするように構成された撮像カメラであって、前記入力画像は、撮像カメラによってキャプチャされた前記画像のクロミナンス部分である、撮像カメラを備える、
請求項13の画像処理システム。
【請求項17】
前記マルチスケールフィルタリング段階は、ハードウェア機能ブロックのセットを実装するハードウェアアーキテクチャを有するシステムオンチップ(SoC)を備える、
請求項13の画像処理システム。
【請求項18】
前記SOCは、請求項5の方法を実行するように構成されており、
前記ハードウェア機能ブロックのセットは、
前記第1のシーケンス内の前記複数のレベルのうち何れかのレベルについて、
前記第1のシーケンス内の前のレベルからの出力画像を受信することと、
ノイズ除去動作を実行して、ノイズ除去画像を生成することと、
前記ノイズ除去画像をダウンサンプリングして、ダウンサンプリング画像を生成することと、
前記ダウンサンプリング画像を出力画像として、前記第1のシーケンス内の前記次のレベルに提供することと、
前記ダウンサンプリング画像をアップサンプリングして、アップサンプリング画像を生成することと、
前記ノイズ除去画像から前記アップサンプリング画像を差し引いて、前記レベルの残差画像を生成することと、
を行うように構成されている、
請求項17の画像処理システム。
【請求項19】
前記ハードウェア機能ブロックのセットは、
前記第1のシーケンス内の前記複数のレベルのうち何れかのレベルについて、
ダイレクトメモリアクセス(DMA)エンジンによる少なくとも1つのDMA動作を使用して、前記レベルの前記ノイズ除去画像をメモリに記憶することと、
DMAエンジンによる少なくとも1つのダイレクトメモリアクセス動作を使用して、前記レベルの前記ダウンサンプリング画像を前記メモリに記憶することと、
前記ダウンサンプリング画像をアップサンプリングするのに使用するために、DMAエンジンによる少なくとも1つのDMA動作を使用して、前記メモリの前記レベルの前記ダウンサンプリング画像にアクセスして、前記アップサンプリング画像を生成することと、
前記ノイズ除去画像から前記アップサンプリング画像を差し引くのに使用するために、DMAエンジンによる少なくとも1つのDMA動作を使用して、前記メモリの前記レベルの前記ノイズ除去画像にアクセスすることと、
を行うように構成されている、
請求項18の画像処理システム。
【請求項20】
前記ハードウェア機能ブロックのセットは、DMAエンジンの少なくとも1つのDMA動作を使用して、前記メモリの前記前のレベルの前記ノイズ除去画像にアクセスすることによって、前記前のレベルから前記出力画像を受信するように構成されており、アクセスされた前記ノイズ除去画像は、前記前のレベルからの前記出力画像である、
請求項19の画像処理システム。
【請求項21】
前記ハードウェア機能ブロックのセットは、
前記第2のシーケンス内の前記複数のレベルのうち何れかのレベルについて、
前記第2のシーケンス内の前のレベルからの融合画像をアップスケーリングして、アップスケーリング融合画像を生成することと、
前記アップスケーリング融合画像を前記レベルの前記残差画像と組み合わせて、前記第2のシーケンス内の次のレベルにおいて使用される融合画像を生成することと、
を行うように構成されている、
請求項18の画像処理システム。
【請求項22】
前記入力部に接続され、シーンの画像をキャプチャするように構成された撮像カメラであって、前記入力画像は、撮像カメラによってキャプチャされた前記画像のクロミナンス部分である、撮像カメラを備える、
請求項17の画像処理システム。
【発明の詳細な説明】
【背景技術】
【0001】
キャプチャされた画像のための画像処理は、しばしば、低周波、中周波及び高周波ノイズのための画像のフィルタリングを伴う。しかしながら、低周波数ノイズフィルタリングは、典型的には、相対的に大きいフィルタリングウィンドウを必要とし、したがって、複雑さ、電力及びレイテンシに関して、ハードウェア実装においては相対的に高いコストを招く。高速画像処理を必要とするビデオストリーミング等のリアルタイム画像キャプチャアプリケーションは、妥当なコストで全周波数ノイズフィルタリング(full-frequency noise filtering)を効果的に実行する能力を更に阻害する。
【0002】
本開示は、添付の図面を参照することによってより良好に理解され、その数々の特徴及び利点が当業者に明らかになり得る。異なる図面における同じ符号の使用は、類似又は同一のアイテムを示す。
【図面の簡単な説明】
【0003】
【
図1】いくつかの実施形態による、低レイテンシマルチスケール全周波数フィルタリングプロセスを実行する画像処理システムのブロック図である。
【
図2】いくつかの実施形態による、
図1のシステムの画像キャプチャ及びフィルタリングプロセスの高レベル図を示すフロー図である。
【
図3】いくつかの実施形態による、
図1のシステムの低レイテンシマルチスケール全周波数フィルタリングプロセスを実行するハードコードされたハードウェアアーキテクチャを示す図である。
【
図4】いくつかの実施形態による、
図3のハードウェアアーキテクチャを使用するマルチスケール全周波数フィルタリングプロセスの例示的な動作を示す図である。
【
図5】いくつかの実施形態による、
図3のハードウェアアーキテクチャを使用するマルチスケール全周波数フィルタリングプロセスの例示的な動作を示す図である。
【
図6】いくつかの実施形態による、
図3のハードウェアアーキテクチャを使用するマルチスケール全周波数フィルタリングプロセスの例示的な動作を示す図である。
【発明を実施するための形態】
【0004】
ライブビデオストリーミングアプリケーションにおいて見られるようなリアルタイム画像キャプチャ及び処理は、指示されたフレームレートを達成するために、低レイテンシフィルタリングプロセスを必要とする。従来の手法は、何れも重いソフトウェア計算負荷に依存し、したがって、典型的には、著しいレイテンシをもたらすか、又は、ハードウェアベースのソリューションにおいて大きいフィルタウィンドウを必要とし、したがって、携帯電話等の低コスト又は低電力システムにおける実装には実用的でない場合が多い。したがって、本開示は、マルチスケールフィルタリング技術の各レベルにおける異なる解像度スケールが、従来のノイズ除去フレームワークよりも、各レベルにおいて用いられるノイズ除去プロセスに対してより大きい受容野(larger receptive field)を提供するように、画像の1つ以上の構成要素(例えば、クロミナンス及び/若しくは輝度)について低周波数、中周波数及び/若しくは高周波数(すなわち、「全周波数」)のフィルタリングを提供することができる画像スケーリングベースのフィルタリング技術、すなわち、「マルチスケールフィルタリング技術」を使用することによって、画像の低レイテンシ、低コストの全周波数ノイズフィルタリングのためのシステム及び技術を説明する。本開示は、より低いレイテンシ及びより低い複雑さを提供するために、メモリ内の中間データ記憶及びインアウトメモリデータフローのターゲット分割を活用するハードウェア(すなわち、ハードコードされた及び/又はプログラマブル論理)においてマルチスケールフィルタリング技術を実行するためのハードウェアアーキテクチャを更に提供する。
【0005】
以下でより詳細に説明するように、このマルチスケールフィルタリングは、フィルタリングされる入力画像(例えば、キャプチャされた画像のクロミナンス部分)を受け取り、次いで、入力画像が、異なる解像度スケールにおいて、ノイズ除去され、ダウンスケーリングされ、アップスケーリングされ、より低い解像度スケールの結果と融合されて、フィルタリング画像を生成する、マルチスケールフィルタリングプロセスを実行することを含む。いくつかの実施形態では、これは、ダイレクトメモリアクセス(direct memory access、DMA)動作を使用して、メモリにおいて、解像度スケールのうちいくつかのための中間画像データを一時的にバッファリングすることを含む。
【0006】
より具体的には、いくつかの実施形態では、このプロセスは、再帰的に、第1のシーケンス内の複数のレベル(例えば、解像度スケール)の各レベルについて、第1のシーケンス内の前のレベルから受け取られた画像に対してノイズ除去動作を実行し、その後、得られたノイズ除去画像に対してダウンサンプリング動作を実行し、その後、得られたダウンサンプリング画像に対してアップサンプリング動作を実行し、次いで、その後、レベルにおけるノイズ除去画像から、レベルにおける得られたアップサンプリング画像を差し引いて、レベルの残差画像を生成する残差動作を実行することを含む。次いで、プロセスは、再帰的に、第1のシーケンスとは反対の第2のシーケンス内の複数のレベルの各レベルについて、前のレベルからの融合画像をアップスケールするアップスケーリング動作を実行し、その後、得られたアップスケーリング画像を第2のシーケンス内の次のレベルの残差画像と組み合わせて、レベルの融合画像を生成する融合動作を実行することを更に含む。得られたフィルタリング画像は、次いで、記憶、送信又は符号化のうち少なくとも1つのために提供される。説明のために、第1のシーケンス内の複数のレベルのうち所定のレベルについて、再帰的プロセスは、第1のシーケンス内の前のレベルから出力画像を受け取ることと、ノイズ除去動作を実行して、ノイズ除去画像を生成することと、ノイズ除去画像をダウンサンプリングして、ダウンサンプリング画像を生成することと、ダウンサンプリング画像を出力画像として第1のシーケンス内の次のレベルに提供することと、ダウンサンプリング画像をアップサンプリングして、アップサンプリング画像を生成することと、ノイズ除去画像からアップサンプリング画像を差し引いて、レベルの残差画像を生成することと、を含み得る。更に、いくつかの実施形態では、所定のレベルについて、プロセスは、少なくとも1つのダイレクトメモリアクセス動作を使用して、レベルのノイズ除去画像をメモリに記憶することと、少なくとも1つのダイレクトメモリアクセス動作を使用して、レベルのダウンサンプリング画像をメモリに記憶することと、アップサンプリング画像を生成するために、ダウンサンプリング画像をアップサンプリングする際に使用するために、少なくとも1つのDMA動作を使用して、メモリからレベルのダウンサンプリング画像にアクセスすることと、ノイズ除去画像からアップサンプリング画像を差し引く際に使用するために、少なくとも1つのDMA動作を使用して、メモリからレベルのノイズ除去画像にアクセスすることと、を更に含み得る。前のレベルからの出力画像を受け取ることは、少なくとも1つのDMA動作を使用して、メモリから前のレベルのノイズ除去画像にアクセスすることを含んでもよく、アクセスされたノイズ除去画像は、前のレベルからの出力画像である。逆に、第2のシーケンス内の複数のレベルのうち所定のレベルについて、再帰的プロセスは、第2のシーケンス内の前のレベルから融合画像をアップスケーリングして、アップスケーリング融合画像を生成することと、アップスケーリング融合画像をレベルの残差画像と組み合わせて、第2のシーケンス内の次のレベルにおいて使用するための融合画像を生成することと、を含む。
【0007】
図1は、いくつかの実施形態による、マルチスケール全周波数フィルタリングプロセスを用いる画像キャプチャ及び処理システム100(以下、「システム100」)を示している。システム100は、リアルタイム画像キャプチャ及び/又はビデオストリーミングを提供するための様々な電子デバイスの何れかにおいて実装され得る。そのようなデバイスは、例えば、携帯電話、ラップトップコンピュータ、デスクトップコンピュータ、ビデオカメラ、静止画像カメラ、及び、車両ナビゲーションシステム等を含む。
【0008】
システム100は、システムオンチップ(system on a chip、SOC)102又は1つ以上の集積回路(integrated circuit、IC)ダイの他の集合体を含む。SOC102は、撮像カメラ104並びにメモリ106及び108(例えば、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、スタティックランダムアクセスメモリ(static random access memory、SRAM)、又は、それらの組み合わせ)に接続される。
図1は、メモリ106及び108を個別のメモリとして示しているが、以下で説明するように、いくつかの実施形態では、メモリ106及びメモリ108は、同じメモリを備えることに留意されたい。SOC102は、画像処理パイプライン112を実行するために、1つ以上のプロセッサ110(例えば、1つ以上の中央処理ユニット(central processing unit、CPU)、1つ以上のグラフィック処理ユニット(graphics processing unit、GPU)、又は、それらの組み合わせ)及び他のハードウェアを含む。画像処理パイプライン112は、画像前処理段階(ステージ)114と、マルチスケール全周波数フィルタ段階116(以下、簡略化のために「マルチスケールフィルタ段階116」)と、画像後処理段階118と、を含む。段階(ステージ)114~118は、本明細書において説明されるそれらの機能を実行するためのソフトウェアを、SOC102のハードコードされた論理及び/若しくはプログラマブル論理、又は、それらの組み合わせとして実行する1つ以上のプロセッサ110を介して実行され得る。
図3を参照して以下でより詳細に説明するように、少なくとも1つの実施形態では、マルチスケールフィルタ段階116は、効率的なデータフローを介してマルチスケールノイズフィルタリングプロセスを実行し、データフローにおけるレイテンシを低減するために1つ以上のダイレクトメモリアクセス(direct memory access、DMA)エンジンを介してアクセスされる中間ストレージとしてメモリ106を使用するハードウェアマイクロアーキテクチャを使用して実行される。
【0009】
図2は、いくつかの実施形態による、
図1のシステム100の画像処理パイプライン112の高レベル動作を示す方法200を示している。方法200の反復は、静止画像として、又は、ビデオストリームのための画像のシーケンス内の画像として、撮像カメラ104による画像120(
図1)のキャプチャで、ブロック202において開始する。画像120の画像データは、撮像カメラ104から、SOC102のSRAM若しくは他の内部メモリに実装されたフレームバッファ(図示せず)に、又は、メモリ106、108のうち何れかに読み出される。典型的には、キャプチャされた画像120に表される画像データは、画素データが画像120にキャプチャされたシーンの放射測定特性を表す生のフォーマットで提示される。したがって、ブロック204において、画像前処理段階114は、前処理画像122(
図1)を生成するために、画像データを生フォーマットからノイズフィルタリングにより好適な輝度-クロミナンスフォーマットに変換する。以下では、輝度-クロミナンスフォーマットは、YUV(又はYCrCb)フォーマットの例示的なコンテキストにおいて説明され、ここで、「Y」はルーマ構成要素又は輝度成分を表し、UVはクロミナンスフォーマットを表す。しかしながら、本明細書で提供されるガイドラインを使用して、他の輝度-クロミナンスフォーマットが代わりに用いられ得る。更に、示されていないが、画像前処理段階114は、得られた前処理済み画像122を準備する際に、色補正又はアンチエイリアシング等の追加の画像処理技術を用いることができる。
【0010】
ブロック206において、前処理された画像122は、マルチスケールフィルタリング段階116に入力され、その後、マルチスケールフィルタリング段階116は、マルチスケール全周波数ノイズフィルタリング(又は「ノイズ除去」)プロセスを実行して、前処理された画像122における低、中及び高周波ノイズをフィルタリングする。このプロセスは、
図3~
図6を参照して以下により詳細に説明される。得られたフィルタリング画像124は、次いで、ブロック208における後処理のために画像後処理段階118に提供される。この後処理は、例えば、フィルタリング画像124のフォーマット又は色空間の変換(例えば、YUVから赤-青-緑(red-blue-green、RGB)フォーマットへの変換)、アップスケーリング、ダウンスケーリング、トリミング等を含み得る。ブロック210において、得られた処理された画像126(
図1)は、例えば、更なる後処理のために符号化されていないフォーマットでメモリ108に記憶されること、符号化されてから符号化されたフォーマットでメモリ108に記憶されること、及び、次いで符号化されてからネットワークを介して別のデバイスに送信されること等によって、システム100内の下流構成要素に提供される。
【0011】
図3は、
図4~
図6を参照して以下でより詳細に説明するような全周波数マルチスケールノイズフィルタリングプロセスを実行するために、マルチスケールフィルタリング段階116によって実行されるハードウェアアーキテクチャ300を示している。しかしながら、この時点でハードウェアアーキテクチャ300の構成要素の機能の理解を容易にするための一般的な概要として、マルチスケールフィルタリングプロセスは、システム(この場合、フィルタリングされる画像)の複数のモデルが異なるスケール(この場合、異なる画像解像度スケール)で処理されるマルチスケールモデリングを用いる。この手法では、マルチスケールフィルタリングプロセスは、レベルの第1のシーケンス、次いで第1のシーケンスとは反対のレベルの第2のシーケンスを実行し、第1のシーケンスは、2つ以上のスケーリングされたフィルタリングレベルにおいて開始し、第1のシーケンス内の各スケーリングされたフィルタリングレベルにおいて、ノイズフィルタリングプロセス(非局所平均ノイズフィルタリングプロセス等)が、前のスケーリングされたフィルタリングレベルからの画像のダウンサンプリングされたバージョンに(又はレベルが第1のスケーリングされたフィルタリングレベルにおいてある場合は元の入力画像に)適用されて、そのレベルのノイズフィルタリング画像を生成し、ノイズフィルタリング画像が、ダウンスケーリングされて、そのレベルのダウンスケーリング画像が生成され、したがって、ダウンスケーリング画像は、低周波数成分を維持する。次いで、ダウンスケーリング画像は、そのレベルのノイズフィルタリング画像と同じ解像度にアップスケーリングされて戻され、次いで、得られたそのレベルのアップスケーリング画像が、そのレベルのノイズフィルタリング画像から差し引かれて、そのレベルのスケールにおける画像の高周波成分を表す、そのレベルの残差データが生成される。第2のシーケンス(融合レベルと称される)では、最後にスケーリングされたフィルタリングレベルのノイズフィルタリング画像が、前のレベルのスケールにアップスケーリングされ、次いで、その画像のアップスケーリングされたバージョンが、対応するレベルにおいて生成された残差データと組み合わされる、すなわち「融合」される。得られた融合画像は、次いで、第2のシーケンス内の次に高いレベルのスケールに再びアップスケーリングされ、得られたアップスケーリング画像は、次いで、その次に高いレベルにおいて生成された残差データと融合される。このプロセスは、残差データが、次に低いレベルからの融合画像のアップスケーリングされたバージョンと組み合わされて最終的な融合画像を生成するまで、第2のシーケンス内の連続してより高いスケーリングされた各フィルタリングレベルについて再帰的に繰り返し、最終的な融合画像は、次いで、出力フィルタリング画像(例えば、フィルタリング画像124)として出力される。
【0012】
したがって、この概要が示すように、マルチスケールフィルタリングプロセスは、動作間及びスケーリングされたシーケンス内のレベル間でバッファリングされる中間データを利用するデータフローを有する。したがって、データフロー効率及びレイテンシを改善するために、マルチスケールフィルタリング段階116は、マルチスケールフィルタリングプロセス中にそのようなデータのための中間ストレージとしてメモリ106を用い、したがって、ハードウェアアーキテクチャ300は、メモリ106に結合された書き込みDMA(write DMA、WDMA)エンジン301及び読み出しDMA(read DMA、RDMA)エンジン303を用いる。WDMAエンジン301は、本明細書において説明される様々な機能ブロックから画像データを受け取り、受け取った画像データを、対応するDMA動作を介してメモリ106に書き込むように構成される。RDMAエンジン303は、対応するDMA動作を介してメモリ106に記憶された画像データにアクセスし、アクセスされた画像データを本明細書において説明される様々な機能ブロックに提供するように構成される。いくつかの実施形態では、WDMAエンジン301及びRDMAエンジン303の各々は、メモリ106に画像データを書き込み、メモリ106からデータを読み出すために独立して動作する個別のDMAエンジンである。他の実施形態では、WDMAエンジン301及びRDMAエンジン303は、同じDMAエンジン(すなわち、単一のDMAエンジン)内に実装され、そのような場合、WDMAエンジン301又はRDMAエンジン303への言及は、この単一のDMAエンジンの書き込みDMA構成又は読み出しDMA構成への言及である。
【0013】
マルチスケールフィルタリング段階116のハードウェアアーキテクチャ300は、上で簡単に説明し、
図3~
図6を参照して以下でより詳細に説明するマルチスケールフィルタリングプロセスを実行するために、互いに相互接続され、WDMAエンジン301及びRDMAエンジン303と相互接続された複数の機能ブロックを更に含み、各機能ブロックは、マルチスケールフィルタリングプロセスの対応するレベルの対応する動作を実行するために、ハードコードされた論理及び/又はプログラマブル論理並びに関連する回路を実装する。以下の例では、マルチスケールフィルタリングプロセスは、3つのスケーリングされたフィルタリングレベル(レベル0~2)及び最終融合(final fusion、FS)レベルを用いる。
【0014】
これらの機能ブロック及び機能ブロックによって生成された得られた画像データに対して、以下の命名規則が用いられる。全てのブロックについて、最初の「C」は、フィルタリングプロセスがこの例では画像データのクロミナンス構成要素に適用されるので、「クロミナンス」を表す。CNRX、CDSX、CUSX、CRESXと標識されたブロックについて、「NR」は、ノイズ低減動作を意味し、「DS」は、「ダウンサンプリング」動作を意味し、「US」は、「アップサンプリング」動作を意味し、「RES」は、「残差算出」動作(“residue calculation” operation)を意味し、「X」によって表される数は、対応する動作が実行されるレベルを表し、レベル0は、初期スケーリングされたフィルタリングレベルであり、レベル1は、中間スケーリングされたフィルタリングレベルであり、レベル2は、最終スケーリングされたフィルタリングレベルである。したがって、CNR0と標識された機能ブロックは、機能ブロックが初期スケーリングされたフィルタリングレベルについてノイズ低減動作を実行することを示し、CRES1と標識された機能ブロックは、機能ブロックが中間スケーリングされたフィルタリングレベルについて残差算出動作を実行することを示す。CFUSX又はCFSXと標識されたブロックの場合、「FUS」は、次に低いレベルから画像をアップスケールするための「融合アップスケール」動作(“fusion upscale” operation)を意味し、「FS」は、「融合」動作(“fusion” operation)を意味し、Xは、融合アップスケール動作又はこれまでに実行されている融合動作の数を表す。更に、この命名規則では、所定の機能ブロックによって出力される画像データは、出力画像データを生成した機能ブロックに与えられた名前に「_D」を付加して参照される。例えば、「CRES0_D」は、CRES0機能ブロックによって実行される残差動作によって生成される残差データを参照する。機能ブロックと機能ブロックによって生成されるデータとの間の区別を更に容易にするために、機能ブロックは、四角い角を有するブロックを使用して
図3に表され、一方、機能ブロックによって生成されるデータは、丸い角を有するブロックを使用して表される。
【0015】
図示されるように、ハードウェアアーキテクチャ300は、機能ブロック302、304、306、308、310、312、314、316、318、320、322、324、326を含む。以下の例では、機能ブロックは、人間の目が、典型的には、同じ画像の輝度情報よりも画像のクロミナンス情報においてデジタルノイズを知覚することができ、したがって、全周波数ノイズ除去が、典型的には、輝度領域よりもクロミナンス領域において効果的であるという観察の反映として、前処理済み画像122のクロミナンス情報に対して動作する。この手法の下で、ハードウェアアーキテクチャ300は、クロミナンスチャネル(例えば、Uチャネル及びVチャネル)の各々が、他のチャネルと並行してハードウェアアーキテクチャ300の対応するインスタンスによって処理されるように複製することができるか、又は、ハードウェアアーキテクチャ300が、Uチャネルについて一度、次いでVチャネルについて再度(若しくはその逆)、マルチスケールフィルタリングプロセスを順に実行するために用いられ得る。更に他の実施形態では、この同じプロセスは、輝度情報に対して、個別に又はクロミナンス情報の処理と組み合わせて用いられ得る。
【0016】
入力から開始して、機能ブロック302(「CNR0 302」と表記される)は、初期スケーリングされたフィルタリングレベル(レベル0)において実装され、前処理済み画像122のクロミナンス情報を受け取る入力部を有する。このクロミナンス情報自体は、ある種の画像として見ることができ、したがって、本明細書ではクロミナンス画像328と称される。クロミナンス画像328は、CNR0 302への入力として、画像前処理段階114の出力部から直接、又は、メモリ106、108のうち何れかを介して、DMAアクセス又は通常のメモリコントローラ読み出し動作の何れかを介して提供され得る。CNR0 302は、次のサブプロセスに進む前に高周波成分を除去するために、クロミナンス画像328に対してCNR0 302によって実行される1つ以上のノイズ低減動作に基づいて、ノイズ低減(又は「ノイズ除去」)画像CDNR0_D330を提供する出力部を更に含む。例えば、非局所平均(NLM)ノイズ除去動作をノイズ除去動作として用いられ得る。しかしながら、他のノイズ除去動作、例えば、局所平均ノイズ除去、バイラテラルノイズ除去、ガイド付きフィルタノイズ除去、ウェーブレットノイズ除去等も使用され得る。CNR0 302の出力部は、ノイズ除去画像CNR0_D330が1つ以上の書き込みDMA動作を介してメモリ106に記憶されるように、WDMAエンジン301の入力部に結合される。CNR0 302の出力部は、機能ブロック304(CDS0 304と表記される)の入力部にも結合され、これもレベル0で実装され、ノイズ除去画像CNR0_D330にダウンスケーリング動作を適用して、出力部においてダウンスケーリング画像CDS0_D332を生じるように動作し、これはWDMAエンジン301に結合され、したがって1つ以上の書き込みDMA動作を介してメモリ106に記憶される。画像122の元の解像度は、本明細書ではORとして識別され、レベル0におけるこの動作によって実装されるダウンスケーリングの程度は、DS0として表記される。例えば、DS0は、元の解像度の50%ダウンスケーリング、又は、DS0=0.5*OR(垂直解像度及び水平解像度の両方について)を表し得る。
【0017】
機能ブロック306(「CNR1 306」と表記される)は、中間スケーリングされたフィルタリングレベル(レベル1)で実装され、適切な時間に1つ以上のDMA動作を介して、メモリ106からRDMAエンジン303によってアクセスされるダウンスケーリング画像CDS0_D332を受け取る入力部を有する。CNR1 306は、ダウンスケーリング画像CDS0_D332に対してCNR1 306によって実行される1つ以上のノイズ低減動作に基づいてノイズ低減された(又は「ノイズ除去された」)CNR1_D画像を提供するための出力部を更に含む。このノイズ除去動作は、CNR0 302において実行されるものと同じタイプの動作(例えば、NLMノイズ低減)であるか、又は、異なるタイプのノイズ低減動作であり得る。CNR1 306の出力部は、ノイズ除去画像CNR1_D334が1つ以上の書き込みDMA動作を介してメモリ106に記憶されるように、WDMAエンジン301の入力部に結合される。CNR1 306の出力部は、機能ブロック308(CDS1 308と表記される)の入力部にも結合され、これもレベル1で実装され、ノイズ除去画像CNR1_336にダウンスケーリング動作を適用してダウンスケーリング画像CDS1_D336をその出力部において生じるように動作し、これは、WDMAエンジン301に結合され、したがって1つ以上の書き込みDMA動作を介してメモリ106に記憶される。レベル1におけるこの動作によって実装されるダウンスケーリングの程度は、DS1として表記され、ここで、DS1>DS0である。例えば、DS1は、ダウンスケーリングされノイズ除去画像334の50%ダウンスケーリング、したがって元の解像度ORの75%ダウンスケーリング、又は、DS1=0.25*OR(垂直解像度及び水平解像度の両方について)を表し得る。
【0018】
機能ブロック310(CNR2 310と表記される)は、最終スケーリングされたフィルタリングレベル(レベル2)で実装され、適切な時間に1つ以上のDMA動作を介してメモリ106からRDMAエンジン303によって取り出されたダウンスケーリング画像CDS1_D336を受け取るように、RDMAエンジン303の出力部に結合された入力部を有する。CNR2 310は、ダウンスケーリング画像CDS1_D336に対してCNR2 310によって実行される1つ以上のノイズ低減動作に基づいて、ノイズ低減された(又は「ノイズ除去された」)画像338(「CNR2_D338」と表記される)を提供するための出力部を更に含む。このノイズ除去動作は、CNR0 302で実行されるのと同じタイプの動作であってもよく、又は、異なるタイプのノイズ低減動作であってもよい。機能ブロック312(CFSUS1 312で表記される)は、融合レベルとして実装され、ノイズ除去画像CNR2_D338を受け取るようにCNR2 310の出力部に結合された入力部を有し、ノイズ除去画像CNR2_D338にアップスケーリング動作を適用して、その出力部においてアップスケーリング画像CFSUS1_D340を生じるように動作する。アップスケーリングの程度は、FUS1として表記され、事実上、ダウンスケーリング画像CDS1_D336に適用されるダウンスケーリングの程度DS1を逆にするように構成される(すなわち、FUS1=1/(1-DS1))。したがって、ダウンスケーリングDS1が解像度の50%低減をもたらす場合、アップスケーリングFUS1は、得られたアップスケーリング画像CFSUS1_D340において解像度の200%の増加を提供する。
【0019】
機能ブロック314(CUS1 314と表記される)は、中間フィルタリングレベル(レベル1)で実装され、CNR2 310への入力のためにメモリ106からRDMAエンジン303によって取り出されたダウンスケーリング画像CDS1_D336を並行して受け取るようにRDMAエンジン303の出力部に結合された入力部を有する。CUS1 314は、ダウンスケーリング画像CDS1_D336にアップスケーリング動作を適用して、その出力部においてアップスケーリング画像CUS1_D342を生じるように動作する。アップスケーリングの程度は、US1として表記され、事実上、ダウンスケーリング画像CDS1_D336に適用されるダウンスケーリングの程度DS1を逆にするように構成される(すなわち、US1=FS1=1/(1-DS1))。したがって、ダウンスケーリングDS1が解像度の50%の低減をもたらす場合、アップスケーリングUS1は、得られたアップスケーリング画像CUS1_D342において解像度の200%の増加を提供する。機能ブロック316(CRES1 316と表記される)は、レベル1で実装され、アップスケーリング画像CUS1_D342を受け取るようにCUS1 314の出力部に結合された入力部と、適切な時間に1つ以上のDMA動作を介してメモリ106からRDMAエンジン303によって取り出されたノイズ除去画像CNR1_D334を受け取るようにRDMAエンジン303の出力部に結合された入力部と、を有する。CRES1 316は、アップスケーリング画像CUS1_D342をノイズ除去画像CNR1_D334から差し引いて、出力のための残差画像CRES1_D344を生成するように動作する(これはしたがって、高周波信号を維持するが、より低周波の信号を取り除く)。
【0020】
機能ブロック318(CFS1 318と表記される)は、融合レベルにおいて実装され、アップスケーリング画像CFSUS1_D340を受け取るようにCFSUS1 312の出力部に結合された入力部と、残差画像CRES1_D344を受け取るための入力部と、を有し、画像340及び344を重ね合わせ又は組み合わせて、融合画像CFS1_D346を生成するように動作する。機能ブロック320(CFSUS2 320と表記される)も融合レベルにおいて実装され、融合画像CFS1_D346を受け取るようにCFS1 318の出力部に結合された入力部を有し、融合画像CFS1_D346にアップスケーリング動作を適用して、その出力部においてアップスケーリング画像CFSUS2_D348を生じるように動作する。アップスケーリングの程度は、FUS2として表記され、事実上、ダウンスケーリング画像CDS0_D332に適用されるダウンスケーリングの程度DS0を逆にするように構成される(すなわち、FUS2=1/(1-DS0))。したがって、ダウンスケーリングDS0が解像度の50%の低減をもたらす場合、アップスケーリングFUS1は、得られたアップスケーリング画像CFSUS2_D348において解像度の200%の増加を提供する。
【0021】
機能ブロック322(CUS0 322と表記される)は、初期スケーリングされたフィルタリングレベル(レベル0)で実装され、適切な時間にメモリ106からRDMAエンジン303によって取り出されたダウンスケーリング画像CDS0_D332を受け取るように、RDMAエンジン303の出力部に結合された入力部を有する。CUS0 322は、ダウンスケーリング画像CDS0_D332にアップスケーリング動作を適用して、その出力部においてアップスケーリング画像CUS0_D350を生じるように動作する。アップスケーリングの程度は、US0として表記され、事実上、ダウンスケーリング画像CDS0_D332に適用されるダウンスケーリングの程度DS0を逆にするように構成される(すなわち、US0=FUS0=1/(1-DS0))。したがって、ダウンスケーリングDS0が解像度の50%の低減をもたらす場合、アップスケーリングUS0は、得られたアップスケーリング画像CUS0_D350において解像度の200%の増加を提供する。機能ブロック324(CRES0 316と表記される)は、レベル0で実装され、アップスケーリング画像CUS0_D350を受け取るようにCUS0 322の出力部に結合された入力部と、適切な時間に1つ以上のDMA動作を介してメモリ106からRDMAエンジン303によって取り出されたノイズ除去画像CNR0_D330を受け取るようにRDMAエンジン303の出力部に結合された入力部と、を有する。CRES0 324は、アップスケーリング画像CUS0_D350をノイズ除去画像CNR0_D330から差し引いて、出力のための残差画像CRES0_D352を生成するように動作する(これはしたがって、高周波信号を維持する一方で、より低周波の信号を取り除く)。
【0022】
機能ブロック326(CFS2 326と表記される)は、融合レベルにおいて実装され、アップスケーリング画像CFSUS2_D348を受け取るようにCFSUS2 312の出力部に結合された入力部と、残差画像CRES0_D352を受け取るための入力とを有し、画像348及び352を重ね合わせ又は組み合わせて、フィルタリングされたクロミナンス画像354を生成するように動作し、これは、フィルタリング画像(124)のクロミナンス構成要素を含み、これは次いで、直接的に又はメモリ106若しくはメモリ108内の中間記憶装置を介して、画像後処理段階118に出力される。
【0023】
説明されるマルチスケールフィルタリング段階116のためのハードウェアアーキテクチャ300の機能ブロック302~326及びDMAエンジン301、303の個々の接続及び動作とともに、マルチスケールフィルタリングプロセス400を実行するためにハードウェアアーキテクチャ300を使用して用いられるデータフロー及び動作フローが、
図4~
図6によって示される。
【0024】
まず
図4を参照すると、第1のタイムスライス(時間T0~T2)において、前処理された画像122のクロミナンス情報を表すクロミナンス画像328は、初期スケーリングされたフィルタリングレベルにおいてあるレベル0に入力され、その後、それは、CNR0 302に入力され、CNR0 302は、NLMノイズ除去動作又は他のノイズ除去動作を実行して、ノイズ除去画像CNR0_D330(時間T0~T1)を生成する。WDMAエンジン301は、書き込み動作402を実行して、ノイズ除去画像CNR0_D330を、後続のアクセスのためにメモリ106に書き込む。CDS0 304は、ダウンスケーリング係数DS0(例えば、50%)によって、CNR0 302によって出力されたノイズ除去画像CNR0_D330をダウンスケーリングして、ダウンスケーリング画像CDS0_D332を生成する(時間T1~T2)。WDMAエンジン301は、書き込みDMA動作404を実行して、ダウンスケーリング画像CDS0_D332を、後続のアクセスのためにメモリ106に書き込む。
【0025】
図5を簡単に参照すると、後続の第2のタイムスライス(時間T2~T4)において、RDMAエンジン303は、読み出しDMA動作502を実行して、メモリ106から記憶されたダウンスケーリング画像CDS0_D332にアクセスし、それをCNR1 306に提供し、CNR1 306は、ダウンスケーリング画像CDS0_D332(時間T2~T3)にノイズ除去動作を適用して、ノイズ除去画像CNR1_D334を生成する。WDMAエンジン301は、書き込みDMA動作504を実行して、ノイズ除去画像CNR1_D334をメモリ106にバッファリングする。次いで、CDS1 308は、CNR1 306によって出力されたノイズ除去画像CNR1_D334をダウンスケーリング係数DS1(例えば、更に50%)だけダウンスケーリングして、ダウンスケーリング画像CDS1_D336を生成し(時間T3~T4)、WDMAエンジン301は、書き込みDMA動作506を実行して、ダウンスケーリング画像CDS1_D336をメモリ106にバッファリングする。
【0026】
後続の第3のタイムスライス(T4-T5)において、RDMAエンジン303は、読み出しDMA動作508を実行して、メモリ106からダウンスケーリング画像CDS1_D336にアクセスし、アクセスされたダウンスケーリング画像CDS1_D336を中間スケーリングされたフィルタリングレベル(レベル2)でCRN2 310に提供する。CRN2 310は、NLMノイズ除去動作(又は他のノイズ除去動作)を実行して、ノイズ除去画像CNR2_D338を生成する。
【0027】
図6を簡単に参照すると、後続の第4のタイムスライス(T5~T6)において、ノイズ除去画像CNR2_D338が融合レベルに提供され、その後、CFSUS1 312は、アップスケーリング係数FUS1を使用してアップスケール動作を実行して、ノイズ除去画像CNR2_D338をアップスケールし、アップスケーリング画像CFSUS1_D340を生成する。再び
図5を参照すると、この同じタイムスライス中に、RDMAエンジン303は、読み出しDMA動作510を実行して、メモリ106からの記憶されたダウンスケーリング画像CDS1_D336にアクセスし、それをCUS1 314に提供し、CUS1 314は、アップスケーリング係数US1を使用してアップスケール動作を実行して、ダウンスケーリング画像CDS1_D336をアップスケールして、アップスケーリング画像CFSUS1_D340と同じ解像度を有するアップスケーリング画像CUS1_D342を生成し、アップスケーリング画像CUS1_D342は、CRES1 316に入力される。同時に、RDMAエンジン303は、メモリ106から、ノイズ除去画像CNR1_D334にアクセスするために読み出しDMA動作512を実行し、それを入力としてCRES1 316に提供する。次いで、CRES1 316は、ノイズ除去画像CNR1_D334からアップスケーリング画像CUS1_D342を差し引いて、残差画像344を生成する。
図5に戻ると、この同じタイムスライス中に、アップスケーリング画像CFSUS1_D340及び残差画像CRES1_D344がCFS1 318に入力され、CFS1 318は、これらの入力画像を重ね合わせ、すなわち「融合」して、融合画像CFS1_D346を生成する。
【0028】
再び
図6を参照すると、後続の第5のタイムスライス(時間T6~T7)において、出力された融合画像CFS1_D346は、CFSUS2 340に入力され、CFSUS2 340は、融合画像CFS1_D346をアップスケール係数FUS1によってアップスケールするためのアップスケーリングされた動作を実行して、クロミナンス画像328の元の解像度ORを有するアップスケーリング画像CFSUS2_D348を生成する。
図4に戻ると、同時に、第5のタイムスライス(T6~T7)において、WDMAエンジン301は、読み出しDMA動作406を実行して、メモリ106から記憶されたダウンスケーリング画像CDS0_D332にアクセスし、ダウンスケーリング画像CDS0_D332をCUS0 332に提供し、CUS0 332は、アップスケール動作を実行して、画像CDS0_D332をアップスケール係数US0によってアップスケールして、クロミナンス画像328の元の解像度ORと同じ解像度を有するアップスケーリング画像CUS0_D350を生成する。
【0029】
第6の最後のタイムスライス(時間T7~T8)について、RDMAエンジン303は、メモリ106からのノイズ除去画像CNR0_D330にアクセスするために読み出しDMA動作408を実行し、アクセス画像をCRES0 324の入力部に提供する。CRES0 324は、アクセスされたノイズ除去画像CNR0_D330からアップスケーリング画像CUS0_D350を差し引いて、残差画像CRES0_D352を生成する。再び
図6を参照すると、残差画像CRES0_D352及びアップスケーリング画像CFSUS2_D画像は、融合レベルにおいてCFS2 326に入力され、CFS2 326は、残差画像CRES0_D352をアップスケーリング画像CFSUS2_D348に重ね合わせるための重ね合わせ動作を実行して、出力されたフィルタリングされたクロミナンス画像354を生成する。
【0030】
したがって、上述したように、マルチスケールフィルタリングプロセス400及びこのプロセスを実行するハードウェアアーキテクチャ300は、一緒に、改善されたレイテンシ及び帯域幅を提供するために、一時的なDMAベースのストレージと、エンドツーエンドフローにおけるメモリからの中間画像の後続のアクセスと、を使用することによって、低レイテンシの全周波数画像フィルタリングを提供する。特に、3つのノイズ除去画像、2つのダウンスケーリング画像、2つの残差画像、4つのアップスケーリング画像、及び、2つの融合画像等のように、上述したマルチスケール全周波数フィルタリングプロセスにおける中間画像の数に留意されたく、これらの融合画像の最後の画像は、最終出力として働く。上述したアーキテクチャ及びプロセスを使用して、2つのダウンスケーリング画像及び2つのノイズ除去画像のみが利用され、これは、メモリに記憶してメモリからアクセスするための最小量のデータを提供し、著しく低減されたメモリ帯域幅要件につながる。更に、中間画像は、現在のレベルにおいて生成された直後に次のレベルによって処理される。したがって、レイテンシは、主に、ノイズ低減、ダウンスケール及びアップスケールプロセスのフィルタウィンドウサイズ並びにメモリレイテンシに依存し、したがって、従来の手法と比較して全体的により低いレイテンシをもたらす。
【0031】
いくつかの実施形態では、上記の装置及び技術は、
図1~
図6を参照して上述したSOC102等の1つ以上の集積回路(IC)デバイス(集積回路パッケージ又はマイクロチップとも称される)を含むシステムに実装される。電子設計自動化(electronic design automation、EDA)及びコンピュータ支援設計(computer aided design、CAD)ソフトウェアツールは、これらのICデバイスの設計及び製造に使用することができる。これらの設計ツールは、典型的には、1つ以上のソフトウェアプログラムとして表される。1つ以上のソフトウェアプログラムは、回路を製造するための製造システムを設計するか又は適応させるためのプロセスの少なくとも一部を実行するために、1つ以上のICデバイスの回路を表すコードで動作するようにコンピュータシステムを操作するための、コンピュータシステムによって実行可能なコードを含む。このコードは、命令、データ、又は、命令及びデータの組み合わせを含み得る。設計ツール又は製造ツールを表すソフトウェア命令は、典型的には、コンピューティングシステムにアクセス可能なコンピュータ可読記憶媒体に記憶される。同様に、ICデバイスの設計又は製造の1つ以上の段階を表すコードは、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体に記憶され、そこからアクセスされる。
【0032】
コンピュータ可読記憶媒体は、命令及び/又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の非一時的な記憶媒体又は非一時的な記憶媒体の組み合わせを含む。このような記憶媒体には、限定されないが、光学媒体(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク)、磁気媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、磁気ハードドライブ)、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)若しくはキャッシュ)、不揮発性メモリ(例えば、読取専用メモリ(ROM)若しくはフラッシュメモリ)、又は、微小電気機械システム(MEMS)ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体(例えば、システムRAM又はROM)はコンピューティングシステムに内蔵されてもよいし、コンピュータ可読記憶媒体(例えば、磁気ハードドライブ)はコンピューティングシステムに固定的に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、光学ディスク又はユニバーサルシリアルバス(USB)ベースのフラッシュメモリ)はコンピューティングシステムに着脱可能に取り付けられてもよいし、コンピュータ可読記憶媒体(例えば、ネットワークアクセス可能ストレージ(NAS))は有線又は無線ネットワークを介してコンピュータシステムに結合されてもよい。
【0033】
いくつかの実施形態では、上述した技術の特定の態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装される。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶されるか、別の方法で明確に具体化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、命令及び特定のデータを含んでもよく、当該命令及び特定のデータは、1つ以上のプロセッサによって実行されると、上述した技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する。非一時的なコンピュータ可読記憶媒体は、例えば、磁気又は光ディスク記憶デバイス、フラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ(RAM)、又は、他の不揮発性メモリデバイス(単数又は複数)等を含み得る。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈され若しくは別の方法で実行可能な他の命令形式で実装可能である。
【0034】
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、1つ以上のさらなるアクティビティが実行される場合があり、1つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
【0035】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。
【国際調査報告】