JP2009065365A - 動画像符号化装置、方法及びプログラム - Google Patents
動画像符号化装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2009065365A JP2009065365A JP2007230470A JP2007230470A JP2009065365A JP 2009065365 A JP2009065365 A JP 2009065365A JP 2007230470 A JP2007230470 A JP 2007230470A JP 2007230470 A JP2007230470 A JP 2007230470A JP 2009065365 A JP2009065365 A JP 2009065365A
- Authority
- JP
- Japan
- Prior art keywords
- divided image
- unit
- encoding
- storage area
- image sequence
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】動画像を時間方向に分割して並列に2パス符号化を行う場合に、各処理ユニットが持つ記憶領域を効率よく利用して高速の符号化を行う。
【解決手段】動画像を時間方向に分割した分割画像シーケンスの複雑度を求める解析部と複雑度に基づいて決定される符号量割り当てに従って符号化する符号化部及び記憶領域を有し、解析時に記憶領域に空きがあれば前記シーケンスを記憶領域に記憶し、符号化時に前記シーケンスが記憶されていれば記憶領域から読み込んで符号化を行い、符号化時に前記シーケンスが記憶領域に記憶されていなければ分割部から受信して符号化を行う複数の処理ユニット103と、一部の前記シーケンスが前記ユニットの記憶領域のいずれにも記憶されていない場合に、前記ユニットの一部は記憶領域に記憶されている前記シーケンスから先に符号化を行い、他の一部は分割部からの前記シーケンスから先に符号化を行うように制御する制御部を有する。
【選択図】図1
【解決手段】動画像を時間方向に分割した分割画像シーケンスの複雑度を求める解析部と複雑度に基づいて決定される符号量割り当てに従って符号化する符号化部及び記憶領域を有し、解析時に記憶領域に空きがあれば前記シーケンスを記憶領域に記憶し、符号化時に前記シーケンスが記憶されていれば記憶領域から読み込んで符号化を行い、符号化時に前記シーケンスが記憶領域に記憶されていなければ分割部から受信して符号化を行う複数の処理ユニット103と、一部の前記シーケンスが前記ユニットの記憶領域のいずれにも記憶されていない場合に、前記ユニットの一部は記憶領域に記憶されている前記シーケンスから先に符号化を行い、他の一部は分割部からの前記シーケンスから先に符号化を行うように制御する制御部を有する。
【選択図】図1
Description
本発明は、動画像シーケンスを時間方向に分割して並列に2パス符号化を行う動画像符号化装置、方法及びプログラムに関する。
H.264(MPEG−4/AVC),MPEG−2及びVC−1といった符号化方式で符号化された高精細の動画像(以下、HD画像という)を収録可能な光ディスクが普及しつつある。これに伴い、高画質を維持しつつ高速に動画像符号化を行うハードウェアやソフトウェアの必要性がオーサリングスタジオを中心に高まっている。
特許文献1には、動画像符号化の速度を向上させるために、動画像シーケンス全体を時間方向に複数のフレーム毎に分割し、複数のクラスタPCを用いて並列に符号化を行う方法が開示されている。また、より高画質な符号化を行うために、動画像シーケンス全体を解析して最適な符号量配分を決定し、その符号量配分の下で符号化を行う、いわゆる2パス符号化が知られている。
一方、プロセッサでの処理速度向上を目的として、データへのアクセス速度を高くするためにキャッシュを利用する方法が一般的に知られている。特許文献2には、複数のキャッシュを持つプロセッサでのスレッドの処理手法として、同種のスレッドを同じプロセッサで処理することで、キャッシュを有効活用する手法が開示されている。
特開2003−244699号公報
特開平05−151064号公報
特許文献1の方法では、並列度を大きくして符号化速度を上げようとしても、動画像データをハードディスク等から読み出す速度や各クラスタPCへネットワーク転送する速度がボトルネックとなり、各クラスタPCの演算性能を十分に活かした高速な符号化ができないという問題がある。
一方、特許文献2の方法を応用して、動画像の解析時に各クラスタPCが受信した動画像データをローカルのハードディスク等に記憶しておき、符号化時に再利用するようにすれば、符号化速度の向上が期待できる。しかし、各クラスタPCが持つハードディスク等の空き容量が十分無く、符号化時に画像データの再受信が必要になる場合、特許文献2では画像データの転送効率が十分考慮されていないため、十分な高速化が実現できないことがある。
本発明の目的は、動画像シーケンスを時間方向に分割して複数の処理ユニットにより並列に2パス符号化を行う場合に、各処理ユニットが持つ記憶領域を効率よく利用して高速の符号化を可能とする動画像符号化装置、方法及びプログラムを提供することにある。
本発明の一つの観点によると、動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成する分割部と;前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスのそれぞれを符号化する符号化部及び記憶領域を有し、(a)前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、(b)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、(c)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うように構成された複数の処理ユニットと;一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、(d)前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、(e)前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御する符号化順序制御機能を有する制御部と;を具備することを特徴とする動画像符号化装置を提供する。
ここで、前記制御部は前記処理ユニットのうち前記符号化時に前記分割画像シーケンスを受信して符号化を行っているユニットの数が(前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数)/(前記処理ユニットでの単位時間当たりの符号化画像数)を超えないように前記符号化順序を制御してもよい。
前記制御部は、さらに前記符号化時に前記処理ユニットのうちの任意のユニットに記憶されている分割画像シーケンスの全てと、前記処理ユニットのいずれにも記憶されていない分割画像シーケンスの全ての符号化が完了した後に、前記処理ユニットのうち前記任意のユニット以外のユニットに記憶されている分割画像シーケンスの符号化を行うように前記処理ユニットを制御してもよい。
前記制御部は、前記解析時に任意の処理ユニットの記憶領域の空きが無くなった場合に、解析を行っている処理ユニット数が(前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数)/(前記処理ユニットでの単位時間当たりの解析枚数)を下回らない限り前記任意の処理ユニットでの解析を行わないように前記処理ユニットを制御してもよい。
本発明の他の観点によると、動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成するステップと;前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスを符号化する符号化部及び記憶領域を有する複数の処理ユニットが、(a)前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、(b)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、(c)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うステップと;一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、(d)前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、(e)前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御するステップと;を具備することを特徴とする動画像符号化方法を提供する。
さらに、本発明の別の観点によると、上述した動画像符号化処理をコンピュータに行わせるための動画像符号化プログラムが提供される。
本発明によれば、動画像シーケンスを時間方向に分割して複数の処理ユニットにより並列に2パス符号化を行う場合に、各処理ユニットが持っている記憶領域を効率的に活用して、高速な符号化を行うことができる。
以下、図面を参照して本発明の一実施形態を詳細に説明する。
図1に示されるように、本発明の一実施形態に係る動画像符号化装置は、分割部101、制御部102及び複数(N)の処理ユニット103−1〜103−Nを有する。分割部101と処理ユニット103−1〜103−Nとの間は、ネットワーク106により接続される。処理ユニット103−1〜103−Nは、CPU(中央演算処理装置)104と例えばハードディスク装置のような大容量の記憶領域105をそれぞれ有する。
図1に示されるように、本発明の一実施形態に係る動画像符号化装置は、分割部101、制御部102及び複数(N)の処理ユニット103−1〜103−Nを有する。分割部101と処理ユニット103−1〜103−Nとの間は、ネットワーク106により接続される。処理ユニット103−1〜103−Nは、CPU(中央演算処理装置)104と例えばハードディスク装置のような大容量の記憶領域105をそれぞれ有する。
符号化すべき動画像シーケンス100は、例えば映画のようなコンテンツの動画像信号のシーケンスである。動画像シーケンス100は、制御部102からの制御の下で分割部101によって時間方向に分割され、これによって複数の分割画像シーケンス(以下、単に分割画像という)が生成される。ここで動画像シーケンス100を時間方向に分割するとは、動画像シーケンス100を数百フレームのような単位で分割することを意味する。すなわち、各分割画像はそれぞれ数百フレームといった長さを持つ。こうして生成される分割画像は、ネットワーク106を介して処理ユニット103−1〜103−Nへ転送される。
処理ユニット103−1〜103−Nは、CPU104によって実現される機能として図2に示されるように画像を解析する解析部201と、H.264(MPEG−4/AVC),MPEG−2及びVC−1といった符号化方式により画像の符号化を行う符号化部202を有する。解析部201が分割画像の解析を行う時には、分割部101からの分割画像を受信して例えば仮符号化を行い、画像の特徴の一つである複雑度を算出する。符号化部202は、解析部201によって得られる複雑度に基づいて決定される符号量割り当てに従って動画像シーケンス100の分割画像を並列的に符号化する。
処理ユニット103−1〜103−Nでは、記憶領域105に空き領域がある場合には解析時に受信した分割部101からの分割画像を記憶領域105に記憶する。さらに、処理ユニット103−1〜103−Nは、画像の符号化時に基本的には画像が記憶領域105に記憶されていれば記憶領域105から画像を読み込んで符号化を行い、画像が記憶領域105に記憶されていなければ分割部101からの分割画像を受信して符号化を行う。ここで、分割ユニット103−1〜103−Nの処理速度(単位時間当たりの符号化画像数)の合計は、分割部101から各分割ユニット103−1〜103−Nへの分割画像の転送速度(単位時間当たりの転送画像数)の合計より大きいとする。
次に、制御部102についてさらに具体的に説明する。制御部102は、以下の態様(1)〜(4)に従って処理ユニット103−1〜103−Nを制御する。
(1)制御部102は、処理ユニット103−1〜103−Nに対して解析モードと符号化モードを選択的に設定可能である。解析モードでは、制御部102は各処理ユニット103−1〜103−Nに対して解析を行うよう指示すると共に、各処理ユニット103−1〜103−Nが記憶領域105に動画像シーケンス100のどの部分の分割画像を記憶しているかを記憶しておく。
符号化モードでは、制御部102は処理ユニット103−1〜103−Nに対して符号化を行うよう指示する。このとき制御部102は、基本的には処理ユニット103−1〜103−Nに対して、記憶領域105に記憶されている部分の分割画像を符号化するように指示する。
一方、符号化モードにおいて、動画像シーケンス100の一部の分割画像がいずれの処理ユニット103−1〜103−Nの記憶領域105にも記憶されていない場合、制御部102は処理ユニット103-1〜103-Nのうちの一部のユニットは記憶領域105に記憶されている分割画像から先に符号化を行い、処理ユニット103−1〜103−Nのうちの他の一部のユニットは分割部101からの分割画像を受信しながら、受信した分割画像から先に符号化を行うように、処理ユニット103−1〜103−Nの符号化順序を制御する。
言い換えれば、制御部102は処理ユニット103−1〜103−Nを先にどの処理ユニット103−1〜103−Nの記憶領域105にも記憶されていない分割画像を分割部101から受信しながら符号化を行い、その後に記憶領域105に記憶されている分割画像から符号化を行うユニットのグループ(G1)と、記憶領域105に記憶されている分割画像から符号化を行い、その後にいずれの処理ユニット103−1〜103−Nの記憶領域105にも記憶されていない分割画像を分割部101から受信しながら符号化を行うユニットのグループ(G2)に分ける。
(2)制御部102は、さらに画像の符号化時に分割部101からの分割画像を受信して符号化を行う処理ユニットの数が
(分割部101から処理ユニット103−1〜103−Nへの分割画像の単位時間当たりの合計転送画像数)/(処理ユニット103−1〜103−Nでの単位時間当たりの符号化画像数)
を超えないように符号化順序の制御を行う。このような制御による処理ユニット103−1〜103−Nの処理は、動画像シーケンス100に対する符号化の序盤から中盤にかけての処理に相当する。
(分割部101から処理ユニット103−1〜103−Nへの分割画像の単位時間当たりの合計転送画像数)/(処理ユニット103−1〜103−Nでの単位時間当たりの符号化画像数)
を超えないように符号化順序の制御を行う。このような制御による処理ユニット103−1〜103−Nの処理は、動画像シーケンス100に対する符号化の序盤から中盤にかけての処理に相当する。
(3)制御部102は、さらに画像の符号化時に処理ユニット103−1〜103−Nのうちの任意の処理ユニット(103−iとする)において記憶領域105に記憶されている分割画像の全てと処理ユニット103−1〜103−Nのいずれの記憶領域105にも記憶されていない、受信された分割画像の全ての符号化が完了した後に、処理ユニット103−i以外の処理ユニットの記憶領域105に記憶されている分割画像を分割部101から受信して符号化を行うように処理ユニット103−1〜103−Nを制御する。このような制御による処理ユニット103−1〜103−Nの処理は、動画像シーケンス100に対する符号化の終盤の処理に相当する。
(4)制御部102は、画像の解析時に任意の処理ユニット103−iの記憶領域105に空き領域が無くなり、記憶領域105に分割画像の記憶ができなくなった場合、解析を行っている処理ユニットの数が
(分割部101から処理ユニット103−1〜103−Nへの分割画像の単位時間当たりの合計転送画像数)/(処理ユニット103−1〜103−Nでの単位時間当たりの解析画像数)
を下回らない限り、当該処理ユニット103−iでの解析を行わないように制御する。
(分割部101から処理ユニット103−1〜103−Nへの分割画像の単位時間当たりの合計転送画像数)/(処理ユニット103−1〜103−Nでの単位時間当たりの解析画像数)
を下回らない限り、当該処理ユニット103−iでの解析を行わないように制御する。
次に、図3及び図4のフローチャートを用いて図1に示した制御部102の具体的な処理手順について説明する。図3は解析時の処理手順を示し、図4は符号化時の処理手順を示している。
図3を参照して解析時の処理手順について説明すると、まず制御部102は処理ユニット103−1〜103−Nに対して、分割部101からの分割画像を受信して解析を行うように指示する(ステップS101)。次に、処理ユニット103−1〜103−Nのうちの任意の処理ユニット(103−iとする)による分割画像の解析が終了したと判断されると、分割画像が処理ユニット103−iの記憶領域105に記憶されたかどうか、そして記憶されていたら記憶先のユニット103−iはどれかを示す情報を記憶する(ステップS103)。
次に、受信した分割画像に未解析の分割画像が残っているかどうかを判断し(ステップS104)、未解析の分割画像があれば処理ユニット103−1〜103−Nに対して未解析の分割画像の解析を行うように指示する(ステップS105)。ステップS104で未解析の分割画像が残っていないと判断され、ステップS106で全ての分割画像の解析が完了したと判断されると、図4に示す符号化手順に移る。ステップS106で全ての分割画像の解析が完了したと判断されない場合、処理はステップS102に戻る。
次に、図4を参照して符号化時の処理手順について説明する。符号化を開始すると、まず一部の分割画像がいずれかの処理ユニット103−1〜103−Nの記憶領域105に記憶されているかどうかを判断し(ステップS201)、いずれの記憶領域105にも記憶されていない場合は処理ユニット103−1〜103−Nを前述した二つのグループG1,G2に分ける(ステップS202)。
第1グループG1については(ステップS203でyes)、まずいずれの処理ユニット103−1〜103−Nの記憶領域105にも記憶されていない分割画像を分割部101から受信して符号化し、その後、記憶領域105に記憶されている分割画像を符号化するように制御する(ステップS204)。
第2グループG2については(ステップS203でno)、まず記憶領域105に記憶されている分割画像を先に符号化し、その後いずれの処理ユニット103−1〜103−Nの記憶領域105にも記憶されていない分割画像を分割部101から受信して符号化するように制御する(ステップS205)。
このようにすることで同時に分割部101からの分割画像を受信して符号化を行う処理ユニットの数を減らし、各処理ユニットのCPUが必要とする転送速度を確保できる。これにより転送速度がボトルネックとなって符号化速度が低下するのを抑えて、符号化速度を向上させることが可能となる。この効果について、図5〜図8を参照して説明する。
例えば、図5に示すように動画像シーケンスを簡単のため16個に分割し、16個の分割画像について4台の処理ユニット103−1〜103−4で解析を行い、それぞれの処理ユニット103−1〜103−4が分割画像を2個ずつ記憶できた場合を考える。このとき、分割部101から処理ユニット103−1〜103−4への分割画像の転送速度が最大で合計8フレーム/秒(fps)、1台の処理ユニットの符号化速度が4fpsとする。記憶領域105に記憶された分割画像を利用しなければ、4台の処理ユニット103−1〜103−4で合計16fpsの速度で符号化を行う処理能力があるが、処理ユニット103−1〜103−4は分割部101からの分割画像を受信する必要があるので、分割画像の転送速度の制限を受け、合計で8fpsの速度でしか符号化ができない。
次に、図6に示すように、特に符号化の順序を制御せずに前から順番に符号化すると、始めのうちは全ての処理ユニット103−1〜103−4が記憶領域105から分割画像を読み込んで符号化を行うため、処理ユニットの処理速度を活かして16fpsの速度で符号化ができる。しかし、後になると全ての処理ユニット103−1〜103−4が分割部101からの分割画像を受信して符号化を行うため、分割画像の転送速度が問題となり、処理ユニットの処理速度を十分活かすことができず、8fpsの速度での符号化となってしまう。
一方、図7に示すように本発明の一実施形態に従う手法を用いて、処理ユニット103−1〜103−4が分割部101からの分割画像を受信する時期をずらすと、同時に転送する必要がある処理ユニットの台数を減らすことができる。例えば、図7の例ではまず上の2台の処理ユニットは記憶領域105から分割画像を読み込み、下の2台の処理ユニットは分割部101からの分割画像を受信している。この後、上の2台の処理ユニットが分割部101からの分割画像を受信し、下の2台の処理ユニットは記憶領域105から分割画像を読み込んでいる。
記憶領域105から分割画像を読み込んで符号化を行うと、分割部101から処理ユニットへの分割画像の転送経路であるネットワーク106に負荷を掛けない。図7によると、ネットワーク106は常に処理ユニット2台分の符号化速度(上記の例では4×2=8fps)に必要な転送速度があれば良く、最初から最後まで処理ユニットの処理速度を活かした16fpsでの符号化が可能となる。従って、全体の処理時間をより短くすることが可能となる。
次に、図8のフローチャートを用いて図1に示した制御部102の符号化時の具体的な処理手順について説明する。図8の処理手順は、動画像シーケンス100に対する符号化の序盤から中盤の処理に相当し、前記(2)の処理をさらに詳しく表している。
制御部102は、まず各処理ユニット103−1〜103−Nに対して符号化を開始するように指示する(ステップS301)。次に、任意の処理ユニット103−iが画像の解析を終了するのを待ち(ステップS302)、符号化を実行していない分割画像が残っているかどうかを判断する(ステップS303)。ステップS303で符号化を行っていない分割画像が残っていれば、処理ユニット103−iに対して符号化を実行していない分割画像の符号化を行うように指示する。
このとき、既に分割画像を分割部101から受信して符号化を行っている処理ユニットの数が、
(分割部101から処理ユニット103−1〜103−Nへの分割画像の単位時間当たりの合計転送画像数=転送速度)/(処理ユニット103−1〜103−Nでの単位時間当たりの符号化画像数=符号化速度)
より少ないかどうかを判断し(ステップS304)、少なければ処理ユニットが分割部101からの分割画像を受信して符号化を行うように制御し(ステップS305)、そうでなければ処理ユニットは記憶領域105から分割画像を読み込んで符号化を行うように制御する(ステップS306)。
(分割部101から処理ユニット103−1〜103−Nへの分割画像の単位時間当たりの合計転送画像数=転送速度)/(処理ユニット103−1〜103−Nでの単位時間当たりの符号化画像数=符号化速度)
より少ないかどうかを判断し(ステップS304)、少なければ処理ユニットが分割部101からの分割画像を受信して符号化を行うように制御し(ステップS305)、そうでなければ処理ユニットは記憶領域105から分割画像を読み込んで符号化を行うように制御する(ステップS306)。
ステップS303で符号化されていない分割画像がなく、ステップS307で全ての分割画像の符号化が完了したと判断されれば符号化を終了し、そうでなければステップS302から処理を繰り返す。
図8の処理手順によると、同時に分割部101からの分割画像を受信して符号化する処理ユニットの数が多過ぎることがなくなり、各処理ユニットが必要とする転送速度を確保できる。従って、転送速度がボトルネックとなって符号化速度が低下するのを抑えて、符号化速度を向上させることが可能となる。
次に、図9のフローチャートを用いて図1に示した制御部102の符号化時の他の具体的な処理手順について説明する。図9の処理手順は動画像シーケンス100に対する符号化の終盤の処理に相当し、前記(3)の処理をさらに詳しく表している。
制御部102は、まず各処理ユニット103−1〜103−Nに対して符号化を開始するように指示する(ステップS301)。次に、任意の処理ユニット103−iが画像の解析を終了するのを待ち(ステップS302)、符号化を実行していない分割画像が残っているかどうかを判断する(ステップS303)。ステップS303で符号化を行っていない分割画像が残っていれば、処理ユニット103−iに対して符号化を実行していない分割画像の符号化を行うように指示する。
このとき、処理ユニット103−iの記憶領域105に記憶されている分割画像の符号化が全て完了しているかどうかを判断し(ステップS308)、完了していなければ制御部102は処理ユニット103−iが記憶領域105から分割画像を読み込んで符号化を行うように処理ユニット13−iを制御する(ステップS306)。
一方、ステップS308において処理ユニット103−iの記憶領域105に記憶されている分割画像の符号化が完了していれば、さらにいずれの処理ユニット103−1〜103−Nの記憶領域105にも記憶されておらずかつ符号化が実行されていない分割画像があるかどうかを判断する(ステップS309)。ここで、ステップS309においてnoの場合、いずれの処理ユニット103−1〜103−Nの記憶領域105にも記憶されていない符号化が実行されていない分割画像を分割部101から受信して符号化を行うように制御を行う(ステップS310)。一方、ステップS309においてyesの場合、他の処理ユニットの記憶領域105に記憶されかつ符号化が行われていない分割画像を分割部101から受信して符号化を行うよう制御する(ステップS311)。
ステップS303で符号化されていない分割画像がなく、ステップS307で全ての分割画像の符号化が完了したと判断されれば符号化を終了し、そうでなければステップS302から処理を繰り返す。
図9の手順によると、処理ユニット103−1〜103−Nを無意味に休ませることがなくなり、また処理ユニット103−1〜103−Nの記憶領域105に記憶されている分割画像を無駄にする可能性を抑えることができるので、符号化速度をさらに向上させることが可能となる。
次に、図10のフローチャートを用いて図1に示した制御部102の解析時の具体的な処理手順について説明する。図10では、図3に示した処理手順にステップS107の処理が加わっている。
すなわち、まず制御部102は処理ユニット103−1〜103−Nに対して、分割部101からの分割画像を受信して解析を行うように指示する(ステップS101)。次に、処理ユニット103−1〜103−Nのうちの任意の処理ユニット(103−iとする)による分割画像の解析が終了したと判断されると、分割画像が処理ユニット103−iの記憶領域105に記憶されたかどうか、そして記憶されていたら記憶先のユニット103−iはどれかを示す情報を記憶する(ステップS103)。
次に、受信した分割画像に未解析の分割画像が残っているかどうかを判断し(ステップS104)、未解析の分割画像があればステップS107に移る。ステップS107では、当該処理ユニット103−iの記憶領域105に空きが無く、かつ既に解析を実行している処理ユニットでの単位時間当たりの合計解析画像数(累積解析速度)が分割部101からの単位時間当たりの処理ユニット103−1〜103−Nへの合計転送画像数(転送速度)を上回っているかどうかを判断する。
ステップS107の結果がyesの場合、当該処理ユニット103−iでの解析をそれ以上実行せず、noの場合には処理ユニット103−1〜103−Nに対して当該処理ユニット103−iで解析を実行していない分割画像の解析を行うように指示する(ステップS105)。ステップS104で未解析の分割画像が残っていないと判断され、ステップS106で全ての分割画像の解析が完了したと判断されると、符号化手順に移る。ステップS106で全ての分割画像の解析が完了したと判断されない場合、処理はステップS102に戻る。
図10の処理手順によると、画像の解析速度を低下させること無く、より多くの分割画像を処理ユニット103−1〜103−Nの記憶領域105に記憶することができる。従って、符号化時に分割部101からの分割画像を受信して符号化する回数を減らすことができ、転送速度がボトルネックとなって符号化速度が低下するのを抑えて、符号化速度を向上させることが可能となる。
なお、上述した各実施形態で行われる動画像符号化処理は、専用のハードウェア回路によって行うようにしてもよいし、CPUがプログラムにしたがって動作することにより動画像符号化処理が行われるように構成してもよい。また、コンピュータに動画像符号化処理を実行させるためのプログラムをインターネット等の通信回線を介してユーザに提供するようにしてもよいし、当該プログラムをCD−ROM(Compact Disc-Read Only Memory)などのコンピュータ読み取り可能な記録媒体に記録してユーザに提供するようにしてもよい。
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
100・・・動画像シーケンス100
101・・・分割部
102・・・制御部
103−1〜103−N・・・処理ユニット
103・・・記憶領域
104・・・CPU
105・・・記憶領域
106・・・ネットワーク
201・・・解析部
202・・・符号化部
101・・・分割部
102・・・制御部
103−1〜103−N・・・処理ユニット
103・・・記憶領域
104・・・CPU
105・・・記憶領域
106・・・ネットワーク
201・・・解析部
202・・・符号化部
Claims (9)
- 動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成する分割部と;
前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスのそれぞれを符号化する符号化部及び記憶領域を有し、(a)前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、(b)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、(c)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うように構成され、前記分割部からの前記分割画像シーケンスの単位時間当たりの転送画像数に対して単位時間当たりの符号化画像数が大きい複数の処理ユニットと;
一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、(d)前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、(e)前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御する符号化順序制御機能を有する制御部と;を具備することを特徴とする動画像符号化装置。 - 前記制御部は、前記処理ユニットのうち前記符号化時に前記分割画像シーケンスを受信して符号化を行っているユニットの数が(前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数)/(前記処理ユニットでの単位時間当たりの符号化画像数)を超えないように前記符号化順序を制御することを特徴とする請求項1記載の動画像符号化装置。
- 前記制御部は、さらに前記符号化時に前記処理ユニットのうちの任意のユニットに記憶されている分割画像シーケンスの全てと、前記処理ユニットのいずれにも記憶されていない分割画像シーケンスの全ての符号化が完了した後に、前記処理ユニットのうち前記任意のユニット以外のユニットに記憶されている分割画像シーケンスの符号化を行うように前記処理ユニットを制御することを特徴とする請求項2記載の動画像符号化装置。
- 前記制御部は、前記解析時に任意の処理ユニットの記憶領域の空きが無くなった場合に、解析を行っている処理ユニット数が(前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数)/(前記処理ユニットでの単位時間当たりの解析枚数)を下回らない限り前記任意の処理ユニットでの解析を行わないように前記処理ユニットを制御することを特徴とする請求項2または3のいずれか1項記載の動画像符号化装置。
- 動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成するステップと;
前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスを符号化する符号化部及び記憶領域を有する複数の処理ユニットが、(a)前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、(b)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、(c)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うステップと;
一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、(d)前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、(e)前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御するステップと;を具備することを特徴とする動画像符号化方法。 - 前記制御するステップは、前記処理ユニットのうち前記符号化時に前記分割画像シーケンスを受信して符号化を行っているユニットの数が(前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数)/(前記処理ユニットでの単位時間当たりの符号化画像数)を超えないように前記符号化順序を制御することを特徴とする請求項5記載の動画像符号化方法。
- 前記制御するステップは、さらに前記符号化時に前記処理ユニットのうちの任意のユニットに記憶されている分割画像シーケンスの全てと、前記処理ユニットのいずれにも記憶されていない分割画像シーケンスの全ての符号化が完了した後に、前記処理ユニットのうち前記任意のユニット以外のユニットに記憶されている分割画像シーケンスの符号化を行うように前記処理ユニットを制御するステップを有することを特徴とする請求項6記載の動画像符号化方法。
- 前記制御するステップは、さらに前記解析時に任意の処理ユニットの記憶領域の空きが無くなった場合に、解析を行っている処理ユニット数が(前記処理ユニットへの前記分割画像シーケンスの単位時間当たりの転送画像数)/(前記処理ユニットでの単位時間当たりの解析枚数)を下回らない限り前記任意の処理ユニットでの解析を行わないように前記処理ユニットを制御するステップを有することを特徴とする請求項6または7のいずれか1項記載の動画像符号化方法。
- 動画像シーケンスを時間方向に分割して複数の分割画像シーケンスを生成する分割部と;
前記分割画像シーケンスを解析して複雑度を求める解析部と前記複雑度に基づいて決定される符号量割り当てに従って前記分割画像シーケンスを符号化する符号化部及び記憶領域を有し、(a)前記解析時に前記記憶領域に空きがあれば前記分割画像シーケンスを前記記憶領域に記憶し、(b)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていれば前記記憶領域から前記分割画像シーケンスを読み込んで前記符号化を行い、(c)前記符号化時に前記分割画像シーケンスが前記記憶領域に記憶されていなければ前記分割部から前記分割画像シーケンスを受信して前記符号化を行うように構成された複数の処理ユニットと;
一部の分割画像シーケンスが前記処理ユニットの前記記憶領域のいずれにも記憶されていない場合に、(d)前記複数の処理ユニットの一部は前記記憶領域に記憶されている分割画像シーケンスから先に前記符号化を行い、(e)前記複数の処理ユニットの他の一部は前記分割部からの分割画像シーケンスから先に前記符号化を行うように前記処理ユニットの符号化順序を制御する符号化順序制御機能を有する制御部と;を具備する動画像符号化装置としてコンピュータを機能させるための動画像符号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007230470A JP2009065365A (ja) | 2007-09-05 | 2007-09-05 | 動画像符号化装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007230470A JP2009065365A (ja) | 2007-09-05 | 2007-09-05 | 動画像符号化装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009065365A true JP2009065365A (ja) | 2009-03-26 |
Family
ID=40559559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007230470A Pending JP2009065365A (ja) | 2007-09-05 | 2007-09-05 | 動画像符号化装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009065365A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011013852A (ja) * | 2009-06-30 | 2011-01-20 | Toshiba Corp | 情報処理装置及び並列動作制御方法 |
-
2007
- 2007-09-05 JP JP2007230470A patent/JP2009065365A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011013852A (ja) * | 2009-06-30 | 2011-01-20 | Toshiba Corp | 情報処理装置及び並列動作制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9247248B2 (en) | Mode searching and early termination of a video picture and fast compression of variable length symbols | |
JP4430711B2 (ja) | 縮小サイズまたはフルサイズでの再生を動的に選択的に行うための複数の独立した符号化チェーンを備えるビデオ符号化システム | |
US20090310678A1 (en) | Image encoding apparatus, method of controlling the same and computer program | |
US8194739B2 (en) | Trick play using temporal layering | |
JP2011077564A (ja) | 映像および音声データの符号化装置とその符号化方法、及びビデオ編集システム | |
JP5011017B2 (ja) | 画像復号化装置 | |
JP2007312002A (ja) | Mpegビデオ再生装置、およびmpegビデオ再生方法 | |
CN1574943A (zh) | 用于控制数字视频比特流逆向播放的装置和方法 | |
JP2009044537A (ja) | 映像ストリーム処理装置及びその制御方法、プログラム、記録媒体 | |
JP5396711B2 (ja) | 動画像復号装置、動画像復号方法及びプログラム | |
JP2006041898A (ja) | 動画像データ復号装置、および復号プログラム | |
JP2007251605A (ja) | 復号装置、復号方法、プログラムおよび記録媒体 | |
KR20110047700A (ko) | 복호화 가속화를 위한 엔트로피 부호화 방법과 그 장치 및 엔트로피 복호화 방법과 그 장치 | |
JP4875008B2 (ja) | 動画像符号化方法、動画像復号化方法、動画像符号化装置及び動画像復号化装置 | |
JP2009065365A (ja) | 動画像符号化装置、方法及びプログラム | |
US8538178B2 (en) | Image processing device and image processing method | |
KR101602871B1 (ko) | 데이터 부호화 방법 및 장치와 데이터 복호화 방법 및 장치 | |
JP4575344B2 (ja) | 縮小サイズまたはフルサイズでの再生を動的に選択的に行うための複数の独立した符号化チェーンを備えるビデオ符号化システム | |
KR20060109317A (ko) | 프로그램, 정보 처리 장치, 정보 처리 방법, 및 기록 매체 | |
JP2010034802A (ja) | 動画像符号化装置およびその制御方法 | |
JP2004350152A (ja) | 映像再生装置および映像再生方法 | |
JP2007158778A (ja) | トリック再生用コンテンツ作成方法および装置、トリック再生用圧縮動画データ送出方法および装置、およびトリック再生用コンテンツ作成用プログラム | |
JP5057872B2 (ja) | 情報処理装置およびプログラム | |
JP2011097488A (ja) | 映像圧縮符号化装置 | |
JP4786602B2 (ja) | 情報処理装置およびプログラム |