(57)【要約】【課題】  複数台のコンピュータを利用して高速にデータ処理を行う。【解決手段】  画像処理システムであって、ディスプレイケーブル経由で、画像データをキャプチャするキャプチャ手段と、前記キャプチャされた画像データに対してグラフィックスカードで画像処理を行う画像処理手段と、画像処理が施された画像データをグラフィックスカードに接続されたディスプレイケーブルに出力する出力手段とを備える画像処理ユニットを複数ユニット備えるとともに、該複数ユニットをディスプレイケーブル経由で接続させたことを特徴とする。【選択図】  図２
2013069051.tif 000002
【特許請求の範囲】
【請求項１】
画像処理システムであって、
ディスプレイケーブル経由で、画像データをキャプチャするキャプチャ手段と、前記キャプチャされた画像データに対してグラフィックスカードで画像処理を行う画像処理手段と、画像処理が施された画像データをグラフィックスカードに接続されたディスプレイケーブルに出力する出力手段とを備える画像処理ユニットを複数個備えるとともに、
該複数の画像処理ユニットをディスプレイケーブル経由で接続させたことを特徴とする画像処理システム。
【請求項２】
前記キャプチャ手段はキャプチャカードであり、前記グラフィックスカードはＧＰＵであり、前記ディスプレイケーブルは、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする請求項１に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像データを固定のフレームレートで処理するための、画像処理方法および画像処理装置、プログラムに関するものである。
【背景技術】
【０００２】
近年、画像データの高解像度化が進んでいる。それに伴い、データ処理時間も増大しており、画像処理に長時間を費やすことも多い。これに対して、例えば特許文献１などのように、ネットワークに接続された複数台のコンピュータを用いて分散処理を行うことが知られている。また、コンピュータの処理能力を強化するために、Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（略してＧＰＵ）を搭載することなども行われる。ＧＰＵは並列演算処理に特化しており、単体で数百Ｇ〜数ＴＦｌｏｐｓの演算能力を有し、画像処理に適した装置である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−２３１０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１のような手法では、ネットワーク上の各コンピュータに対し、データを転送する必要がある。そして、各コンピュータで処理を行った後、再び、データを返送しなければならず、合計２回の転送が必要になる。このデータ転送に時間がかかるため、処理が高速化されても、トータルの処理時間が結果的に変わらないということも多い。また、ＧＰＵを用いた高速化手法においても、メインメモリからＧＰＵ上に実装されたＶＲＡＭと呼ばれるビデオメモリにデータを転送する必要がある。そして、ＧＰＵ上で処理を行った後、再びＶＲＡＭからメインメモリにデータ転送を行わなければならず、合計２回の転送が行われる。このデータ転送も時間がかかるため、トータルの処理時間が結果的に変わらないということもある。ネットワークやＧＰＵを利用する上でのこのデータ転送の問題は、特に動画像データの場合に顕著である。動画像データの場合は、１秒間に６０フレームの画像データを処理する必要がある。そのため、１フレームあたり１７ミリ秒という短い時間に処理を完了する必要があるが、転送に時間を費やすと実際の処理に利用できる時間は殆ど残らない。
本発明は、上記課題を解決するためになされたものであり、複数台のコンピュータを利用して高速にデータ処理を行うことを主な目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の画像処理システムによれば、ディスプレイケーブル経由で、画像データをキャプチャするキャプチャ手段と、前記キャプチャされた画像データに対してグラフィックスカードで画像処理を行う画像処理手段と、画像処理が施された画像データをグラフィックスカードに接続されたディスプレイケーブルに出力する出力手段とを備える画像処理ユニットを複数ユニット備えるとともに、該複数ユニットをディスプレイケーブル経由で接続させたことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、複数台のコンピュータを利用して高速にデータ処理を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】コンピュータの構成を示した図
【図２】複数コンピュータの接続を示した図
【図３】複数コンピュータの接続を示した図
【図４】画像データの構成を示した図
【図５】データ処理を説明したフローチャート図
【発明を実施するための形態】
【０００８】
＜実施例１＞
本実施例では、複数個のコンピュータ（複数の画像処理ユニット）をＧＰＵとキャプチャカードを用いて接続し、動画像データに対し、実時間処理を行う手法について説明する。
【０００９】
図１は、本実施例におけるコンピュータのシステム構成図である。このコンピュータ１つが本実施例における画像処理ユニットに相当する。１０１はＣＰＵで、全ての処理に関わる、演算および命令ユニットである。１０２はメインメモリで、動画像データなどはいったんこのメモリ１０２に格納される。１０３はキャプチャカードであり、後述するＤＶＩ入力１０４から、入力されたディスプレイ信号を画像データに変換し、１０２メインメモリに格納する。１０４はディスプレイ入力端子であり、通常ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）やＤｉｓｐｌａｙｐｏｒｔ、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）などのディスプレイケーブルの接続端子に該当する。以下では、ＤＶＩ入力１０４またはディスプレイ入力端子と呼ぶ。１０６はＧＰＵで、通常グラフィックスカードと呼ばれる。このＧＰＵ１０６は、ＶＲＡＭ１０５に格納されたデータに対し処理を行ったり、ＶＲＡＭに格納されたデータをＤＶＩ出力１０７を用いて、ディスプレイへ画像データを出力する。１０５はＶＲＡＭで、ビデオメモリと呼ばれるＧＰＵ用の高速メモリである。１０７は、ディスプレイ出力端子であり、通常ＤＶＩやＤｉｓｐｌａｙｐｏｒｔ、ＨＤＭＩなどの接続端子を用いる。なお、本実施例では、ＤＶＩ規格の端子を用いた処理について説明するが、他の規格の端子であっても構わない。また、ＤＶＩは、Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ等（登録商標）のネットワーク用の規格に比べ、実行転送速度が非常に高速である。
【００１０】
図５は、本実施例における画像処理システム、すなわち画像処理システムを構成する各コンピュータの処理内容を説明したフローチャート図である。ステップＳ５０１では、キャプチャカード１０３を用いて、ＤＶＩケーブルから入力されたディスプレイ信号を取り込む。ステップＳ５０２では、ディスプレイ信号を画像データに変換し、メインメモリ１０２に展開する。ステップＳ５０３では、変換した画像データを、ＶＲＡＭ１０５に転送する。ステップＳ５０４では、ＧＰＵ１０６によって、画像データに対し、画像処理が実行される。ステップＳ５０５では、画像データをディスプレイ信号に変換し、ＤＶＩ出力１０７を通じて、ＤＶＩケーブル（ディスプレイケーブル）に出力する。以上の処理により、ＤＶＩ経由でキャプチャした動画像データの各フレームに対して画像処理を行い、ＤＶＩで出力を行うことができる。この入力から出力までの処理時間を１７ミリ秒以内に収めることで、１秒間に６０フレームを処理することができ、動画像データをコマ落ちなく処理することが可能である。
【００１１】
図２は、複数個のコンピュータを接続する際の構成図である。これ以降、図面中では、コンピュータをパーソナルコンピュータとしてＰＣと記載することもある。コンピュータが１台で処理を行う場合、１７ミリ秒以内に処理を終わらせる必要があるため、高負荷な処理はできない。例えば、動画像データをデコードし、明るさとコントラストを調整するといった処理が実行できないことがある。そこで、複数個のコンピュータを組み合わせることで、このような高負荷な処理を実現する。ここでは、コンピュータ１〜コンピュータ３（図中ＰＣ１〜ＰＣ３）までの３台のコンピュータを接続する場合を考える。コンピュータ１、コンピュータ２、コンピュータ３は、この順番に接続されているものとする。各コンピュータ間は、ＧＰＵとキャプチャカードをＤＶＩ等のディスプレイケーブル経由で接続されており、ＤＶＩ経由でデータを転送する。そして、コンピュータ１で処理した結果をコンピュータ２に転送し、コンピュータ２で処理した結果をコンピュータ３に転送できる仕組みになっており、それぞれのコンピュータで異なる画像処理を実行できる。上記の例に合わせると、コンピュータ１では動画のデコード処理、コンピュータ２では明るさ調整処理、コンピュータ３ではコントラスト調整処理、といった具合に処理の分散が可能である。
【００１２】
以下、具体的な処理フローを説明する。まず、コンピュータ１（ＰＣ１）は、動画像データをデコード、つまり再生する役割を持つ。デコードされた動画像データのフレームは、いったん、１０２メインメモリに格納される。そして、１０５ＶＲＡＭに転送され、ディスプレイ信号に変換された後、１０７ＤＶＩ出力を通じて、ＤＶＩケーブルに出力される。コンピュータ１のＧＰＵと、コンピュータ２のキャプチャカードは、ＤＶＩケーブルで接続されているため、コンピュータ２は、図５のフローチャートに沿った処理を実行する。ここでは、画像処理として明るさ調整処理を実行したとする。同じく、コンピュータ２のＧＰＵと、コンピュータ３のキャプチャカードは、ＤＶＩケーブルで接続されているため、コンピュータ３は、図５のフローチャートに沿った処理を実行する。ここでは、画像処理としてコントラスト調整処理を実行したとする。このようにして、複数個のコンピュータ間で、同一フレームに対し、順番に異なる画像処理を実行できる。これにより、１台のコンピュータでは処理できなかった高負荷な処理を、複数個のコンピュータで処理が可能になる。後は、逐次、これらの処理を動画像の全フレームに対し実行すればよい。また、各コンピュータでの処理時間を１７ミリ秒以内に収めることで、各コンピュータが１秒間に６０フレームを処理することができる。これにより、遅延は発生するが、コマ落ちせずに実時間で動画像処理を行うシステムを構築できる。さらに、このシステムにおいては、コンピュータ間のデータ転送や、１０２メインメモリから１０５ＶＲＡＭへのデータ転送が片道の１回のみに抑えられる。そのため、データ転送での時間のロスが最小限に抑えられるという特徴がある。
【００１３】
以上の処理により、画像処理ユニットを複数個備えるとともに、複数の画像処理ユニットをディスプレイケーブル経由で接続させたことにより、分散処理が高速に行え、動画像データへの実時間処理が可能になる。
【００１４】
＜実施例２＞
本実施例では、複数個のコンピュータ（複数の画像処理ユニット）をＧＰＵとキャプチャカードを用いて分岐状に接続し、動画像データに対し、実時間処理を行う手法について説明する。なお、本実施例のコンピュータ構成については、実施例１と同様であるので説明を省略する。
【００１５】
並列接続を用いるケースとしては、動画像データの解像度が高く、ＤＶＩでも転送速度が足りない場合などが挙げられる。この場合、各フレームを、例えば上下に２分割し、それぞれを別のコンピュータで処理することができる。また、このとき、分割したフレームを再び合成する必要もある。
【００１６】
図３は、コンピュータをＧＰＵとキャプチャカードを用いて並列接続する際の構成図である。コンピュータ１（ＰＣ１）〜コンピュータ４（ＰＣ４）までの４台のコンピュータを接続する場合を考える。コンピュータ１と、コンピュータ２、コンピュータ３が接続されており、コンピュータ２とコンピュータ３は、コンピュータ４に接続されている。つまり、コンピュータ１から処理が２分岐し、コンピュータ４で再び合流している。このとき、コンピュータ１は、２つのＤＶＩ出力１０７を備えるものとする。
【００１７】
まず、コンピュータ１は、動画像データをデコード、つまり再生する役割を持つ。デコードされた動画像データのフレームは、いったんメインメモリ１０２に格納される。そして、ＶＲＡＭ１０５に転送された後、上半分のフレームを、１番目のＤＶＩ出力１０７に出力する。そして、下半分のフレームを、２番目のＤＶＩ出力１０７に出力する。このとき、それぞれのＤＶＩ出力は、コンピュータ２とコンピュータ３のＤＶＩ入力１０４に接続されている。そのため、コンピュータ２とコンピュータ３は、それぞれフレームの上下半分のデータに対し、図５のフローチャート図に沿った処理を行う。そして、コンピュータ２とコンピュータ３から出力されたディスプレイ信号は、それぞれコンピュータ４のキャプチャカード１０３によって取り込まれ、コンピュータ４のメインメモリ１０２に展開される。ここで、コンピュータ２から来た上半分のフレームと、コンピュータ３から来た下半分のフレームを合成する必要がある。しかし、コンピュータ２とコンピュータ３の処理時間が異なる場合、コンピュータ２から来た上半分のフレームと、コンピュータ３から来た下半分のフレームが一致しない場合がある。そこで、図４のように、各フレームの先頭に、信号線を入れておく。信号線には、画像処理を行うための識別信号と、フレームに対し、一意に充てられたＩＤが記録されている。そのため、コンピュータ４において、フレームＩＤの一致する上下のフレームを対にして出力することで、フレームのズレを防ぐことができる。最後に、フレームＩＤの一致する上下の各フレームをＶＲＡＭ１０５に転送し、合成した後、ディスプレイに表示させる。
【００１８】
以上の処理により、複数個コンピュータにおける分散処理が高速に行え、動画像データへの実時間処理が可能になる。
【図１】
2013069051.tif 000003
【図２】
2013069051.tif 000004
【図３】
2013069051.tif 000005
【図４】
2013069051.tif 000006
【図５】
2013069051.tif 000007