JP5462305B2 - 画像処理装置、画像処理方法およびそのプログラム - Google Patents

画像処理装置、画像処理方法およびそのプログラム Download PDF

Info

Publication number
JP5462305B2
JP5462305B2 JP2012054940A JP2012054940A JP5462305B2 JP 5462305 B2 JP5462305 B2 JP 5462305B2 JP 2012054940 A JP2012054940 A JP 2012054940A JP 2012054940 A JP2012054940 A JP 2012054940A JP 5462305 B2 JP5462305 B2 JP 5462305B2
Authority
JP
Japan
Prior art keywords
processing
alignment process
alignment
reference frame
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012054940A
Other languages
English (en)
Other versions
JP2013190865A (ja
Inventor
健二 君山
俊雄 佐藤
美彦 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012054940A priority Critical patent/JP5462305B2/ja
Priority to US13/778,504 priority patent/US20130235272A1/en
Priority to DE102013203600A priority patent/DE102013203600A1/de
Priority to GB1303930.0A priority patent/GB2501171B/en
Publication of JP2013190865A publication Critical patent/JP2013190865A/ja
Application granted granted Critical
Publication of JP5462305B2 publication Critical patent/JP5462305B2/ja
Priority to US14/636,844 priority patent/US9460489B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Description

本発明の実施形態は、画像処理装置、画像処理方法およびそのプログラムに関する。
近年、TVやディスプレイに超解像技術を使った製品が市販されている。超解像技術は、画像の画素サンプリング時(撮像素子による光電変換時や縮小処理時)に失われる詳細な部分(ナイキスト周波数以上の成分)を画像処理によって再現する技術である。たとえば、解像度が低いNTSC方式のビデオカメラやDVDの映像を大画面液晶TVに表示する場合に、超解像技術を使うと詳細な部分が再現されて、解像度が高い鮮明な画像を得ることができる。
超解像技術にはさまざまな方式が提案されている。フレーム内超解像、辞書ベース超解像、複数フレーム超解像などである。それらの中で特に画像の詳細部分の再現率が高くて高性能なのは、複数フレーム超解像方式である。位置あわせ処理として時間的に前後する複数のフレームから同じ物体の同じ部分を対応点として検出し、この位置あわせ処理によって得られた参照フレームと基準フレームの対応点の情報を用いて再構成処理を行うことで高解像度の画像が得られる。このようにして、単一フレームよりも情報量が多くなった状態から1フレームの高解像フレームを生成する。それを、1フレームずつ進めながら連続して行うことにより高解像の動画が生成される。なお、再構成処理には、高画質であるが処理負荷が高い繰り返し処理を用いる方式と、処理負荷が低い反面画質は劣る繰り返しを用いない方式がある。
ところで、複数フレーム超解像の処理を実際に実行する場合、CPUによるソフトウェア処理と、専用ハードウェア処理の二通りの実施形態がある。CPUによるソフトウェア処理は、従来は演算処理部が1つのパーソナルコンピュータ上で実施されることが主流であった。このようなパーソナルコンピュータ上では、複数フレーム超解像の各処理は逐次的に行われる。つまり、前フレームとの位置あわせ処理を行い、後フレームとの位置あわせ処理を行い、最後に再構成処理を行う。あるいは、マルチスレッドというソフトウェアプログラミング技術により、OSがコントロールする優先度にしたがって時分割で擬似的な並列演算がなされる場合もあるが、この技術では、処理の切り替えオーバーヘッドによって逐次的に処理を行うよりも時間がかかることさえある。
近年では、複数の演算処理部を1つのCPUに内蔵して性能向上を狙う製品が主流となってきた。そのようなCPUは、演算処理部=コアと呼び、それを複数または多数持つことから、マルチコアCPU、メニーコアCPUと呼ばれる。そのCPUでは、複数のプログラムは複数の演算処理部を使って並列動作させることができる。
また、パーソナルコンピュータに搭載されるマルチコアCPUだけでなく、組み込みCPUやDSP(Digital Signal Processor)においてもマルチコア化、メニーコア化が進んでいる。このように、専用ハードウェアにも、複数の演算処理部を実装して処理を並列に行うことができるようになっている。このような複数の演算処理部を利用すれば、前フレームとの位置あわせ処理と、後フレームの位置あわせ処理と、再構成処理とを並列に行うようにすることができる。
特開2010−218271号公報
しかしながら、単一の演算処理部による場合、超解像処理において、前後の参照フレームの全画素を、拡大したい基準フレームに位置あわせする処理を行う必要があり、一定サイズのブロックと類似するパターンをフレーム内で繰り返しサーチ(ブロックマッチング)するため、処理負荷の高さが問題であった。また、高画質を得るため再構成処理として繰り返し処理を用いる方式を採用した場合も処理負荷が高くなるという問題があった。これらの問題に対処するためマルチコアCPUを利用するとしても、1つのプログラムを複数の演算処理部を使って並列動作させるためにはアルゴリズムの工夫が必要であり、自動的に並列動作させることができないのが現状である。そこで、マルチコアCPUの複数の演算処理部を、効果的に並列動作させる複数フレーム超解像用のアルゴリズムが望まれた。
一方、近年のメモリアーキテクチャは、大容量であるがランダムアクセス時に速度が低下するメインメモリと、容量は小さいがランダムアクセスが高速なキャッシュメモリの2階層構成(時にはそれ以上の階層)になっているが、CPUによるソフトウェア処理においても、専用ハードウェア処理においても、メモリアクセス帯域の問題がある。処理に必要なデータはなるべくキャッシュメモリ上に配置されるようにしないと、メインメモリとキャッシュメモリ間のメモリアクセス帯域のボトルネックにより処理速度の低下が生じてしまう。特に画像データはそのサイズが大きくこのような問題が表面化するのでその解決策も望まれていた。
本発明が解決しようとする課題は、超解像処理のために、複数の演算手段を効果的に並列動作させることができ、さらにはメモリアクセスを効率的に行える画像処理装置、画像処理方法およびそのプログラムを提供することである。
実施形態の画像処理装置は、高解像化する基準フレーム上でその他の参照フレーム上の画素を位置合わせして、その結果を元に再構成処理を行うことにより、複数フレームの低解像度の画像から1フレームの高解像度の画像を生成する超解像処理を行う画像処理装置である。実施形態の画像処理装置は、並列動作可能な複数の演算処理手段を備えたものを用いる。そして、この複数の演算処理手段上で、基準フレームおよび参照フレーム間の位置合わせ処理を行う際、基準と参照の関係を逆とした位置合わせ処理を並列に動作させて、各位置合わせ処理においてその処理結果を互いに共有するようにする。
図1は一実施形態であるマルチコアCPUを使った画像処理装置のブロック図である。 図2は、超解像処理における位置合わせ処理のフレーム間の関係を示した図である。 図3は、比較例1として、マルチコアCPUを用いた従来の処理方式(その1)を説明するための図である。 図4は、比較例2として、マルチコアCPUを用いた従来の処理方式(その2)を説明するための図である。 図5は、実施形態における、マルチコアCPUを用いた処理方式(その1)を説明するための図である。 図6は、同実施形態における、前後2フレームを参照フレームとしたマルチコアCPUを用いた処理方式(その2)を説明するための図である。 図7は、同実施形態において、実施例1としてのダイレクトに相手の結果バッファへ書き込む方法による位置合わせ処理のフローチャートである。 図8は、同実施形態における結果バッファの一例を示した図である。 図9は、同実施形態における位置合わせ処理の概要を示す図である。 図10は、同実施形態において、実施例2としてのダイレクトに相手の結果バッファへ書き込む方法による位置合わせ処理のフローチャートである。 図11は、位置合わせ処理21と位置合わせ処理12の関係を示す図である。 図12は、位置合わせ処理21による、位置合わせ処理12の処理の肩代わりを示す図である。 図13は、同実施形態において、実施例3としてのダイレクトに相手の結果バッファへ書き込む方法による位置合わせ処理のフローチャートである。 図14は、位置合わせ処理21と位置合わせ処理12の関係を示す図である。 図15は、位置合わせ処理21による、位置合わせ処理12の処理の肩代わりを示す図である。
図1は一実施形態であるマルチコアCPUを使った画像処理装置のブロック図である。
図1に示すマルチコアCPU100は、4基の演算処理部(PE1・101〜PE4・104)と、キャッシュメモリ105を含んで構成され、外部のメインメモリ200とバス201を介して接続されている。映像は映像入力10として外部から取り込まれ、図示しないDMA(Direct Memory Access)等によりメインメモリ200へ保存され、マルチコアCPU100により必要な画像処理が施され、映像出力20として出力される。
マルチコアCPU100は、4基の演算処理部をもつので、各演算処理部により、4つのプログラムを並列処理することが可能である。従って、並列処理するように作成されたプログラムの下では、プログラム内の4つの処理を同時に行うことができる。なお、これらのプログラムは、当該画像処理装置に備わるROMやHDD等の不揮発性の記憶デバイス(図示せず)に格納されており、起動時または実行時にメインメモリ200にロードされ、マルチコアCPU100によって実行される。
キャッシュメモリ105は、メインメモリ200よりもランダムアクセスが高速であり、メインメモリ200に記憶されたものと同じ内容を一時的に記憶し、各演算処理部は、キャッシュメモリ105からその内容を読み出すことができる。また、キャッシュメモリ105に記憶されていない内容については、メインメモリ200から読み出して演算処理部へ送られると同時にキャッシュメモリ105へも書き込まれる。キャッシュメモリ105のサイズは、メインメモリ200よりも小さいために書き込みと同時に使われなくなったデータは上書き消去される。そのため、なるべく狭いアドレス範囲のデータを連続して使用することが処理速度の向上につながる。処理が終わった結果の映像データは、映像出力20としてDMA等により外部へ出力されるか、PCならばモニタへ表示されることとなる。
図2は、超解像処理における位置合わせ処理のフレーム間の関係を示した図である。図中の符号1〜4で示すものはそれぞれ映像の1フレームであり、その数字はフレーム番号を示す。矢印の元のフレームは参照フレーム、矢印の先のフレームは基準フレームとなる。たとえば、図中21は参照フレーム1の画素が、基準フレーム2のどの座標にあるか位置合わせを行うことを示す。12は、それとは参照フレームと基準フレームが入れ替わる。
位置合わせのための探索には前述のようにブロックマッチングによる方法等がある。参照フレーム上の、求めたい点(すなわち位置合わせをしたい画素)を中心とした固定サイズのブロックを設定し、基準フレーム上でそのブロックと重ね合わせられるブロックとの間でSSD(Sum of Square Difference)やSAD(Sum of Absolute Difference)を、ブロックを1画素ずつ移動しながら繰り返し求める。SSDやSAD値が最も小さい場所の座標を整数精度の対応点座標とする。さらにその座標を、パラボラフィッティングや等角直線法により小数精度へと高める。この手順を参照フレーム上の全画素について繰り返す。この方法は一般的なもので、本実施形態における位置合わせのための探索の方式はこの方式に限定するものではない。ブロックマッチング以外の手法としては、位相相関限定法やオプティカルフローも知られている。
なお、図2では説明を簡単にするため、基準フレームの前後のみを参照フレームとしているが、さらに2つ前、3つ前といったように参照フレームはいくつ使ってもよい。ただし、参照フレーム数を増やしても画質の向上には限度があるので、通常は処理量と画質のバランスをとって決められる。
図3に、比較例1として、マルチコアCPUを用いた従来の処理方式(その1)を示す。マルチコアCPUを意識しないプログラムでは、このように逐次的に処理が行われる。位置合わせの際のフレームの番号は、図2の例と同じである。まず基準フレームを2として前の参照フレーム1と位置合わせ処理を行い、その後に後の参照フレーム3と位置合わせ処理を行う。それらの結果を用いて基準フレーム2を高解像度化する再構成処理2を行う。この場合では、演算処理部が複数あったとしてもその内の1基しか使われない。
図4に、比較例2として、マルチコアCPUを用いた従来の処理方式(その2)を示す。この例では、マルチコアCPUを意識したプログラミングがなされて、3つの処理が並列動作している。前半ではフレーム1〜3の合計3フレームが使われている。再構成2は、位置合わせ21と位置合わせ23の結果が同時に入力されているため、処理負荷の問題がある。つまり、同時に2つの位置合わせ結果が入力された場合は、実際には、どちらか一方が待たされるか、バッファを設けて一次保存する必要がある。
図5は、本実施形態における、マルチコアCPUを用いた処理方式(その1)である。本実施形態においても、マルチコアCPUを意識したプログラミングがなされて、4つの処理が並列動作している。従来の処理手順(その2)と異なる特徴的な部分は、位置合わせ処理21と位置合わせ処理12のように方向の異なる(つまり参照と基準の関係が逆の)位置合わせ処理が並列処理される部分である。例えば、位置合わせ処理21によって、参照フレーム1上の座標(10,20)の画素が、フレーム2上の座標(12,22)の画素と対応する点であることが先に求められた場合は、位置合わせ処理12の参照フレーム2上の座標(12,22)の対応点を求める計算をしないで、位置合わせ処理21の結果である(10,20)を採用するようにしている。ただし、座標の小数精度部分は共通利用できないために位置合わせ処理ごとに計算する必要がある。
また、図4の例では3フレームのリードが必要であったが、本例では2フレームのリードでよいため図1のバス201を介したメモリアクセス帯域は低く抑ええることができる。さらに、図1のキャッシュメモリ105に、位置合わせ処理に用いる3フレーム分のデータが収まらなかった場合は、図4の例では頻繁なデータ入れ替えが発生し処理能力が低下する。本実施形態では、2フレーム分のデータを使用するだけなので、データ入れ替えの可能性は低くなる。データの入れ替えを抑制するために、キャッシュメモリ105の容量とその制御方法から、入れ替えの発生しないメモリ範囲を求めて、2つの位置合わせ処理がそのメモリ範囲を共通して使えるように速度制御することも可能である。例えば特開2011−61603号公報に記載された手法と組み合わせるとさらに抑制できる。
本実施形態ではまた、同図に示すように、再構成処理を前半と後半の2ステージに時間的に分割することで、すなわちパイプライン動作させることで、処理負荷の分散を図っている。これによって、位置合わせ処理に対して再構成処理が1対1の関係となり、複数の位置合わせ間の待ち合わせやそのためのバッファの必要がなくなる。なお、図5の例では、位置合わせ21(位置合わせ処理21)には再構成2前半が対応し、位置合わせ23(位置合わせ処理23)には再構成2後半が対応している。再構成2前半では、(例えば補間による)初期画像の生成およびこの初期画像と位置合わせ処理21による処理結果とから中間画像を再構成する。そして、再構成2後半において再構成2前半の処理結果と位置合わせ処理23の処理結果とを合せて1フレーム分の高解像画像が再構成される。
図6は、本実施形態における、前後2フレームを参照フレームとしたマルチコアCPUを用いた処理方式(その2)である。従来の並列化方式(図4の例を拡張したもの)では位置合わせ処理のメモリアクセス帯域は5フレーム分となるところを、本実施例では3フレームに抑制している。最初のステージでは、位置合わせ24と42がペアに、また、位置合わせ34と43がペアとなって処理を行う。
なお、図6の例では、位置合わせ42および43には再構成4 1/4と2/4が対応し、位置合わせ45には再構成4 3/4が対応し、位置合わせ46には、再構成4 4/4が対応している。再構成4 1/4と2/4で、初期画像の生成およびこの初期画像と位置合わせ処理42および43による処理結果とから中間画像が再構成され、再構成4 3/4で、再構成4 1/4と2/4の処理結果と位置合わせ45の処理結果とからさらに中間画像が再構成され、再構成4 4/4で、再構成4 3/4の処理結果と位置合わせ処理46の処理結果とを合せて1フレーム分の高解像画像が再構成される。
図6の例では、再構成処理のメモリアクセス帯域は増加するが、位置合わせ処理の繰り返し回数(探索フレーム数×画素数×探索範囲)よりも再構成処理の繰り返し回数(画素数×再構成回数(通常10回以下))が少ないために影響は少ない。なお、図に示すこの処理パターンは一例でありこれに限定するものではない。
なお、図5および図6等に示したものは、処理の順序を概念的に表わしたものであり、各演算処理部で実際に実行されるタイミングは処理負荷等に応じて変わるものである。
(実施例1)
次に、本実施形態における、ペアとなった位置合わせ処理が互いの処理結果を共有するための方式として、ダイレクトに相手の結果バッファに書き込む方式について説明する。
図7は、ダイレクトに相手の結果バッファへ書き込む方法による位置合わせ処理のフローチャートである。ここでは位置合わせ処理21を例としているが、位置合わせ処理12が、同フローチャートの手順で、並列して実行される。結果バッファはキャッシュメモリ105に設けられ位置合わせ処理ごとにフレーム単位で入力画像の画素数分だけ準備する。
この結果バッファにはそれぞれ、対応する位置合わせ処理の処理結果である整数精度計算による整数計算結果(整数部結果(=座標の整数部))および小数精度計算による小数計算結果(小数部結果(=座標の小数部))と、処理の状態(整数計算済み/小数計算済み/未計算)を示すステータスとが格納される(図8参照)。なお、各結果バッファのステータスは位置合わせ処理のはじめに未計算状態に初期化される。以下の説明では、位置合わせ処理21に対応する結果バッファを結果バッファ21と記し、位置合わせ処理12に対応する結果バッファを結果バッファ12と記す。
はじめに、ステップS1001において、位置合わせ処理21のステータスが格納される結果バッファ21のステータスをチェックし、位置合わせ処理12によって既に“整数計算済み”とされているかチェックする。このとき位置合わせ処理12による対応点ペアの整数精度計算(整数計算)が既になされている場合は、位置合わせ処理12により、該当画素について、結果バッファ21のステータスは“整数計算済み”に設定されている。従って、その場合は、ステップS1001でYesと判定され、ステップS1003へ移行する。
一方、上記チェックで結果バッファ21のステータスが“整数計算済み”となっていない場合は(ステップS1001でNo)、続くステップS1002で、位置合わせ処理21のブロックマッチングが実行されて、計算されたSSDを基に対応点ペアの座標の整数部結果が得られる(図9右側参照)。
続いて、ステップS1003で、位置合わせ処理21の小数精度計算がされて、対応点ペアの座標の小数部結果が得られる。そして、整数部および小数部の計算結果はそれぞれ結果バッファ21へ書き込まれる。
このようにして、位置合わせの対象の画素について、対応点ペアの小数精度計算が終了すると、ステップS1004で、結果バッファ21のステータスを“小数計算済み”に変更する。
一方、上記ステップS1001の結果バッファ21のステータスのチェックで、“整数計算済み”となっている場合は(このとき、位置合わせ処理12により対応点ペアの整数精度計算が完了している)、位置合わせ処理21における整数精度演算(上記ステップS1002)は省略され、上記ステップS1003の小数精度計算以降の処理のみ行われる。
ステップS1004の後、ステップS1005にて、さらに、対応点ペアとなる画素について、位置合わせ処理12の結果バッファ12のステータスをチェックする。つまり、位置合わせ処理21で求まった対応点ペアの位置合わせ処理21における基準フレーム側の座標の画素が、位置合わせ処理12における参照フレーム側の画素として既に計算されているかチェックする。そのステータスが“未計算”である場合は(ステップS1005でYes)、ステップS1006で、結果バッファ12にステップS1002で求めた整数部結果を設定し、ステップS1007で、結果バッファ12のステータスを“整数計算済み”に変更する。すると、位置合わせ処理12において該当画素の計算のときに小数部のみ計算される。一方、S1005のチェックで“未計算”でなかった場合は(ステップS1005でNo)、結果バッファ12に対して何もせず、ステップS1008へ移行する。
以上の一連の処理後、ステップS1008で、この位置合わせ処理21が参照フレーム内の全画素について小数計算済みか判定し、未処理の画素がある場合は(ステップS1008でNo)、ステップS1001に戻り(L1100)、引き続き一連の処理を繰り返す(図9左側参照)。そうでない場合は、この位置合わせ処理21は終了する。この後は、同じ演算処理部により、後続のフレームに対し位置合わせの処理が実施されることとなる(図5参照)。
このように、一方の位置合わせ処理により、対応点ペアの座標が先の求められた場合は、遅れて実行される位置合わせ処理における対応点ペアの座標の整数部演算を省略するようにしたので、本実施形態における位置合わせ処理は処理量が削減されて、並列処理による高速化に加え、全体としてさらに高速化される。
なお、上記例では、先に計算を済ませた方が、ペアとなる位置合わせ処理の相手側の結果バッファに、直接、整数計算結果を書き込むことにより、互いの処理結果を共有することを実現させているが、メインメモリ200に、位置合わせ処理の結果の履歴を一定時間保存するようにして、各位置合わせ処理において位置合わせ前にこの履歴情報を参照して既に対応点ペアが計算されている画素についてはその結果を用いるようにしてもよい。
(実施例2)
上記実施例1では、ペアとなる位置合わせ処理の一方が他方より先に、ある参照フレーム側の画素に対する対応点の計算を終了させた場合に、他方の処理ではその整数計算結果を利用することでその整数精度計算を省略できるようにしたものであるが、以下に説明する本実施例の処理の流れは、上記処理に加え、一方の位置合わせ処理が対象とする参照フレーム側の全画素について一連の処理を完了したときに、ペアとなる他方の位置合わせ処理が未完の場合、処理対象の残りの画素の一部について、位置合わせ処理を肩代わりするようにしたものである(このとき、2つの演算処理部が、同じ参照フレームおよび基準フレームに対して位置合わせ処理を行うことになる)。
図10は、本実施例のフローチャートである。同図に示すように、ステップS2001〜ステップS2008までは、前述した実施例1におけるステップS1001〜ステップS1008と同じである。実施例1では、位置合わせ処理21と位置合わせ処理12は、同様の処理が行われることとしたが、本実施例でも、位置合わせ処理12は、位置合わせ処理21とは、参照フレーム側の画素の選択を逆順として計算を開始するようにしている点(図11参照)を除いて、図9に示す処理を行う。
ステップS2001〜ステップS2008までは、前述した実施例1におけるステップS1001〜ステップS1008と同じであるので、その説明は省略する。参照フレーム側の全画素について位置合わせ処理21の計算が完了すると(ステップS2008でYes)、ステップS2009にて、位置合わせ処理12側がその参照フレーム側の全画素について、小数計算済みか判定する。この判定は、位置合わせ処理12の結果バッファ12のステータスを参照することにより可能である。
ここで位置合わせ処理12の方も参照フレーム側の全画素について小数計算済みの場合は(ステップS2009でYes)、位置合わせ処理21は終了する。もし、位置合わせ処理12側で、参照フレーム側の全画素について小数計算済みとなっていない場合は(ステップS2009でNo)、ステップS2010にて、位置合わせ処理21は、その参照フレームと基準フレームとを入れ替える。
続く、ステップS2011〜ステップS2014は、本来は、ステップS2001〜ステップS2004に対応する位置合わせ処理12によって実行される処理であるが、ここでは、先に処理が終わった位置合わせ処理21が肩代わりしている(図11参照)。
次いで、ステップS2015にて、位置合わせ処理12が、参照フレーム側の全画素について、小数計算済みか判定する。このとき小数計算済みとなっていない場合は(ステップS2015でNo)、ステップS2011に戻り(L2101)、一連の処理を繰り返すこととなる。一方、小数計算済みとなっていた場合は(ステップS2015でYes)、位置合わせ処理21を終了する。
ところで、図12右側に示すように、逆順に進行している、位置合わせ処理21による処理と本来の位置合わせ処理12の処理が処理の対象とする参照フレーム側の画素が(処理上)ぶつかると、位置合わせ処理12の参照フレーム側の全画素について結果バッファ12のステータスは“小数計算済み”となる。そのとき、ステップS2015にて参照フレーム側の全画素について、小数計算済みと判定され、図10に示す一連の処理は終了する。
以上のように、ペアとなる位置合わせ処理の一方が、その処理が先に終了した場合に他方の処理を肩代わりすることで、肩代わりされる演算処理部の負荷を分散させ、ペアとなる位置合わせ処理全体としての処理速度を向上させることができる。
(実施例3)
上記実施例2では、一方の位置合わせ処理が対象とする参照フレーム側の全画素について一連の処理を完了したときに、それとは逆順で処理を行っているペアとなる他方の位置合わせ処理が未完の場合、処理対象の残りの画素の一部について、処理を肩代わりするようにしたものであったが、本実施例では、1ライン単位に、ペアとなる位置合わせ処理を逆順に行い(図14参照)、先に処理を完了した方が、他方の位置合わせ処理が処理対象とする残りの画素の一部について、その処理を肩代わりするようにしたものである(このとき、2つの演算処理部が、同じ参照フレーム上の該当の1ラインに対して、(逆順で)位置合わせ処理を行うことになる)(図15参照)。
図13は、本実施例のフローチャートである。同図に示すように、ステップS3001〜ステップS3007までは、前述した実施例1におけるステップS1001〜ステップS1007および実施例2におけるステップS2001〜ステップS2007と同じである。ここでは、その説明は省略する。
本実施例では、位置合わせ処理21と位置合わせ処理12が処理対象とするそれぞれの参照フレーム(このとき一方の位置合わせ処理の参照フレームは他方の位置合わせ処理の基準フレームである)において、対応する1ライン毎に位置合わせ処理21と位置合わせ処理12を逆順で行い、一方の1ライン分の位置合わせ処理が先に終了したときに、他方の処理の一部を肩代わりするようにしているので、ステップS3008で位置合わせ処理21が該当の1ラインに対しその1ライン分の画素について小数計算済みか判定をしている。
このとき、位置合わせ処理21がその参照フレーム側の該当の1ラインの画素について小数精度まで計算を完了させていない場合(ステップS3008でNo)、ステップS3001に戻り(L3100)、次の画素についてステップS3001以降の処理を実行する。一方、位置合わせ処理21がその参照フレーム側の該当の1ラインの画素について小数精度まで計算を完了させていると(ステップS3008でYes)、ステップS3009にて、位置合わせ処理12側が、その参照フレームの対応する1ライン分の画素について、小数計算済みであるかをさらに判定する。これらの判定は、位置合わせ処理21の結果バッファ21のステータスおよび位置合わせ処理12の結果バッファ12のステータスを参照することにより可能である。
ここで位置合わせ処理12の方も参照フレーム側の該当の1ライン分の画素について、小数計算済みの場合は(ステップS3009でYes)、ステップS3016にて、位置合わせ処理21がその参照フレーム側の全画素について、小数計算済みか判定する。この判定は、位置合わせ処理12の結果バッファ12のステータスを参照することにより可能である。
この判定において、上記全画素について小数計算済みであったとき(ステップS3016でYes)、位置合わせ処理21は終了する。そうでない場合(ステップS3016でNo)、ステップS3001に戻り(L3102)、次の1ラインについてステップS3001以降の処理を実行する。
上記ステップS3009にて位置合わせ処理12の方がその参照フレーム側の該当の1ライン分の画素について小数計算済みとなっていない場合は(ステップS3009でNo)、ステップS3010にて、位置合わせ処理21は、その参照フレームと基準フレームを入れ替える。
続く、ステップS3011〜ステップS3014は、本来は、ステップS3001〜ステップS3004に対応した、位置合わせ処理12により実行される処理であるが、ここでは、先に処理が終わった位置合わせ処理21が肩代わりしている(図15参照)。そして、ステップS3015にて、位置合わせ処理12が、参照フレーム側の全画素について、小数計算済みか判定する。このとき小数計算済みとなっていない場合は(ステップS3015でNo)、ステップS3011に戻り(L3101)、ステップS3011以降の処理を繰り返すこととなる。一方、小数計算済みとなっていた場合は(ステップS3015でYes)、ステップS3016へ移行する。
ところで、図15右側に示すように、ある1ライン上で逆順に進行している、位置合わせ処理21による処理と本来の位置合わせ処理12の処理が処理の対象とする参照フレーム側の画素が(処理上)ぶつかると、位置合わせ処理12の参照フレーム側の該当1ラインの全画素について結果バッファ12のステータスは“小数計算済み”となる。そのとき、ステップS3015にて参照フレーム側の該当1ラインの全画素について、小数計算済みと判定され、図13に示す一連の処理は終了する。
以上のように、ペアとなる位置合わせ処理の一方が、処理対象となっている1ラインについてその処理が先に終了した場合に他方の処理を肩代わりすることで、ペアとなる位置合わせ処理全体としての処理速度を向上させることができる。また、各々の参照フレーム上の同一ラインについて、ペアとなる位置合わせ処理を順に完了させるので、並列動作させる位置合わせ処理の処理速度をライン単位で調整でき、結果として同時期に参照されるメモリのアドレス範囲を制限することができ、キャッシュメモリ105を有効に利用することができる(キャッシュメモリ105の有効利用による処理速度の向上が期待できる)。
以上説明したとおり、本実施形態および諸実施例によれば、超解像処理のために、複数の演算処理部を効果的に並列動作させることができ、さらにはメモリアクセスを効率的に行えるようになる。
なお、本実施形態の画像処理装置で実行されるプログラムは、この画像処理装置に備わるROMやHDD等の不揮発性の記憶デバイスに予め組み込まれて提供される。
本実施形態の画像処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、当該ネットワーク経由で提供または配布するように構成しても良い。
以上、本発明の実施形態とそのいくつかの実施例を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。例えば、前述の実施形態ではマルチコアCPU100によるソフトウェア処理を中心として説明したが専用ハードウェアによるシステム構成であっても同様の仕組みを使うことができる。その場合、図1に示した101〜104の各演算処理部は専用の位置合わせロジックとなり、キャッシュメモリ105は少ないクロックサイクルで読み出される高速メモリとなる。
100 マルチコアCPU
101 PE1
102 PE2
103 PE3
104 PE4
105 キャッシュメモリ
200 メインメモリ
201 バス

Claims (8)

  1. 高解像化する基準フレーム上でその他の参照フレーム上の画素を位置合わせして、その結果を元に再構成処理を行うことにより、複数フレームの低解像度の画像から1フレームの高解像度の画像を生成する超解像処理を行う画像処理装置において、
    並列動作可能な複数の演算処理手段を備え、
    前記複数の演算処理手段上で、前記基準フレームおよび前記参照フレーム間の位置合わせ処理を行う際、基準と参照の関係を逆とした位置合わせ処理を並列に動作させて、各位置合わせ処理においてその処理結果を互いに共有するように構成される
    画像処理装置。
  2. 並列に動作している前記位置合わせ処理において、既に一方の位置合わせ処理によって前記参照フレームおよび前記基準フレーム上の対応点ペアが計算されている画素については、その計算結果を他方の位置合わせ処理で用いるように構成される
    請求項1に記載の画像処理装置。
  3. 並列に動作するペアとなる前記位置合わせ処理の各々がアクセス可能で各々の処理結果が格納される記憶領域であって、ペアとなる前記位置合わせ処理の各々に対して入力画像の画素毎の記憶領域が用意される記憶手段を有し、
    前記一方の位置合わせ処理により対応点ペアが計算済みであり、かつ、該対応点ペアの前記他方の位置合わせ処理による計算が未完である場合、前記一方の位置合わせ処理により前記他方の位置合わせ処理用の対応する前記記憶領域にその処理結果を反映させることにより、該処理結果を前記他方の位置合わせ処理で用いるように構成される請求項2に記載の画像処理装置。
  4. 並列に動作するペアとなる前記位置合わせ処理の各々がそれぞれの参照フレームの画素に対し相互に逆順に位置合わせ処理を行い、一方の位置合わせ処理がその参照フレーム側の全画素について処理を先に完了した場合、該一方の位置合わせ処理が、他方の位置合わせ処理が処理対象とする参照フレーム上の未処理の画素の一部について、その位置合わせ処理を肩代わりするように構成される請求項1から請求項3のいずれか1項に記載の画像処理装置。
  5. 並列に動作するペアとなる前記位置合わせ処理の各々がそれぞれの参照フレーム上の同じ位置の1ラインの画素に対し相互に逆順に位置合わせ処理を行い、該当の1ラインについて一方の位置合わせ処理が先に完了した場合、該一方の位置合わせ処理が、前記他方の位置合わせ処理が処理対象とする1ライン上の未処理の画素の一部について、その位置合わせ処理を肩代わりするように構成される請求項1から請求項3のいずれか1項に記載の画像処理装置。
  6. 前記位置合わせ処理の各々により並列処理された位置合わせの結果を受けて、各基準フレームから高解像画像を生成するための前記再構成処理をパイプライン動作させるように構成される請求項1から請求項5のいずれか1項に記載の画像処理装置。
  7. 並列動作可能な複数の演算処理手段を備えて、高解像化する基準フレーム上でその他の参照フレーム上の画素を位置合わせして、その結果を元に再構成処理を行うことにより、複数フレームの低解像度の画像から1フレームの高解像度の画像を生成する超解像処理を行う画像処理装置における、画像処理方法であって、
    前記基準フレームおよび前記参照フレーム間の位置合わせ処理を行う際に、前記複数の演算処理手段に、
    基準と参照の関係を逆とした位置合わせ処理を並列に動作させる工程と、
    並列に動作する前記複数の演算処理手段による各位置合わせ処理においてその処理結果を互いに共有させる工程と、
    を行わせる画像処理方法。
  8. 並列動作可能な複数の演算処理手段を備えて、高解像化する基準フレーム上でその他の参照フレーム上の画素を位置合わせして、その結果を元に再構成処理を行うことにより、複数フレームの低解像度の画像から1フレームの高解像度の画像を生成する超解像処理を行う画像処理装置における、画像処理プログラムであって、
    前記基準フレームおよび前記参照フレーム間の位置合わせ処理を行う際に、前記複数の演算処理手段に、
    基準と参照の関係を逆とした位置合わせ処理を並列に動作させる工程と、
    並列に動作する前記複数の演算処理手段による各位置合わせ処理においてその処理結果を互いに共有させる工程と、
    を実行させる画像処理プログラム。
JP2012054940A 2012-03-12 2012-03-12 画像処理装置、画像処理方法およびそのプログラム Expired - Fee Related JP5462305B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012054940A JP5462305B2 (ja) 2012-03-12 2012-03-12 画像処理装置、画像処理方法およびそのプログラム
US13/778,504 US20130235272A1 (en) 2012-03-12 2013-02-27 Image processing apparatus and image processing method
DE102013203600A DE102013203600A1 (de) 2012-03-12 2013-03-04 Bildverarbeitungsvorrichtung und Bildbearbeitungsverfahren
GB1303930.0A GB2501171B (en) 2012-03-12 2013-03-05 Image processing apparatus and image processing method
US14/636,844 US9460489B2 (en) 2012-03-12 2015-03-03 Image processing apparatus and image processing method for performing pixel alignment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012054940A JP5462305B2 (ja) 2012-03-12 2012-03-12 画像処理装置、画像処理方法およびそのプログラム

Publications (2)

Publication Number Publication Date
JP2013190865A JP2013190865A (ja) 2013-09-26
JP5462305B2 true JP5462305B2 (ja) 2014-04-02

Family

ID=48142450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012054940A Expired - Fee Related JP5462305B2 (ja) 2012-03-12 2012-03-12 画像処理装置、画像処理方法およびそのプログラム

Country Status (4)

Country Link
US (2) US20130235272A1 (ja)
JP (1) JP5462305B2 (ja)
DE (1) DE102013203600A1 (ja)
GB (1) GB2501171B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101767927B1 (ko) * 2012-11-01 2017-08-17 한화테크윈 주식회사 실시간 움직임 검출 방법 및 시스템
CN104794681B (zh) * 2015-04-28 2018-03-13 西安电子科技大学 基于多冗余字典和稀疏重构的遥感图像融合方法
CN106204449B (zh) * 2016-07-06 2019-09-10 安徽工业大学 一种基于对称深度网络的单幅图像超分辨率重建方法
US20200160560A1 (en) * 2018-11-19 2020-05-21 Canon Kabushiki Kaisha Method, system and apparatus for stabilising frames of a captured video sequence
CN113938575B (zh) * 2021-07-23 2023-06-13 东莞理工学院 一种视频超分辨率重构方法、装置、终端设备及存储介质
US20230206495A1 (en) * 2021-12-29 2023-06-29 L3Harris Technologies, Inc. Adaptive alignment system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3031152B2 (ja) * 1993-12-24 2000-04-10 日本電気株式会社 動き予測プロセッサ及び動き予測装置
JPH07225852A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd 動画生成方法および装置
JP2671820B2 (ja) * 1994-09-28 1997-11-05 日本電気株式会社 両方向予測方法及び両方向予測装置
US6401194B1 (en) * 1997-01-28 2002-06-04 Samsung Electronics Co., Ltd. Execution unit for processing a data stream independently and in parallel
JPH10234044A (ja) * 1997-02-21 1998-09-02 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および装置
CA2424340A1 (en) * 2000-10-09 2002-04-18 Snell & Wilcox Limited Compression of motion vectors
US7382937B2 (en) * 2003-03-07 2008-06-03 Hewlett-Packard Development Company, L.P. Method and apparatus for re-constructing high-resolution images
JP2006279573A (ja) * 2005-03-29 2006-10-12 Sanyo Electric Co Ltd 符号化装置と方法、ならびに復号装置と方法
JP4886583B2 (ja) * 2007-04-26 2012-02-29 株式会社東芝 画像拡大装置および方法
US8861591B2 (en) * 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
US8525132B2 (en) 2007-09-06 2013-09-03 Konica Minolta Medical & Graphic, Inc. Flat panel detector
JP2009100407A (ja) * 2007-10-19 2009-05-07 Toshiba Corp 画像処理装置及びその方法
US8385422B2 (en) * 2008-08-04 2013-02-26 Kabushiki Kaisha Toshiba Image processing apparatus and image processing method
KR102057881B1 (ko) * 2009-02-06 2019-12-20 가부시키가이샤 한도오따이 에네루기 켄큐쇼 표시 장치 구동 방법
JP2010218271A (ja) 2009-03-17 2010-09-30 Tokyo Institute Of Technology パラメータ制御処理装置及び画像処理装置
JP4865021B2 (ja) 2009-09-11 2012-02-01 株式会社東芝 画像処理装置および画像処理方法
JP5148655B2 (ja) * 2010-04-19 2013-02-20 株式会社東芝 情報処理装置および情報処理装置の制御方法

Also Published As

Publication number Publication date
US9460489B2 (en) 2016-10-04
GB201303930D0 (en) 2013-04-17
US20130235272A1 (en) 2013-09-12
JP2013190865A (ja) 2013-09-26
GB2501171B (en) 2014-07-30
DE102013203600A1 (de) 2013-10-24
US20150242996A1 (en) 2015-08-27
GB2501171A (en) 2013-10-16

Similar Documents

Publication Publication Date Title
JP5462305B2 (ja) 画像処理装置、画像処理方法およびそのプログラム
CN105869117B (zh) 一种针对深度学习超分辨率技术的gpu加速方法
EP3557434B1 (en) Computational resource pipelining in general purpose graphics processing unit
US20190146817A1 (en) Binding constants at runtime for improved resource utilization
US10437593B2 (en) Techniques for comprehensively synchronizing execution threads
TW200905608A (en) Extrapolation of nonresident mipmap data using resident mipmap data
JP5026464B2 (ja) パラレル処理を利用した連立一次方程式を解くための装置、システム及び方法
US20150091931A1 (en) Procedurally Defined Texture Maps
WO2016043161A1 (ja) 表示装置、表示システム、及び表示制御プログラム
WO2024077745A1 (zh) 一种分块渲染模式图形处理方法及***
US9471323B2 (en) System and method of using an atomic data buffer to bypass a memory location
JP2011141823A (ja) データ処理装置および並列演算装置
CN108241211A (zh) 一种头戴显示设备及图像渲染方法
JP5510120B2 (ja) 情報処理装置、情報処理方法
WO2019114044A1 (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
US8156404B1 (en) L2 ECC implementation
JP7218801B2 (ja) 画像生成装置、画像生成方法、プログラム
US8411103B1 (en) Processing global atomic operations using the bending unit datapath
GB2506727A (en) Server-rendering of graphics for remote client
US8099650B1 (en) L2 ECC implementation
US9558560B2 (en) Connected component labeling in graphics processors
US20070165039A1 (en) Method and apparatus for decoding video data
US12039695B1 (en) Split machine-learning assisted graphics rendering pipeline
JP2010061498A (ja) メモリ制御装置、半導体試験装置およびメモリ制御方法
US9542192B1 (en) Tokenized streams for concurrent execution between asymmetric multiprocessors

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140116

R151 Written notification of patent or utility model registration

Ref document number: 5462305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees