(57)【要約】      （修正有）【課題】動画像を時間方向に分割して並列に２パス符号化を行う場合に、各処理ユニットが持つ記憶領域を効率よく利用して高速の符号化を行う。【解決手段】動画像を時間方向に分割した分割画像シーケンスの複雑度を求める解析部と複雑度に基づいて決定される符号量割り当てに従って符号化する符号化部及び記憶領域を有し、解析時に記憶領域に空きがあれば前記シーケンスを記憶領域に記憶し、符号化時に前記シーケンスが記憶されていれば記憶領域から読み込んで符号化を行い、符号化時に前記シーケンスが記憶領域に記憶されていなければ分割部から受信して符号化を行う複数の処理ユニット１０３と、一部の前記シーケンスが前記ユニットの記憶領域のいずれにも記憶されていない場合に、前記ユニットの一部は記憶領域に記憶されている前記シーケンスから先に符号化を行い、他の一部は分割部からの前記シーケンスから先に符号化を行うように制御する制御部を有する。【選択図】図１
2009065365.tif 000002
【特許請求の範囲】
【請求項１】
動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成する分割部と；
前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスのそれぞれを符号化する符号化部及び記憶領域を有し、（ａ）前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、（ｂ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、（ｃ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うように構成され、前記分割部からの前記分割画像シーケンスの単位時間当たりの転送画像数に対して単位時間当たりの符号化画像数が大きい複数の処理ユニットと；
一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、（ｄ）前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、（ｅ）前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御する符号化順序制御機能を有する制御部と；を具備することを特徴とする動画像符号化装置。
【請求項２】
前記制御部は、前記処理ユニットのうち前記符号化時に前記分割画像シーケンスを受信して符号化を行っているユニットの数が（前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数）／（前記処理ユニットでの単位時間当たりの符号化画像数）を超えないように前記符号化順序を制御することを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
前記制御部は、さらに前記符号化時に前記処理ユニットのうちの任意のユニットに記憶されている分割画像シーケンスの全てと、前記処理ユニットのいずれにも記憶されていない分割画像シーケンスの全ての符号化が完了した後に、前記処理ユニットのうち前記任意のユニット以外のユニットに記憶されている分割画像シーケンスの符号化を行うように前記処理ユニットを制御することを特徴とする請求項２記載の動画像符号化装置。
【請求項４】
前記制御部は、前記解析時に任意の処理ユニットの記憶領域の空きが無くなった場合に、解析を行っている処理ユニット数が（前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数）／（前記処理ユニットでの単位時間当たりの解析枚数）を下回らない限り前記任意の処理ユニットでの解析を行わないように前記処理ユニットを制御することを特徴とする請求項２または３のいずれか１項記載の動画像符号化装置。
【請求項５】
動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成するステップと；
前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスを符号化する符号化部及び記憶領域を有する複数の処理ユニットが、（ａ）前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、（ｂ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、（ｃ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うステップと；
一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、（ｄ）前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、（ｅ）前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御するステップと；を具備することを特徴とする動画像符号化方法。
【請求項６】
前記制御するステップは、前記処理ユニットのうち前記符号化時に前記分割画像シーケンスを受信して符号化を行っているユニットの数が（前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数）／（前記処理ユニットでの単位時間当たりの符号化画像数）を超えないように前記符号化順序を制御することを特徴とする請求項５記載の動画像符号化方法。
【請求項７】
前記制御するステップは、さらに前記符号化時に前記処理ユニットのうちの任意のユニットに記憶されている分割画像シーケンスの全てと、前記処理ユニットのいずれにも記憶されていない分割画像シーケンスの全ての符号化が完了した後に、前記処理ユニットのうち前記任意のユニット以外のユニットに記憶されている分割画像シーケンスの符号化を行うように前記処理ユニットを制御するステップを有することを特徴とする請求項６記載の動画像符号化方法。
【請求項８】
前記制御するステップは、さらに前記解析時に任意の処理ユニットの記憶領域の空きが無くなった場合に、解析を行っている処理ユニット数が（前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数）／（前記処理ユニットでの単位時間当たりの解析枚数）を下回らない限り前記任意の処理ユニットでの解析を行わないように前記処理ユニットを制御するステップを有することを特徴とする請求項６または７のいずれか１項記載の動画像符号化方法。
【請求項９】
動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成する分割部と；
前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスを符号化する符号化部及び記憶領域を有し、（ａ）前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、（ｂ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、（ｃ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うように構成された複数の処理ユニットと；
一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、（ｄ）前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、（ｅ）前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御する符号化順序制御機能を有する制御部と；を具備する動画像符号化装置としてコンピュータを機能させるための動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像シーケンスを時間方向に分割して並列に２パス符号化を行う動画像符号化装置、方法及びプログラムに関する。
【背景技術】
【０００２】
Ｈ．２６４（ＭＰＥＧ−４／ＡＶＣ），ＭＰＥＧ−２及びＶＣ−１といった符号化方式で符号化された高精細の動画像（以下、ＨＤ画像という）を収録可能な光ディスクが普及しつつある。これに伴い、高画質を維持しつつ高速に動画像符号化を行うハードウェアやソフトウェアの必要性がオーサリングスタジオを中心に高まっている。
【０００３】
特許文献１には、動画像符号化の速度を向上させるために、動画像シーケンス全体を時間方向に複数のフレーム毎に分割し、複数のクラスタＰＣを用いて並列に符号化を行う方法が開示されている。また、より高画質な符号化を行うために、動画像シーケンス全体を解析して最適な符号量配分を決定し、その符号量配分の下で符号化を行う、いわゆる２パス符号化が知られている。
【０００４】
一方、プロセッサでの処理速度向上を目的として、データへのアクセス速度を高くするためにキャッシュを利用する方法が一般的に知られている。特許文献２には、複数のキャッシュを持つプロセッサでのスレッドの処理手法として、同種のスレッドを同じプロセッサで処理することで、キャッシュを有効活用する手法が開示されている。
【特許文献１】特開２００３−２４４６９９号公報
【特許文献２】特開平０５−１５１０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、並列度を大きくして符号化速度を上げようとしても、動画像データをハードディスク等から読み出す速度や各クラスタＰＣへネットワーク転送する速度がボトルネックとなり、各クラスタＰＣの演算性能を十分に活かした高速な符号化ができないという問題がある。
【０００６】
一方、特許文献２の方法を応用して、動画像の解析時に各クラスタＰＣが受信した動画像データをローカルのハードディスク等に記憶しておき、符号化時に再利用するようにすれば、符号化速度の向上が期待できる。しかし、各クラスタＰＣが持つハードディスク等の空き容量が十分無く、符号化時に画像データの再受信が必要になる場合、特許文献２では画像データの転送効率が十分考慮されていないため、十分な高速化が実現できないことがある。
【０００７】
本発明の目的は、動画像シーケンスを時間方向に分割して複数の処理ユニットにより並列に２パス符号化を行う場合に、各処理ユニットが持つ記憶領域を効率よく利用して高速の符号化を可能とする動画像符号化装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一つの観点によると、動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成する分割部と；前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスのそれぞれを符号化する符号化部及び記憶領域を有し、（ａ）前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、（ｂ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、（ｃ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うように構成された複数の処理ユニットと；一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、（ｄ）前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、（ｅ）前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御する符号化順序制御機能を有する制御部と；を具備することを特徴とする動画像符号化装置を提供する。
【０００９】
ここで、前記制御部は前記処理ユニットのうち前記符号化時に前記分割画像シーケンスを受信して符号化を行っているユニットの数が（前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数）／（前記処理ユニットでの単位時間当たりの符号化画像数）を超えないように前記符号化順序を制御してもよい。
【００１０】
前記制御部は、さらに前記符号化時に前記処理ユニットのうちの任意のユニットに記憶されている分割画像シーケンスの全てと、前記処理ユニットのいずれにも記憶されていない分割画像シーケンスの全ての符号化が完了した後に、前記処理ユニットのうち前記任意のユニット以外のユニットに記憶されている分割画像シーケンスの符号化を行うように前記処理ユニットを制御してもよい。
【００１１】
前記制御部は、前記解析時に任意の処理ユニットの記憶領域の空きが無くなった場合に、解析を行っている処理ユニット数が（前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数）／（前記処理ユニットでの単位時間当たりの解析枚数）を下回らない限り前記任意の処理ユニットでの解析を行わないように前記処理ユニットを制御してもよい。
【００１２】
本発明の他の観点によると、動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成するステップと；前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスを符号化する符号化部及び記憶領域を有する複数の処理ユニットが、（ａ）前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、（ｂ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、（ｃ）前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うステップと；一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、（ｄ）前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、（ｅ）前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御するステップと；を具備することを特徴とする動画像符号化方法を提供する。
【００１３】
さらに、本発明の別の観点によると、上述した動画像符号化処理をコンピュータに行わせるための動画像符号化プログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、動画像シーケンスを時間方向に分割して複数の処理ユニットにより並列に２パス符号化を行う場合に、各処理ユニットが持っている記憶領域を効率的に活用して、高速な符号化を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の一実施形態を詳細に説明する。  
図１に示されるように、本発明の一実施形態に係る動画像符号化装置は、分割部１０１、制御部１０２及び複数（Ｎ）の処理ユニット１０３−１〜１０３−Ｎを有する。分割部１０１と処理ユニット１０３−１〜１０３−Ｎとの間は、ネットワーク１０６により接続される。処理ユニット１０３−１〜１０３−Ｎは、ＣＰＵ（中央演算処理装置）１０４と例えばハードディスク装置のような大容量の記憶領域１０５をそれぞれ有する。
【００１６】
符号化すべき動画像シーケンス１００は、例えば映画のようなコンテンツの動画像信号のシーケンスである。動画像シーケンス１００は、制御部１０２からの制御の下で分割部１０１によって時間方向に分割され、これによって複数の分割画像シーケンス（以下、単に分割画像という）が生成される。ここで動画像シーケンス１００を時間方向に分割するとは、動画像シーケンス１００を数百フレームのような単位で分割することを意味する。すなわち、各分割画像はそれぞれ数百フレームといった長さを持つ。こうして生成される分割画像は、ネットワーク１０６を介して処理ユニット１０３−１〜１０３−Ｎへ転送される。
【００１７】
処理ユニット１０３−１〜１０３−Ｎは、ＣＰＵ１０４によって実現される機能として図２に示されるように画像を解析する解析部２０１と、Ｈ．２６４（ＭＰＥＧ−４／ＡＶＣ），ＭＰＥＧ−２及びＶＣ−１といった符号化方式により画像の符号化を行う符号化部２０２を有する。解析部２０１が分割画像の解析を行う時には、分割部１０１からの分割画像を受信して例えば仮符号化を行い、画像の特徴の一つである複雑度を算出する。符号化部２０２は、解析部２０１によって得られる複雑度に基づいて決定される符号量割り当てに従って動画像シーケンス１００の分割画像を並列的に符号化する。
【００１８】
処理ユニット１０３−１〜１０３−Ｎでは、記憶領域１０５に空き領域がある場合には解析時に受信した分割部１０１からの分割画像を記憶領域１０５に記憶する。さらに、処理ユニット１０３−１〜１０３−Ｎは、画像の符号化時に基本的には画像が記憶領域１０５に記憶されていれば記憶領域１０５から画像を読み込んで符号化を行い、画像が記憶領域１０５に記憶されていなければ分割部１０１からの分割画像を受信して符号化を行う。ここで、分割ユニット１０３−１〜１０３−Ｎの処理速度（単位時間当たりの符号化画像数）の合計は、分割部１０１から各分割ユニット１０３−１〜１０３−Ｎへの分割画像の転送速度（単位時間当たりの転送画像数）の合計より大きいとする。
【００１９】
次に、制御部１０２についてさらに具体的に説明する。制御部１０２は、以下の態様（１）〜（４）に従って処理ユニット１０３−１〜１０３−Ｎを制御する。
【００２０】
（１）制御部１０２は、処理ユニット１０３−１〜１０３−Ｎに対して解析モードと符号化モードを選択的に設定可能である。解析モードでは、制御部１０２は各処理ユニット１０３−１〜１０３−Ｎに対して解析を行うよう指示すると共に、各処理ユニット１０３−１〜１０３−Ｎが記憶領域１０５に動画像シーケンス１００のどの部分の分割画像を記憶しているかを記憶しておく。
【００２１】
符号化モードでは、制御部１０２は処理ユニット１０３−１〜１０３−Ｎに対して符号化を行うよう指示する。このとき制御部１０２は、基本的には処理ユニット１０３−１〜１０３−Ｎに対して、記憶領域１０５に記憶されている部分の分割画像を符号化するように指示する。
【００２２】
一方、符号化モードにおいて、動画像シーケンス１００の一部の分割画像がいずれの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５にも記憶されていない場合、制御部１０２は処理ユニット１０３-１〜１０３-Ｎのうちの一部のユニットは記憶領域１０５に記憶されている分割画像から先に符号化を行い、処理ユニット１０３−１〜１０３−Ｎのうちの他の一部のユニットは分割部１０１からの分割画像を受信しながら、受信した分割画像から先に符号化を行うように、処理ユニット１０３−１〜１０３−Ｎの符号化順序を制御する。
【００２３】
言い換えれば、制御部１０２は処理ユニット１０３−１〜１０３−Ｎを先にどの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５にも記憶されていない分割画像を分割部１０１から受信しながら符号化を行い、その後に記憶領域１０５に記憶されている分割画像から符号化を行うユニットのグループ（Ｇ１）と、記憶領域１０５に記憶されている分割画像から符号化を行い、その後にいずれの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５にも記憶されていない分割画像を分割部１０１から受信しながら符号化を行うユニットのグループ（Ｇ２）に分ける。
【００２４】
（２）制御部１０２は、さらに画像の符号化時に分割部１０１からの分割画像を受信して符号化を行う処理ユニットの数が  
（分割部１０１から処理ユニット１０３−１〜１０３−Ｎへの分割画像の単位時間当たりの合計転送画像数）／（処理ユニット１０３−１〜１０３−Ｎでの単位時間当たりの符号化画像数）  
を超えないように符号化順序の制御を行う。このような制御による処理ユニット１０３−１〜１０３−Ｎの処理は、動画像シーケンス１００に対する符号化の序盤から中盤にかけての処理に相当する。
【００２５】
（３）制御部１０２は、さらに画像の符号化時に処理ユニット１０３−１〜１０３−Ｎのうちの任意の処理ユニット（１０３−ｉとする）において記憶領域１０５に記憶されている分割画像の全てと処理ユニット１０３−１〜１０３−Ｎのいずれの記憶領域１０５にも記憶されていない、受信された分割画像の全ての符号化が完了した後に、処理ユニット１０３−ｉ以外の処理ユニットの記憶領域１０５に記憶されている分割画像を分割部１０１から受信して符号化を行うように処理ユニット１０３−１〜１０３−Ｎを制御する。このような制御による処理ユニット１０３−１〜１０３−Ｎの処理は、動画像シーケンス１００に対する符号化の終盤の処理に相当する。
【００２６】
（４）制御部１０２は、画像の解析時に任意の処理ユニット１０３−ｉの記憶領域１０５に空き領域が無くなり、記憶領域１０５に分割画像の記憶ができなくなった場合、解析を行っている処理ユニットの数が
（分割部１０１から処理ユニット１０３−１〜１０３−Ｎへの分割画像の単位時間当たりの合計転送画像数）／（処理ユニット１０３−１〜１０３−Ｎでの単位時間当たりの解析画像数）  
を下回らない限り、当該処理ユニット１０３−ｉでの解析を行わないように制御する。
【００２７】
次に、図３及び図４のフローチャートを用いて図１に示した制御部１０２の具体的な処理手順について説明する。図３は解析時の処理手順を示し、図４は符号化時の処理手順を示している。
【００２８】
図３を参照して解析時の処理手順について説明すると、まず制御部１０２は処理ユニット１０３−１〜１０３−Ｎに対して、分割部１０１からの分割画像を受信して解析を行うように指示する（ステップＳ１０１）。次に、処理ユニット１０３−１〜１０３−Ｎのうちの任意の処理ユニット（１０３−ｉとする）による分割画像の解析が終了したと判断されると、分割画像が処理ユニット１０３−ｉの記憶領域１０５に記憶されたかどうか、そして記憶されていたら記憶先のユニット１０３−ｉはどれかを示す情報を記憶する（ステップＳ１０３）。
【００２９】
次に、受信した分割画像に未解析の分割画像が残っているかどうかを判断し（ステップＳ１０４）、未解析の分割画像があれば処理ユニット１０３−１〜１０３−Ｎに対して未解析の分割画像の解析を行うように指示する（ステップＳ１０５）。ステップＳ１０４で未解析の分割画像が残っていないと判断され、ステップＳ１０６で全ての分割画像の解析が完了したと判断されると、図４に示す符号化手順に移る。ステップＳ１０６で全ての分割画像の解析が完了したと判断されない場合、処理はステップＳ１０２に戻る。
【００３０】
次に、図４を参照して符号化時の処理手順について説明する。符号化を開始すると、まず一部の分割画像がいずれかの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５に記憶されているかどうかを判断し（ステップＳ２０１）、いずれの記憶領域１０５にも記憶されていない場合は処理ユニット１０３−１〜１０３−Ｎを前述した二つのグループＧ１，Ｇ２に分ける（ステップＳ２０２）。
【００３１】
第１グループＧ１については（ステップＳ２０３でyes）、まずいずれの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５にも記憶されていない分割画像を分割部１０１から受信して符号化し、その後、記憶領域１０５に記憶されている分割画像を符号化するように制御する（ステップＳ２０４）。
【００３２】
第２グループＧ２については（ステップＳ２０３でno）、まず記憶領域１０５に記憶されている分割画像を先に符号化し、その後いずれの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５にも記憶されていない分割画像を分割部１０１から受信して符号化するように制御する（ステップＳ２０５）。
【００３３】
このようにすることで同時に分割部１０１からの分割画像を受信して符号化を行う処理ユニットの数を減らし、各処理ユニットのＣＰＵが必要とする転送速度を確保できる。これにより転送速度がボトルネックとなって符号化速度が低下するのを抑えて、符号化速度を向上させることが可能となる。この効果について、図５〜図８を参照して説明する。
【００３４】
例えば、図５に示すように動画像シーケンスを簡単のため１６個に分割し、１６個の分割画像について４台の処理ユニット１０３−１〜１０３−４で解析を行い、それぞれの処理ユニット１０３−１〜１０３−４が分割画像を２個ずつ記憶できた場合を考える。このとき、分割部１０１から処理ユニット１０３−１〜１０３−４への分割画像の転送速度が最大で合計８フレーム／秒（ｆｐｓ）、１台の処理ユニットの符号化速度が４ｆｐｓとする。記憶領域１０５に記憶された分割画像を利用しなければ、４台の処理ユニット１０３−１〜１０３−４で合計１６ｆｐｓの速度で符号化を行う処理能力があるが、処理ユニット１０３−１〜１０３−４は分割部１０１からの分割画像を受信する必要があるので、分割画像の転送速度の制限を受け、合計で８ｆｐｓの速度でしか符号化ができない。
【００３５】
次に、図６に示すように、特に符号化の順序を制御せずに前から順番に符号化すると、始めのうちは全ての処理ユニット１０３−１〜１０３−４が記憶領域１０５から分割画像を読み込んで符号化を行うため、処理ユニットの処理速度を活かして１６ｆｐｓの速度で符号化ができる。しかし、後になると全ての処理ユニット１０３−１〜１０３−４が分割部１０１からの分割画像を受信して符号化を行うため、分割画像の転送速度が問題となり、処理ユニットの処理速度を十分活かすことができず、８ｆｐｓの速度での符号化となってしまう。
【００３６】
一方、図７に示すように本発明の一実施形態に従う手法を用いて、処理ユニット１０３−１〜１０３−４が分割部１０１からの分割画像を受信する時期をずらすと、同時に転送する必要がある処理ユニットの台数を減らすことができる。例えば、図７の例ではまず上の２台の処理ユニットは記憶領域１０５から分割画像を読み込み、下の２台の処理ユニットは分割部１０１からの分割画像を受信している。この後、上の２台の処理ユニットが分割部１０１からの分割画像を受信し、下の２台の処理ユニットは記憶領域１０５から分割画像を読み込んでいる。
【００３７】
記憶領域１０５から分割画像を読み込んで符号化を行うと、分割部１０１から処理ユニットへの分割画像の転送経路であるネットワーク１０６に負荷を掛けない。図７によると、ネットワーク１０６は常に処理ユニット２台分の符号化速度（上記の例では４×２＝８ｆｐｓ）に必要な転送速度があれば良く、最初から最後まで処理ユニットの処理速度を活かした１６ｆｐｓでの符号化が可能となる。従って、全体の処理時間をより短くすることが可能となる。
【００３８】
次に、図８のフローチャートを用いて図１に示した制御部１０２の符号化時の具体的な処理手順について説明する。図８の処理手順は、動画像シーケンス１００に対する符号化の序盤から中盤の処理に相当し、前記（２）の処理をさらに詳しく表している。
【００３９】
制御部１０２は、まず各処理ユニット１０３−１〜１０３−Ｎに対して符号化を開始するように指示する（ステップＳ３０１）。次に、任意の処理ユニット１０３−ｉが画像の解析を終了するのを待ち（ステップＳ３０２）、符号化を実行していない分割画像が残っているかどうかを判断する（ステップＳ３０３）。ステップＳ３０３で符号化を行っていない分割画像が残っていれば、処理ユニット１０３−ｉに対して符号化を実行していない分割画像の符号化を行うように指示する。
【００４０】
このとき、既に分割画像を分割部１０１から受信して符号化を行っている処理ユニットの数が、  
（分割部１０１から処理ユニット１０３−１〜１０３−Ｎへの分割画像の単位時間当たりの合計転送画像数＝転送速度）／（処理ユニット１０３−１〜１０３−Ｎでの単位時間当たりの符号化画像数＝符号化速度）  
より少ないかどうかを判断し（ステップＳ３０４）、少なければ処理ユニットが分割部１０１からの分割画像を受信して符号化を行うように制御し（ステップＳ３０５）、そうでなければ処理ユニットは記憶領域１０５から分割画像を読み込んで符号化を行うように制御する（ステップＳ３０６）。
【００４１】
ステップＳ３０３で符号化されていない分割画像がなく、ステップＳ３０７で全ての分割画像の符号化が完了したと判断されれば符号化を終了し、そうでなければステップＳ３０２から処理を繰り返す。
【００４２】
図８の処理手順によると、同時に分割部１０１からの分割画像を受信して符号化する処理ユニットの数が多過ぎることがなくなり、各処理ユニットが必要とする転送速度を確保できる。従って、転送速度がボトルネックとなって符号化速度が低下するのを抑えて、符号化速度を向上させることが可能となる。
【００４３】
次に、図９のフローチャートを用いて図１に示した制御部１０２の符号化時の他の具体的な処理手順について説明する。図９の処理手順は動画像シーケンス１００に対する符号化の終盤の処理に相当し、前記（３）の処理をさらに詳しく表している。
【００４４】
制御部１０２は、まず各処理ユニット１０３−１〜１０３−Ｎに対して符号化を開始するように指示する（ステップＳ３０１）。次に、任意の処理ユニット１０３−ｉが画像の解析を終了するのを待ち（ステップＳ３０２）、符号化を実行していない分割画像が残っているかどうかを判断する（ステップＳ３０３）。ステップＳ３０３で符号化を行っていない分割画像が残っていれば、処理ユニット１０３−ｉに対して符号化を実行していない分割画像の符号化を行うように指示する。
【００４５】
このとき、処理ユニット１０３−ｉの記憶領域１０５に記憶されている分割画像の符号化が全て完了しているかどうかを判断し（ステップＳ３０８）、完了していなければ制御部１０２は処理ユニット１０３−ｉが記憶領域１０５から分割画像を読み込んで符号化を行うように処理ユニット１３−ｉを制御する（ステップＳ３０６）。
【００４６】
一方、ステップＳ３０８において処理ユニット１０３−ｉの記憶領域１０５に記憶されている分割画像の符号化が完了していれば、さらにいずれの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５にも記憶されておらずかつ符号化が実行されていない分割画像があるかどうかを判断する（ステップＳ３０９）。ここで、ステップＳ３０９においてnoの場合、いずれの処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５にも記憶されていない符号化が実行されていない分割画像を分割部１０１から受信して符号化を行うように制御を行う（ステップＳ３１０）。一方、ステップＳ３０９においてyesの場合、他の処理ユニットの記憶領域１０５に記憶されかつ符号化が行われていない分割画像を分割部１０１から受信して符号化を行うよう制御する（ステップＳ３１１）。
【００４７】
ステップＳ３０３で符号化されていない分割画像がなく、ステップＳ３０７で全ての分割画像の符号化が完了したと判断されれば符号化を終了し、そうでなければステップＳ３０２から処理を繰り返す。
【００４８】
図９の手順によると、処理ユニット１０３−１〜１０３−Ｎを無意味に休ませることがなくなり、また処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５に記憶されている分割画像を無駄にする可能性を抑えることができるので、符号化速度をさらに向上させることが可能となる。
【００４９】
次に、図１０のフローチャートを用いて図１に示した制御部１０２の解析時の具体的な処理手順について説明する。図１０では、図３に示した処理手順にステップＳ１０７の処理が加わっている。
【００５０】
すなわち、まず制御部１０２は処理ユニット１０３−１〜１０３−Ｎに対して、分割部１０１からの分割画像を受信して解析を行うように指示する（ステップＳ１０１）。次に、処理ユニット１０３−１〜１０３−Ｎのうちの任意の処理ユニット（１０３−ｉとする）による分割画像の解析が終了したと判断されると、分割画像が処理ユニット１０３−ｉの記憶領域１０５に記憶されたかどうか、そして記憶されていたら記憶先のユニット１０３−ｉはどれかを示す情報を記憶する（ステップＳ１０３）。
【００５１】
次に、受信した分割画像に未解析の分割画像が残っているかどうかを判断し（ステップＳ１０４）、未解析の分割画像があればステップＳ１０７に移る。ステップＳ１０７では、当該処理ユニット１０３−ｉの記憶領域１０５に空きが無く、かつ既に解析を実行している処理ユニットでの単位時間当たりの合計解析画像数（累積解析速度）が分割部１０１からの単位時間当たりの処理ユニット１０３−１〜１０３−Ｎへの合計転送画像数（転送速度）を上回っているかどうかを判断する。
【００５２】
ステップＳ１０７の結果がyesの場合、当該処理ユニット１０３−ｉでの解析をそれ以上実行せず、noの場合には処理ユニット１０３−１〜１０３−Ｎに対して当該処理ユニット１０３−ｉで解析を実行していない分割画像の解析を行うように指示する（ステップＳ１０５）。ステップＳ１０４で未解析の分割画像が残っていないと判断され、ステップＳ１０６で全ての分割画像の解析が完了したと判断されると、符号化手順に移る。ステップＳ１０６で全ての分割画像の解析が完了したと判断されない場合、処理はステップＳ１０２に戻る。
【００５３】
図１０の処理手順によると、画像の解析速度を低下させること無く、より多くの分割画像を処理ユニット１０３−１〜１０３−Ｎの記憶領域１０５に記憶することができる。従って、符号化時に分割部１０１からの分割画像を受信して符号化する回数を減らすことができ、転送速度がボトルネックとなって符号化速度が低下するのを抑えて、符号化速度を向上させることが可能となる。
【００５４】
なお、上述した各実施形態で行われる動画像符号化処理は、専用のハードウェア回路によって行うようにしてもよいし、ＣＰＵがプログラムにしたがって動作することにより動画像符号化処理が行われるように構成してもよい。また、コンピュータに動画像符号化処理を実行させるためのプログラムをインターネット等の通信回線を介してユーザに提供するようにしてもよいし、当該プログラムをＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）などのコンピュータ読み取り可能な記録媒体に記録してユーザに提供するようにしてもよい。
【００５５】
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態に係る動画像符号化装置を示すブロック図
【図２】同実施形態における処理ユニットの詳細の一例を示すブロック図
【図３】同実施形態における制御部の画像解析時の処理手順を示すフローチャート
【図４】同実施形態における制御部の画像符号化時の処理手順を示すフローチャート
【図５】同実施形態における画像解析時の動作を説明するための図
【図６】比較例による画像符号化時の動作を説明するための図
【図７】同実施形態における画像符号化時の動作を説明するための図
【図８】同実施形態における制御部の画像符号化時の処理手順を示すフローチャート
【図９】同実施形態における制御部の画像符号化時の処理手順を示すフローチャート
【図１０】同実施形態における制御部の画像解析化時の処理手順を示すフローチャート
【符号の説明】
【００５７】
１００・・・動画像シーケンス１００
１０１・・・分割部
１０２・・・制御部
１０３−１〜１０３−Ｎ・・・処理ユニット
１０３・・・記憶領域
１０４・・・ＣＰＵ
１０５・・・記憶領域
１０６・・・ネットワーク
２０１・・・解析部
２０２・・・符号化部
【図１】
2009065365.tif 000003
【図２】
2009065365.tif 000004
【図３】
2009065365.tif 000005
【図４】
2009065365.tif 000006
【図５】
2009065365.tif 000007
【図６】
2009065365.tif 000008
【図７】
2009065365.tif 000009
【図８】
2009065365.tif 000010
【図９】
2009065365.tif 000011
【図１０】
2009065365.tif 000012