(57)【要約】【課題】  計算ノードの処理遅延を確実に補正してリアルタイム性を確保し得る動画像クラスタ処理システムを実現する。【解決手段】  複数の情報処理装置と、動画像の圧縮符号化処理を各情報処理装置に分散処理させる管理装置とからなる動画像クラスタ処理システムにおいて、動画像のピクチャを各情報処理装置に対応した画像ブロックに分割し、これを対応する情報処理装置に供給して当該画像ブロック単位で圧縮符号化処理を実行させる符号化処理指示手段と、各情報処理装置それぞれから返送される画像ブロック毎の圧縮符号化処理の処理結果を取得する処理結果取得手段と、各情報処理装置それぞれにおける圧縮符号化処理の処理時間を検出し、当該処理時間に基づいて各情報処理装置それぞれにおける圧縮符号化処理の処理負荷を増減する処理負荷制御手段とを管理装置に設けたことにより、処理遅延を確実に補正してクラスタ処理のリアルタイム性を確保することができる。【選択図】        図５
2005039738.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置と、動画像の圧縮符号化処理を当該複数の情報処理装置それぞれに分散処理させる管理装置とからなる動画像クラスタ処理システムにおいて、
上記管理装置は、
上記動画像のピクチャを上記複数の情報処理装置に対応した画像ブロックに分割し、当該各画像ブロックをそれぞれ対応する上記情報処理装置に供給して当該画像ブロック単位で上記圧縮符号化処理を実行させる符号化処理指示手段と、
上記複数の情報処理装置それぞれから返送される、上記画像ブロック毎の上記圧縮符号化処理の処理結果を取得する処理結果取得手段と、
上記複数の情報処理装置それぞれにおける上記圧縮符号化処理の処理時間を検出し、当該検出した処理時間に基づいて、上記複数の情報処理装置それぞれにおける上記圧縮符号化処理の処理負荷を増減する処理負荷制御手段と
を具えることを特徴とする動画像クラスタ処理システム。
【請求項２】
動画像の圧縮符号化処理を複数の情報処理装置に分散処理させる管理装置において、
上記動画像のピクチャを上記複数の情報処理装置に対応した画像ブロックに分割し、当該各画像ブロックをそれぞれ対応する上記情報処理装置に供給して当該画像ブロック単位で上記圧縮符号化処理を実行させる符号化処理指示手段と、
上記複数の情報処理装置それぞれから返送される、上記画像ブロック毎の上記圧縮符号化処理の処理結果を取得する処理結果取得手段と、
上記複数の情報処理装置それぞれにおける上記圧縮符号化処理の処理時間を検出し、当該検出した処理時間に基づいて、上記複数の情報処理装置それぞれにおける上記圧縮符号化処理の処理負荷を増減する処理負荷制御手段と
を具えることを特徴とする管理装置。
【請求項３】
上記処理負荷制御手段は、上記情報処理装置の上記処理時間が所定の符号化時間許容値以上のとき、当該情報処理装置における上記圧縮符号化処理の符号化ビットレートを下げ、上記処理時間が所定の符号化時間許容値未満のとき、当該情報処理装置における上記圧縮符号化処理の符号化ビットレートを上げる
ことを特徴とする請求項２に記載の管理装置。
【請求項４】
上記処理負荷制御手段は、上記情報処理装置の上記処理時間が所定の符号化時間許容値以上のとき、当該情報処理装置におけるブロックマッチングの動き探索範囲を狭め、上記処理時間が所定の符号化時間許容値未満のとき、当該情報処理装置におけるブロックマッチングの動き探索範囲を広げる
ことを特徴とする請求項２に記載の管理装置。
【請求項５】
上記処理負荷制御手段は、連続する複数の上記画像ブロックについての上記処理時間の平均値に基づいて、上記圧縮符号化処理の処理負荷を増減する
ことを特徴とする請求項２に記載の管理装置。
【請求項６】
上記処理負荷制御手段は、ＧＯＰ(Group Of Picture)毎の圧縮符号化処理時間が所定の基準処理時間未満になるように、上記圧縮符号化処理の処理負荷を増減する
ことを特徴とする請求項２に記載の管理装置。
【請求項７】
動画像の圧縮符号化処理を複数の情報処理装置それぞれに分散処理させる動画像クラスタ処理方法において、
上記動画像のピクチャを上記複数の情報処理装置に対応した画像ブロックに分割し、当該各画像ブロックをそれぞれ対応する上記情報処理装置に供給して当該画像ブロック単位で上記圧縮符号化処理を実行させる符号化処理指示ステップと、
上記複数の情報処理装置それぞれから返送される、上記画像ブロック毎の上記圧縮符号化処理の処理結果を取得する処理結果取得ステップと、
上記情報処理装置における上記圧縮符号化処理の遅延を検出し、当該遅延を検出した情報処理装置における上記圧縮符号化処理の処理負荷を低減させる処理負荷制御ステップと
を具えることを特徴とする動画像クラスタ処理方法。
【請求項８】
動画像の圧縮符号化処理を複数の情報処理装置に分散処理させる管理装置に、
上記動画像のピクチャを上記複数の情報処理装置に対応した画像ブロックに分割し、当該各画像ブロックをそれぞれ対応する上記情報処理装置に供給して当該画像ブロック単位で上記圧縮符号化処理を実行させる符号化処理指示ステップと、
上記複数の情報処理装置それぞれから返送される、上記画像ブロック毎の上記圧縮符号化処理の処理結果を取得する処理結果取得ステップと、
上記情報処理装置における上記圧縮符号化処理の遅延を検出し、当該遅延を検出した情報処理装置における上記圧縮符号化処理の処理負荷を低減させる処理負荷制御ステップと
を実行させる動画像クラスタ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像クラスタ処理システムに関し、複数台のパーソナルコンピュータ、ワークステーション、その他低価格ＣＰＵボード（以下、パソコンと呼ぶ）を用いて動画像処理を行う場合に適用して好適なものである。
【背景技術】
【０００２】
近年、パソコンの高性能化及び低価格化に伴い、ネットワークを介して複数のパソコンを相互接続して処理を分担させる（これをクラスタ処理と呼ぶ）ことにより、従来は高価なコンピュータが必要とされた複雑な処理を低コストで実行できるようになっている。このようなクラスタ処理の適用分野としては、暗号解読、ゲノム解析、コンピュータグラフィックスのレンダリング処理が挙げられる（例えば、特許文献１参照）。
【０００３】
図１２はパソコンを用いた一般的なクラスタ処理システムの構成を示し、ホストノードパソコン１０１と、複数台の計算ノードパソコン１０２（１０２Ａ〜１０２Ｎ）とがネットワーク１０３を介して接続されてクラスタ処理システム１００を構成している。ホストノードパソコン１０１は、管理下の計算ノードパソコン１０２Ａ〜１０２Ｎに対して処理を分散して実行させる。
【０００４】
図１３はクラスタ処理システム１００におけるアプリケーション構造を示し、ホストノードパソコン１０１のクラスタアプリケーションプログラム１１０は、クラスタ管理プログラム１１１及び通信層１１２を介して、各計算ノードパソコン１０２上の分散ジョブ１１３を制御する。
【０００５】
クラスタ管理プログラム１１１は、クラスタアプリケーションプログラム１１０からの命令を受け、他のパソコンに対するデータの送受信、分散ジョブ１１３の起動及び終了等を通信層１１２を介して実行する。
【特許文献１】特開２０００−３００４７公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、上述したクラスタ処理を動画像の圧縮符号化や伸張復号化処理（動画像圧縮伸張処理）に適用することも考えられる。かかる動画像圧縮伸張処理においては、入力したデータをリアルタイムに処理して送信するようなリアルタイム処理が要求される場合と、処理後のデータをハードディスク等の記憶媒体に蓄積するような非リアルタイム処理の２つに分けられる。
【０００７】
非リアルタイム処理では処理時間に制限が無いため、単にクラスタ処理を行わせるパソコン（以下、これをノードと呼ぶ）の台数を増加させることで、負荷の高い圧縮／伸長処理をより高速に実行することができる。
【０００８】
これに対してリアルタイム処理では一定時間内に処理が終了することが要求され、当該一定時間内に処理が終了しない場合は処理の取りこぼし等の問題が発生する。このため、クラスタ処理におけるリアルタイム性を保証するために、予め各ノードに対して処理負荷の評価を行い、それぞれの処理負荷に応じた処理を各ノードに割り振るといった対処が行われている。
【０００９】
一方、クラスタの各ノードにおいては、クラスタ処理を管理するプログラムは、Ｌｉｎｕｘ、Ｕｎｉｘ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）等の基本プログラム（オペレーティングシステム）上で動作しているのが一般的である。
【００１０】
ここで、上述したオペレーティングシステムは、その管理下で稼働するアプリケーションプログラムに関して一定時間内での処理終了を保証する機構を備えたもの（以下、これをリアルタイムＯＳと呼ぶ）ではない。また、各ノードでは複数のプログラム（タスク）が同時に実行されていることがほとんどであり、特定のタスクに所定の計算機リソースの割り当てを保証するものでもない。Ｕｎｉｘ（登録商標）等の一部のオペレーティングシステムにおいては、タスクの優先度を指定する機能を有しているものの、これも所定時間内に所定処理が終了することを保証するものではない。
【００１１】
従って、パソコンで構成したクラスタを用いてリアルタイム動画像圧縮伸張処理を行う場合、各ノードの処理時間の変動によってリアルタイム性が損なわれ、これによりデータ処理の遅延が発生する場合がある。
【００１２】
また、上述したようにパソコンで構成したクラスタを用いてリアルタイム動画像圧縮伸張処理を行う場合、ノードの台数を増加すると、各ノードにおけるデータ処理の遅延が発生する場合がある。
【００１３】
このように、パソコンで構成したクラスタを用いてリアルタイム動画像圧縮伸張処理を行う場合、各ノードにおける処理遅延によってデータの取りこぼし等が発生することがあるという問題があった。
【００１４】
本発明は以上の点を考慮してなされたもので、各ノードの処理遅延を確実に補正してリアルタイム性を確保し得るクラスタ処理システムを提案しようとするものである。
【課題を解決するための手段】
【００１５】
かかる課題を解決するため本発明においては、複数の情報処理装置と、動画像の圧縮符号化処理を当該複数の情報処理装置それぞれに分散処理させる管理装置とからなる動画像クラスタ処理システムにおいて、動画像のピクチャを複数の情報処理装置に対応した画像ブロックに分割し、当該各画像ブロックをそれぞれ対応する情報処理装置に供給して当該画像ブロック単位で圧縮符号化処理を実行させる符号化処理指示手段と、複数の情報処理装置それぞれから返送される画像ブロック毎の圧縮符号化処理の処理結果を取得する処理結果取得手段と、複数の情報処理装置それぞれにおける圧縮符号化処理の処理時間を検出し、当該検出した処理時間に基づいて、複数の情報処理装置それぞれにおける圧縮符号化処理の処理負荷を増減する処理負荷制御手段とを管理装置に設けた。
【発明の効果】
【００１６】
複数の情報処理装置それぞれにおける圧縮符号化処理の処理時間を検出し、当該検出した処理時間に基づいて、複数の情報処理装置それぞれにおける圧縮符号化処理の処理負荷を増減するようにしたことにより、各情報処理装置の処理遅延を確実に補正してクラスタ処理のリアルタイム性を確保することができる。
【発明を実施するための最良の形態】
【００１７】
以下図面について、本発明の一実施の形態を詳述する。
【００１８】
（１）動画像クラスタ処理システムの全体構成
図１において、１は全体として第１の実施の形態の動画像クラスタ処理システムを示し、管理装置としてのホストノードパソコン２と、情報処理装置としての４台の計算ノードパソコン３Ａ〜３Ｄとがネットワーク４を介して接続されている。
【００１９】
この動画像クラスタ処理システム１は、外部から供給されるアナログ映像信号を、クラスタ処理によってＪＰＥＧ（Joint Photographic cording experts Group）２０００方式でリアルタイム圧縮符号化処理するようになされている。
【００２０】
ホストノードパソコン２においては、当該ホストノードパソコン２を統括制御するＣＰＵ１１に対し、メモリ１２、表示部１３、ハードディスクドライブ１４、ネットワークインターフェース１５及びビデオキャプチャ回路１６が、バス１７を介して接続されている。
【００２１】
ハードディスクドライブ１４には、例えばＷｉｎｄｏｗｓ（登録商標）等のオペレーティングシステムや、動画像クラスタ処理プログラム等の各種アプリケーションプログラムが格納されている。ＣＰＵ１１は、ホストノードパソコン２の起動に応じてハードディスクドライブ１４からオペレーティングシステムを読み出し、メモリ１２に展開して実行する。
【００２２】
そして符号化処理指示手段としてのＣＰＵ１１は、オペレーティングシステムの実行環境下において動画像クラスタ処理プログラムを実行し、計算ノードパソコン３Ａ〜３Ｄに対して動画像の圧縮符号化処理を分散処理させる。
【００２３】
すなわちホストノードパソコン２のビデオキャプチャ回路１６は、外部から供給されるアナログ映像信号Ｓ１をディジタル変換してディジタル映像信号Ｄ１を生成し、これをＣＰＵ１１に供給する。ＣＰＵ１１は動画像クラスタ処理プログラムに従い、ディジタル映像信号Ｄ１の圧縮符号化を計算ノードパソコン３Ａ〜３Ｄに分散処理させる。
【００２４】
ここでＪＰＥＧ２０００方式は、ディジタル映像信号の圧縮符号化を、ピクチャとしてのフレーム（又はフィールド）毎に完結して行うとともに、各フレームを、タイルと呼ばれる複数の画像ブロックに分割して、各タイル個別に圧縮符号化し得るようになされている。
【００２５】
すなわち図２に示すように、ＣＰＵ１１は例えば７２０×４８０画素でなるディジタル映像信号Ｓ１の各フレームを計算ノードパソコン３Ａ〜３Ｄの台数に合わせて４分割し、３６０×２４０画素でなるタイル１〜タイル４を生成する。そしてＣＰＵ１１は、分割後の各タイル１〜タイル４のデータを分割ディジタル映像データＤ２Ａ〜Ｄ２Ｄとして対応する計算ノードパソコン３Ａ〜３Ｄに順次供給する（図３（Ａ））。
【００２６】
計算ノードパソコン３Ａ〜３Ｄにおいては、当該計算ノードパソコン３を統括制御するＣＰＵ２１に対し、メモリ２２、表示部２３、ハードディスクドライブ２４及びネットワークインターフェース２５がバス２７を介して接続されている。
【００２７】
ハードディスクドライブ２４には、オペレーティングシステムやクラスタアプリケーションプログラム等の各種アプリケーションプログラムが格納されている。ＣＰＵ２１は、計算ノードパソコン３の起動に応じてハードディスクドライブ２４からオペレーティングシステムを読み出し、メモリ２２に展開して実行する。
【００２８】
そしてＣＰＵ２１は、オペレーティングシステムの実行環境下において動画像クラスタ処理プログラムを実行することにより、ホストノードパソコン２から供給される分割ディジタル映像データＤ２（Ｄ２Ａ〜Ｄ２Ｄ）をＪＰＥＧ２０００方式で圧縮符号化して分割符号化データＤ３（Ｄ３Ａ〜Ｄ３Ｄ）を生成し、これをホストノードパソコン２に返送する（図３（Ｂ））。
【００２９】
処理結果取得手段としてのＣＰＵ１１は、各計算ノードパソコン３Ａ〜３Ｄから返送される分割符号化データＤ３Ａ〜Ｄ３Ｄをフレーム単位で順次合成して、圧縮符号化されたフレームデータの連続でなる符号化映像信号Ｄ４を生成し、これをハードディスクドライブ１４に格納するか、あるいはネットワーク４を介して外部の送信先に送信する（図３（Ｃ））。
【００３０】
かくして動画像クラスタ処理システム１は、アナログ映像信号Ｓ１をクラスタ処理によってリアルタイム圧縮符号化する。
【００３１】
ここで動画像クラスタ処理システム１においては、それぞれ符号化ビットレートが異なる複数の符号化レベルが設定されており、符号化時において当該符号化レベルを任意に選択し得るようになされている。符号化レベルが高いほど、すなわち符号化ビットレートが高いほど復号後の画像の画質が向上するが、これに伴い符号化処理時間が長くなるという関係がある。
【００３２】
すなわち図４に示すように、画質がもっとも高いレベル１の符号化ビットレートは２．０[bps] (Bit Per Pixel) であり、当該レベル１における標準的な符号化処理時間を示す標準符号化時間は２０[msec]である。同様に、レベル２の符号化ビットレートは１．０[bps] であり、この場合の標準符号化時間は１２[msec]である。また、レベル３の符号化ビットレートは０．５[bps] であり、この場合の標準符号化時間は７[msec]である。さらに、画像がもっとも低いレベル４の符号化ビットレートは０．２５[bps]であり、この場合の標準符号化時間は４[msec]である。
【００３３】
符号化時においてホストノードパソコン２は、各計算ノードパソコン３Ａ〜３Ｄそれぞれにおけるタイル毎の符号化処理時間を常に監視しており、符号化処理に遅延が生じた場合、当該遅延を生じた計算ノードパソコン３Ａ〜３Ｄの符号化レベルを下げることにより、処理遅延によるデータの取りこぼし等を防止するようになされている。
【００３４】
（２）クラスタ符号化処理手順
次に、上述した処理遅延に応じた符号化レベル変更を伴う動画像圧縮符号化を行うための、ホストノードパソコン２におけるクラスタ符号化処理手順を、図５に示すフローチャートを用いて詳細に説明する。
【００３５】
ホストノードパソコン２のＣＰＵ１１は、ルーチンＲＴ１の開始ステップから入って次のステップＳＰ１に移る。ステップＳＰ１においてＣＰＵ１１は、符号化処理パラメータ（符号化レベル、符号化標準時間Ｔstd、タイムアウト時間Ｔout 及び符号化時間許容値Ｔarw）を設定する。
【００３６】
すなわちＣＰＵ１１は、各計算ノードパソコン３Ａ〜３Ｄの符号化レベルを、初期値として最も画質の良いレベル１に設定するとともに、符号化標準時間Ｔstd を当該レベル１に対応したＴstd＝２０[msec]に設定する。
【００３７】
タイムアウト時間Ｔoutは、その時間内に計算ノード３Ａ〜３Ｄから分割符号化データＤ３が返送されなかった場合（タイムアウト）に当該計算ノード３Ａ〜３Ｄに対して処理中止を指示するための基準時間であり、この場合、ＣＰＵ１１は１フレームの時間長に等しいＴout ＝３３[msec]に設定する。
【００３８】
符号化時間許容値Ｔarwは、符号化処理時間の長短に応じて符号化レベルを変更する際の基準時間であり、タイムアウト時間Ｔout 以下の値になる。この場合、ＣＰＵ１１はＴarw ＝２５[msec]に設定する。
【００３９】
次のステップＳＰ２においてＣＰＵ１１は、設定した符号化処理パラメータを各計算ノードパソコン３Ａ〜３Ｄに送信し、次のステップＳＰ３に移る。
【００４０】
ステップＳＰ３においてＣＰＵ１１は、ディジタル映像信号Ｄ１の１フレーム分の画像データをメモリ１２に格納し、次のステップＳＰ４に移る。
【００４１】
ステップＳＰ４においてＣＰＵ１１は、メモリ１２に取り込んだ１フレーム分の画像データを４枚のタイルに対応して分割して分割ディジタル映像データＤ２Ａ〜Ｄ２Ｄを生成し、それぞれを対応する計算ノードパソコン３Ａ〜３Ｄに送信して次のステップＳＰ５に移る。
【００４２】
ステップＳＰ５においてＣＰＵ１１は、各計算ノードパソコン３Ａ〜３Ｄから返送される分割符号化データＤ３Ａ〜Ｄ３Ｄをタイムアウト時間Ｔoutの間待ち受け、次のステップＳＰ６に移る。このときＣＰＵ１１は、タイムアウト時間Ｔout を超過しても分割符号化データＤ３Ａ〜Ｄ３Ｄを返送しなかった計算ノードパソコン３Ａ〜３Ｄ（すなわち処理遅延を起こした計算ノード）に対し、当該処理遅延をおこした分割符号化データＤ３Ａ〜Ｄ３Ｄに対する処理中止命令を送信する。
【００４３】
ステップＳＰ６において、処理負荷制御手段としてのＣＰＵ１１は、各計算ノードパソコン３Ａ〜３Ｄについて、符号化に要した時間である符号化処理時間Ｔencと符号化時間許容値Ｔarw とを比較する。ステップＳＰ６において符号化処理時間Ｔenc が符号化時間許容値Ｔarw 未満の場合、このことは現在の符号化レベルで処理遅延が発生していないことを表しており、このときＣＰＵ１１はステップＳＰ７に移る。
【００４４】
ステップＳＰ７において、処理負荷制御手段としてのＣＰＵ１１は、現在の符号化レベルがレベル１であるか否かを判断する。ステップＳＰ７において、符号化レベルがレベル１である場合、ＣＰＵ１１は符号化レベルを変更することなくステップＳＰ３に戻る。
【００４５】
これに対して、ステップＳＰ７において符号化レベルがレベル１以外（すなわちレベル１以下のレベル２、３あるいは４）である場合、ＣＰＵ１１はステップＳＰ８に移り、符号化レベルを一つ上げた後、ステップＳＰ３に戻る。
【００４６】
一方、ステップＳＰ６において符号化処理時間Ｔenc が符号化時間許容値Ｔarw 以上の場合、このことは現在の符号化レベルで処理遅延が発生したことを表しており、このときＣＰＵ１１はステップＳＰ９に移る。
【００４７】
ステップＳＰ９においてＣＰＵ１１は、遅延をおこした計算ノードパソコン３Ａ〜３Ｄの符号化処理時間Ｔenc と現在の符号化標準時間Ｔstdとの差分値でなる処理時間変位値Ｔdif を算出し、次のステップＳＰ１０に移る。
【００４８】
ステップＳＰ１０において、処理負荷制御手段としてのＣＰＵ１１は、現在の符号化標準時間Ｔstd から処理時間変位値Ｔdif を減算し、この値を目標符号化時間Ｔtgt とする。そしてＣＰＵ１１は、当該目標符号化時間Ｔtgt に最も近い符号化標準時間Ｔstd を有する符号化レベルを新たな符号化レベルとして再設定し、次のステップＳＰ１１に移る。
【００４９】
ステップＳＰ１１において、処理負荷制御手段としてのＣＰＵ１１は、再設定に応じた修正パラメータ（再設定した符号化レベル及びこれに対応する符号化標準時間Ｔstd）を対応する各計算ノードパソコン３Ａ〜３Ｄに送信し、ステップＳＰ３に戻る。
【００５０】
かくしてホストノードパソコン２のＣＰＵ１１は、各計算ノードパソコン３３Ａ〜３Ｄの符号化処理時間Ｔencに応じてそれぞれの符号化レベルを変更する。
【００５１】
次に、上述した動画像圧縮符号化を行うための、計算ノードパソコン３（３Ａ〜３Ｄ）における計算処理手順を、図６に示すフローチャートを用いて詳細に説明する。
【００５２】
計算ノードパソコン３のＣＰＵ２１は、ルーチンＲＴ３の開始ステップから入って次のステップＳＰ２１に移る。ステップＳＰ２１においてＣＰＵ２１は、ホストノードパソコン２から送信される符号化処理パラメータを待ち受け、当該符号化処理パラメータを受け取ると次のステップＳＰ２２に移る。
【００５３】
ステップＳＰ２２においてＣＰＵ２１は、ホストノードパソコン２から送信される分割ディジタル映像データＤ２を待ち受け、当該データを受け取ると次のステップＳＰ２３に移る。
【００５４】
ステップＳＰ２３においてＣＰＵ２１は、ホストノードパソコン２から受け取った分割ディジタル映像データＤ２を符号化して分割符号化データＤ３を生成し、次のステップＳＰ２４に移る。
【００５５】
ステップＳＰ２４においてＣＰＵ２１は、処理結果の分割符号化データＤ３をホストノードパソコン２に返送し、ステップＳＰ２５に戻る。
【００５６】
ステップＳＰ２５においてＣＰＵ２１は、ホストノードパソコン２から送信される修正パラメータを所定の待機時間の間待ち受け、当該修正パラメータを受信しなかった場合はステップＳＰ２２に戻るのに対し、当該修正パラメータを受信した場合は次のステップＳＰ２６に移る。
【００５７】
ステップＳＰ２６においてＣＰＵ２１は、受信した修正パラメータに応じて符号化レベル及び符号化標準時間Ｔstdを再設定し、ステップＳＰ２２に戻る。
【００５８】
次に動画像クラスタ処理システム１における計算ノードパソコン３Ａ〜３Ｄの符号化レベルの変化例を、図７を用いて詳細に説明する。
【００５９】
ホストノードパソコン２は各フレームＴ０、Ｔ１、Ｔ２、Ｔ３、……の先頭タイミングにおいて、各計算ノードパソコン３Ａ〜３Ｄそれぞれに対して分割ディジタル映像データＤ２Ａ〜Ｄ２Ｄを送信する。そしてホストノードパソコン２は各フレームＴ０、Ｔ１、Ｔ２、Ｔ３、……の後端タイミングにおいて、各計算ノードパソコン３Ａ〜３Ｄから返送される分割符号化データＤ３Ａ〜Ｄ３Ｄを受信する。
【００６０】
フレームＴ０〜Ｔ２において、各計算ノードパソコン３Ａ〜３Ｄはレベル１で符号化処理を実行している。ここで、フレームＴ２において計算ノードパソコン３Ｃで処理遅延が生じ、当該計算ノードパソコン３Ｃの符号化処理時間ＴencがＴenc＝３０[msec]になったとする。
【００６１】
このときホストノードパソコン２は、当該処理遅延を生じた計算ノードパソコン３Ｃの符号化処理時間Ｔenc と現在の符号化標準時間Ｔstdとから処理時間変位値Ｔdif を算出する（図５のステップＳＰ９）。この場合の処理時間変位値Ｔdif は、Ｔdif＝Ｔenc −Ｔstd＝３０[msec]−２０[msec]＝１０[msec]となる。
【００６２】
次にホストノードパソコン２は、現在の符号化標準時間Ｔstd から処理時間変位値Ｔdif を減算し、この値を目標符号化時間Ｔtgt とする（図５のステップＳＰ１０）。この場合の目標符号化時間Ｔtgt は、Ｔtgt ＝Ｔstd −Ｔdif ＝２０[msec]−１０[msec]＝１０[msec]となる。そしてホストノードパソコン２は、当該計算ノードパソコン３Ｃの符号化レベルを、算出した目標符号化時間Ｔtgt （１０[msec]）に最も近い最も近い符号化標準時間Ｔstd を有するレベル２（Ｔstd ＝１２[msec]）に再設定する（図５のステップＳＰ９）。
【００６３】
計算ノードパソコン３Ｃは、次のフレームＴ３を再設定されたレベル２で符号化するが、当該フレームＴ３においても処理遅延を生じ、符号化処理時間ＴencがＴenc ＝２８[msec]になったとする。
【００６４】
このときホストノードパソコン２は、処理時間変位値Ｔdif を再算出する。この場合の処理時間変位値Ｔdif は、Ｔdif ＝Ｔenc −Ｔstd ＝２８[msec]−１２[msec]＝１６[msec]となる。次にホストノードパソコン２は目標符号化時間Ｔtgt を再算出する。この場合の目標符号化時間Ｔtgt は、Ｔtgt ＝Ｔstd −Ｔdif ＝１２[msec]−１６[msec]＝−４[msec]となり、この場合ホストノードパソコン２は、当該計算ノードパソコン３Ｃの符号化レベルを最も低いレベル４に再設定する。
【００６５】
計算ノードパソコン３Ｃは、次のフレームＴ４を再設定されたレベル４で符号化する。このフレームＴ４において、符号化処理時間ＴencがＴenc ＝１３[msec]になったとする。この場合、符号化処理時間Ｔenc が符号化時間許容値Ｔarw未満であることから、ＣＰＵ１１は当該計算ノードパソコン３Ｃの符号化レベルを１段上げてレベル３に再設定する。
【００６６】
さらに計算ノードパソコン３Ｃは、次のフレームＴ５を再設定されたレベル３で符号化する。このフレームＴ５において、符号化処理時間ＴencがＴenc ＝２０[msec]になったとする。この場合も、符号化処理時間Ｔenc が符号化時間許容値Ｔarw未満であることから、ＣＰＵ１１は当該計算ノードパソコン３Ｃの符号化レベルを１段上げてレベル２に再設定する。
【００６７】
（３）動作及び効果
以上の構成において、動画像クラスタ処理システム１のホストノードパソコン２は、圧縮符号化処理時、ディジタル映像信号Ｄ１の１フレーム分の画像データを４枚のタイルに対応して分割した分割ディジタル映像データＤ２Ａ〜Ｄ２Ｄを、それぞれ対応する計算ノードパソコン３Ａ〜３Ｄに供給して圧縮符号化処理させる。このときホストノードパソコン２は、各計算ノードパソコン３Ａ〜３Ｄにおける符号化レベルを、初期値として、最も画質の高いレベル１に設定する。
【００６８】
そしてホストノードパソコン２は、各計算ノードパソコン３Ａ〜３Ｄで圧縮符号化されて返送された分割符号化データＤ３Ａ〜Ｄ３Ｄを合成して符号化映像信号Ｄ４を生成することにより、動画像の圧縮符号化をクラスタ処理する。
【００６９】
このときホストノードパソコン２は、計算ノードパソコン３Ａ〜３Ｄにおける符号化処理時間Ｔencが符号化時間許容値Ｔarw以上の場合、符号化処理に遅延が発生しているものとして、当該遅延が発生した計算ノードパソコン３Ａ〜３Ｄの符号化レベルを下げて処理負荷を軽減する。
【００７０】
これに対して符号化処理時間Ｔencが符号化時間許容値Ｔarw未満の場合、ホストノードパソコン２は、符号化処理に遅延が発生していないものとして、計算ノードパソコン３Ａ〜３Ｄの符号化レベルを一つ上げる。
【００７１】
以上の構成によれば、動画像クラスタ処理において計算ノードパソコン３Ａ〜３Ｄで処理遅延が発生した場合、当該処理遅延が発生した計算ノードパソコン３Ａ〜３Ｄの符号化レベルを下げて処理負荷を軽減することにより処理遅延を確実に補正し、また計算ノードパソコン３Ａ〜３Ｄで処理遅延が発生していない場合、当該処理遅延が発生していない計算ノードパソコン３Ａ〜３Ｄの符号化レベルを上げることにより、各計算ノードパソコン３Ａ〜３Ｄの処理負荷を平準化して動画像クラスタ処理のリアルタイム性を確保するとともに、可能な限り高い画質で動画像の圧縮符号化を行うことができる。
【００７２】
（４）他の実施の形態
なお上述の実施の形態においては、ホストノードパソコン２が各計算ノードパソコン３Ａ〜３Ｄにおけるフレーム毎の符号化処理時間Ｔencに基づいて符号化処理の遅延を検出して符号化レベルを変えるようにしたが、本発明はこれに限らず、連続した複数フレームの符号化処理時間Ｔencの平均値（例えば２フレームの平均値）に基づいて符号化処理の遅延を検出して符号化レベルを変えるようにしてもよい。この場合、突発的な処理時間の変動を吸収して、符号化レベルの変化が緩やかになるという利点がある。
【００７３】
また上述の実施の形態においては、動画像クラスタ処理システム１がＪＰＥＧ２０００方式による動画像圧縮伸張処理を実行する場合について述べたが、本発明はこれに限らず、例えばＭＰＥＧ（Moving Picture Experts Group）２方式等、様々な符号化方式を本発明に適用することができる。
【００７４】
ここでＭＰＥＧ２方式は、フレーム毎に符号化が完結するＪＰＥＧ２０００方式とは異なり、前後のフレームを参照して符号化効率を向上させる、ブロックマッチング法を用いた動き補償フレーム間符号化が行われている。
【００７５】
すなわちＭＰＥＧ２方式では、フレーム内符号化を行うＩピクチャ、Ｉピクチャを参照して順方向予測符号化を行うＰピクチャ、前後のＩピクチャ及びＰピクチャを参照して双方向予測符号化を行うＢピクチャの３つのピクチャタイプが適宜選択される。
【００７６】
そしてＭＰＥＧ２方式では、図８に示すように、符号化前のディジタル映像信号のシークエンス（図８（Ａ））と、符号化後の符号化映像信号のシークエンス（図８（Ｂ））とでフレームの順序に相違が生じる。またＭＰＥＧ２方式では、図８（Ｂ）に示すように、ＧＯＰ(Group Of Picture)とよばれる所定パターンのＩ、Ｐ、Ｂピクチャの連続した集まりが設定され、当該ＧＯＰ単位で符号化処理が行われる。
【００７７】
さらにＭＰＥＧ２方式では、図９に示すように、ピクチャタイプや符号化レベル（この場合はブロックマッチング法の動き検索対象範囲の大小）に応じて標準符号化処理時間が異なる。
【００７８】
このためＭＰＥＧ２方式に本発明を適用する場合、ＧＯＰ単位での符号化に要する時間である基準ＧＯＰ符号化処理時間Ｔgopを設定しておき、ある計算ノードパソコン３Ａ〜３Ｄで処理遅延が発生した場合、当該処理遅延が発生したフレーム以降のフレームの符号化レベルを変更して、ＧＯＰ単位で処理遅延を補正するようにすればよい。
【００７９】
このような、ホストノードパソコン２におけるＭＰＥＧ２方式のクラスタ符号化処理手順を、図１０に示すフローチャートを用いて詳細に説明する。
【００８０】
ホストノードパソコン２のＣＰＵ１１は、ルーチンＲＴ１の開始ステップから入って次のステップＳＰ３１に移る。ステップＳＰ３１においてＣＰＵ１１は、処理パラメータ（符号化レベル、符号化標準時間Ｔstd、タイムアウト時間Ｔout 、符号化時間許容値Ｔarw及び基準ＧＯＰ符号化処理時間Ｔgop）を設定する。
【００８１】
すなわちＣＰＵ１１は、各計算ノードパソコン３Ａ〜３Ｄの符号化レベルを、初期値として最も動き探索範囲の広いレベル１に設定し、これを標準レベルとするとともに、各ピクチャタイプについての符号化標準時間Ｔstd を、当該レベル１に対応した値に設定する。なおＩピクチャについては、符号化標準時間Ｔstdは一律に１５[msec]に設定する。
【００８２】
さらにＣＰＵ１１は、ピクチャタイプ毎にタイムアウト時間Ｔout及び符号化時間許容値Ｔarwを設定するとともに、各ピクチャタイプについての符号化標準時間Ｔstd に基づいて基準ＧＯＰ符号化処理時間Ｔgopを設定する。
【００８３】
次のステップＳＰ３２においてＣＰＵ１１は、設定した符号化処理パラメータを各計算ノードパソコン３Ａ〜３Ｄに送信し、ステップＳＰ３３に移る。
【００８４】
ステップＳＰ３３においてＣＰＵ１１は、ディジタル映像信号Ｄ１の１フレーム分の画像データをメモリ１２に格納し、次のステップＳＰ３４に移る。
【００８５】
ステップＳＰ３４においてＣＰＵ１１は、メモリ１２に取り込んだ１フレーム分の画像データを、計算ノードパソコン３Ａ〜３Ｄに対応した４つの符号化領域に分割して分割ディジタル映像データＤ２Ａ〜Ｄ２Ｄを生成し、それぞれを対応する計算ノードパソコン３Ａ〜３Ｄに送信して次のステップＳＰ３５に移る。
【００８６】
ステップＳＰ３５においてＣＰＵ１１は、各計算ノードパソコン３Ａ〜３Ｄから返送される分割符号化データＤ３Ａ〜Ｄ３Ｄをタイムアウト時間Ｔoutの間待ち受け、次のステップＳＰ３６に移る。このときＣＰＵ１１は、タイムアウト時間Ｔout を超過しても分割符号化データＤ３Ａ〜Ｄ３Ｄを返送しなかった計算ノードパソコン３Ａ〜３Ｄ（すなわち処理遅延を起こした計算ノード）に対し、当該処理遅延をおこした分割符号化データＤ３Ａ〜Ｄ３Ｄに対する処理中止命令を送信する。
【００８７】
ステップＳＰ３６において、処理負荷制御手段としてのＣＰＵ１１は、各計算ノードパソコン３Ａ〜３Ｄについて、ＧＯＰの先頭から現時点までの符号化処理時間Ｔencの合計値（すなわち処理済みフレームについての実符号化処理時間）と、現時点からＧＯＰの末尾までの予想される符号化処理時間Ｔencの合計値（すなわち未処理フレームについての予想符号化処理時間）とを合算することにより、ＧＯＰ全体の予想処理時間を表す予想ＧＯＰ符号化処理時間Ｔsimを算出する。そしてＣＰＵ１１は、予想ＧＯＰ符号化処理時間Ｔsimと基準ＧＯＰ符号化処理時間Ｔgopとを比較することにより、処理遅延の有無を判断する。
【００８８】
ステップＳＰ３６において、予想ＧＯＰ符号化処理時間Ｔsimが基準ＧＯＰ符号化処理時間Ｔgop未満の場合、このことは現在の符号化レベルで処理遅延が発生していないことを表しており、このときＣＰＵ１１はステップＳＰ３７に移る。
【００８９】
ステップＳＰ３７においてＣＰＵ１１は、現在の符号化レベルがレベル１であるか否かを判断する。ステップＳＰ３７において、符号化レベルがレベル１である場合、ＣＰＵ１１は符号化レベルを変更することなくステップＳＰ３３に戻る。
【００９０】
これに対して、ステップＳＰ３７において符号化レベルがレベル１以外（すなわちレベル１以下のレベル２、３あるいは４）である場合、処理負荷制御手段としてのＣＰＵ１１はステップＳＰ３８に移り、符号化レベルを一つ上げた後、ステップＳＰ３３に戻る。
【００９１】
一方、ステップＳＰ３６において予想ＧＯＰ符号化処理時間Ｔsimが基準ＧＯＰ符号化処理時間Ｔgop以上の場合、このことは現在の符号化レベルで処理遅延が発生したことを表しており、このときＣＰＵ１１はステップＳＰ３９に移る。
【００９２】
ステップＳＰ３９において、処理負荷制御手段としてのＣＰＵ１１は、まずＧＯＰの先頭から現時点までの符号化処理時間Ｔencの合計値を基準ＧＯＰ符号化処理時間Ｔgopから減算することにより、以降の符号化処理に用いることができる残り処理時間Ｔremを算出し、次のステップＳＰ４０に移る。
【００９３】
ステップＳＰ４０において、処理負荷制御手段としてのＣＰＵ１１は、未処理フレームについての予想符号化処理時間が残り処理時間Ｔrem未満になるような符号化レベルのうち、標準レベル（すなわちレベル１）に近い符号化レベルを新たな符号化レベルとして再設定し、次のステップＳＰ４１に移る。
【００９４】
ステップＳＰ４１において、処理負荷制御手段としてのＣＰＵ１１は、再設定に応じた修正パラメータ（再設定した符号化レベル及びこれに対応する符号化標準時間Ｔstd）を対応する各計算ノードパソコン３Ａ〜３Ｄに送信し、ステップＳＰ３３に戻る。
【００９５】
次に、上述したＭＰＥＧ２方式における符号化レベルの変化例を、図１１を用いて詳細に説明する。この場合、１つのＧＯＰはＩピクチャ１枚、Ｐピクチャ４枚、Ｂピクチャ１０枚の計１５枚のピクチャで構成される。このためフレームレートを３０[fps]とすると、１つのＧＯＰは５００[msec]以内に処理が完了することが要求される。
【００９６】
図１１に示すＧＯＰにおいて、計算ノードパソコン３Ａが最初のフレームＴ１（Ｉピクチャ）で処理遅延を起こしたとする。Ｉピクチャの符号化標準時間Ｔstd は１５[msec]であるのに対し、当該フレームＴ１の処理時間は９５[msec]かかっており、予想ＧＯＰ符号化処理時間ＴsimはＴsim＝５０５[msec]となって基準ＧＯＰ符号化処理時間Ｔgopを超過する。
【００９７】
このためＣＰＵ１１は、計算ノードパソコン３Ａについて、次のフレームＴ２の符号化レベルをレベル２に下げることにより、フレームＴ１での処理遅延を補ってＧＯＰ単位での処理遅延を補正する。
【００９８】
また上述の実施の形態においては、ホストノードパソコン２のＣＰＵ１１がハードディスクドライブ１４に格納されている動画像クラスタ処理プログラムを実行するようにしたが、本発明はこれに限らず、動画像クラスタ処理プログラムが格納されているプログラム格納媒体をホストノードパソコン２にインストールすることにより、上述した動画像クラスタ処理を実行するようにしてもよい。
【００９９】
この場合、動画像クラスタ処理プログラムをホストノードパソコン２にインストールするためのプログラム格納媒体としては、例えばＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やＤＶＤ（Digital Versatile Disk）等のパッケージメディアのみならず、プログラムが一時的又は永続的に格納される半導体メモリや磁気ディスク等で実現してもよい。また、これらプログラム格納媒体にプログラムを格納する手段としては、ローカルエリアネットワークやインターネット、ディジタル衛星放送等の有線及び無線通信媒体を用いても良い。
【産業上の利用可能性】
【０１００】
複数台のパーソナルコンピュータ、ワークステーション、パソコン等を用いて動画像処理を行う場合に適用できる。
【図面の簡単な説明】
【０１０１】
【図１】動画像クラスタ処理システムの全体構成を示すブロック図である。
【図２】フレームの分割状態を示す略線図である。
【図３】動画像クラスタ処理の流れを示す略線図である。
【図４】エンコードレベルと標準符号化処理時間の関係を示す表である。
【図５】クラスタ符号化処理手順を示すフローチャートである。
【図６】計算ノードパソコン処理手順を示すフローチャートである。
【図７】符号化レベルの変化の説明に供する略線図である。
【図８】符号化前後におけるシーケンスの変化を示す略線図である。
【図９】ＭＰＥＧ２方式の標準符号化処理時間を示す表である。
【図１０】ＭＰＥＧ２方式の場合のクラスタ符号化処理手順を示すフローチャートである。
【図１１】ＭＰＥＧ２方式の場合の符号化レベルの変化の説明に供する略線図である。
【図１２】従来のクラスタ処理システムの全体構成を示すブロック図である。
【図１３】クラスタ処理システムのアプリケーション構造を示すブロック図である。
【符号の説明】
【０１０２】
１……動画像クラスタ処理システム、２……ホストノードパソコン、３Ａ〜３Ｄ……計算ノードパソコン、４……ネットワーク、１１、２１……ＣＰＵ１１、１２、２２……メモリ、１３、２３……表示部、１４、２４……ハードディスクドライブ、１５、２５……ネットワークインターフェース、１６……ビデオキャプチャ回路、１７、２７……バス。
【図１】
2005039738.tif 000003
【図２】
2005039738.tif 000004
【図３】
2005039738.tif 000005
【図４】
2005039738.tif 000006
【図５】
2005039738.tif 000007
【図６】
2005039738.tif 000008
【図７】
2005039738.tif 000009
【図８】
2005039738.tif 000010
【図９】
2005039738.tif 000011
【図１０】
2005039738.tif 000012
【図１１】
2005039738.tif 000013
【図１２】
2005039738.tif 000014
【図１３】
2005039738.tif 000015