(57)【要約】【課題】限られたリソースで効率的に映像ストリームの並列復号処理を可能し、複数の映像ストリームを並列に再生処理する際に、時間的に変動する処理量が一時的に集中することにより起こる処理の遅延を解消することのできる映像ストリーム処理装置及びその制御方法、プログラム、記録媒体を提供する。【解決手段】入力された映像ストリームを選択する入力選択部１０１と、符号化情報を取得するストリーム解析部１０２と、復号処理を実行する復号部１０３と、復号されたフレームデータを記録する出力メモリ部１０４と、出力するフレームデータを選択する出力切替部１０５と、ディスプレイに表示画面を出力する画面出力部１０６と、復号処理の割り当てを行うスケジューリング部１０７と、出力画面を構成する出力画面制御部１０８とを備える。【選択図】図１
2009044537.tif 000002
【特許請求の範囲】
【請求項１】
複数の映像ストリームを選択する入力選択部と、前記選択された映像ストリームの復号処理を並列に実行する復号部とを備える映像ストリーム処理装置であって、
前記選択映像ストリームを解析して映像１フレームに関する符号化情報を取得するストリーム解析部と、
前記復号部における復号処理の負荷が時間的に均一となるように前記選択映像ストリームの復号処理の実行を前記符号化情報に応じて調整するスケジューリング部と、
を備えることを特徴とする映像ストリーム処理装置。
【請求項２】
表示画面における映像ストリームの表示形態を決定・変更する出力画面制御部を備え、
前記スケジューリング部は、前記出力画面制御部において決定・変更された前記表示画面における表示形態に応じて映像ストリームの再生順における優先度を決定・変更することを特徴とする請求項１に記載の映像ストリーム処理装置。
【請求項３】
前記ストリーム解析部は、映像ストリームにおけるフレームの符号化方式がフレーム内予測符号化またはフレーム間予測符号化のいずれかを示す情報を取得し、
前記スケジューリング部は、フレーム内予測符号化されたフレームの復号処理が時間的に分散するように復号処理の実行タイミングを調整することを特徴とする請求項１または２のいずれかに記載の映像ストリーム処理装置。
【請求項４】
前記スケジューリング部は、前記復号部における前記符号化されたフレームの復号処理にかかる負荷を評価して当該フレームの復号が実行可能かどうかを判定し、フレーム内予測符号化およびフレーム間予測符号化されたフレームの復号処理の実行を制御することを特徴とする請求項３に記載の映像ストリーム処理装置。
【請求項５】
前記ストリーム解析部は、映像ストリームにおける符号化されたフレームの符号量を算出し、
前記スケジューリング部は、前記符号量から当該フレームの符号化方式がフレーム内予測符号化またはフレーム間予測符号化のいずれであるかを推定し、フレーム内予測符号化と推定されたフレームの復号処理が時間的に分散するように復号処理の実行タイミングを調整することを特徴とする請求項１または２のいずれかに記載の映像ストリーム処理装置。
【請求項６】
前記スケジューリング部は、前記符号量から前記復号部における当該フレームの復号処理にかかる負荷を評価して当該フレームの復号が可能な復号部をその稼働率から決定することを特徴とする請求項５に記載の映像ストリーム処理装置。
【請求項７】
複数の映像ストリームを選択する入力選択部と、前記選択された映像ストリームの復号処理を並列に実行する復号部とを備える映像ストリーム処理装置の制御方法であって、
前記選択映像ストリームを解析して映像１フレームに関する符号化情報を取得するステップと、
前記符号化情報に応じ前記復号部における復号処理の負荷が時間的に均一となるように前記選択映像ストリームの復号処理の実行を調整するステップと、
を有することを特徴とする映像ストリーム処理装置の制御方法。
【請求項８】
請求項７に記載の映像ストリーム処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムをコンピュータ読み取り可能に記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の映像コンテンツを同時に画面に表示するための映像ストリーム処理装置及びその制御方法、プログラム、記録媒体に関する。
【背景技術】
【０００２】
放送のデジタル化によるチャンネル数の増加やブロードバンドの普及により、テレビ放送やＤＶＤパッケージ、さらにインターネットにおける配信など、世の中に流通する映像コンテンツの量は増加する傾向にある。さらに、ハードディスクドライブなどの記録媒体の大容量化が進み、家庭においてもより多くの映像コンテンツを記録蓄積できるようになり、関心のあるコンテンツはとりあえず記録しておくというように、家庭における映像の視聴スタイルも次第に変化してきている。
【０００３】
膨大な数の映像の中からユーザが目的のコンテンツを見つけ出せるようにするためには、大量の映像を一覧できるように提示する所謂マルチ表示が有効である。近年、特に目的の映像を直感的に選択可能とする動画サムネールのマルチ表示が注目されている。
【０００４】
動画サムネールのマルチ表示を実現するためには、データ量を圧縮するために映像信号を符号化したデジタル形式の映像ストリームを複数同時に復号して再生する必要がある。そのための技術が、たとえば特許文献１において提案されている。
【０００５】
図１４に、特許文献１に記載の従来技術に基づく映像ストリーム装置のブロック図を示す。入力選択部１４０１では、入力された映像ストリームに対して復号制御部１３１１で指定されたｊ個の映像ストリームが選択される。ｊの数に応じて復号部が決定され、出力されたストリームは決定された復号部に入力される。復号部の処理量は、復号部１４０３、１４０４は復号部１４０２の１／２の処理量、同じく復号部１４０５〜１４０７は１／ｊの処理量となるように、映像ストリーム数に応じて異なった処理量の復号部を起動させて復号処理を行うことで、全体の処理量を変えることなく複数の映像ストリームの復号処理を行っている。
【特許文献１】特許第３８６５１９０号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述の従来技術では、映像ストリームの数に応じた処理量の復号処理を割り当てている。映像ストリームの復号にかかる処理量は時間的に変動し、フレーム内予測符号化されたフレームの処理量がフレーム間予測符号化されたフレームよりも大きくなる傾向があることがわかっている。複数の映像ストリームを同時に復号する際に、処理量が大きいフレーム内予測符号化されたフレームの復号処理の実行タイミングが重なると一時的に負荷が集中するため、処理が遅延するという問題がある。従来技術では、この問題に対して処理量の大きいフレーム内予測符号化されたフレームの処理に合わせて処理量のマージンをとらざるを得ず、１映像ストリーム当りの処理量を多く見積もることから必要以上に処理量の少ない復号手段を選択するという問題がある。
【０００７】
本発明は、以上のような問題点を解決するためになされたものであって、その課題は、必要以上に処理量の少ない復号手段を選択することなく復号処理に適切な処理量を割り当てることで、限られたリソースを有効に利用し、再生品質または再生可能ストリーム数を向上させることにある。
【課題を解決するための手段】
【０００８】
本発明に係る映像ストリーム処理装置は、複数の映像ストリームを選択する入力選択部と、前記選択された映像ストリームの復号処理を並列に実行する復号部とを備える映像ストリーム処理装置であって、前記選択映像ストリームを解析して映像１フレームに関する符号化情報を取得するストリーム解析部と、前記復号部における復号処理の負荷が時間的に均一となるように前記選択映像ストリームの復号処理の実行を前記符号化情報に応じて調整するスケジューリング部と、を備えることを特徴とする。
【０００９】
また、表示画面における映像ストリームの表示形態を決定・変更する出力画面制御部を備え、前記スケジューリング部は、前記出力画面制御部において決定・変更された前記表示画面における表示形態に応じて映像ストリームの再生順における優先度を決定・変更することを特徴とする。
【００１０】
また、前記ストリーム解析部は、映像ストリームにおけるフレームの符号化方式がフレーム内予測符号化またはフレーム間予測符号化のいずれかを示す情報を取得し、前記スケジューリング部は、フレーム内予測符号化されたフレームの復号処理が時間的に分散するように復号処理の実行タイミングを調整することを特徴とする。
【００１１】
また、前記スケジューリング部は、前記復号部における前記符号化されたフレームの復号処理にかかる負荷を評価して当該フレームの復号が実行可能かどうかを判定し、フレーム内予測符号化およびフレーム間予測符号化されたフレームの復号処理の実行を制御することを特徴とする。
【００１２】
また、前記ストリーム解析部は、映像ストリームにおける符号化されたフレームの符号量を算出し、前記スケジューリング部は、前記符号量から当該フレームの符号化方式がフレーム内予測符号化またはフレーム間予測符号化のいずれであるかを推定し、フレーム内予測符号化と推定されたフレームの復号処理が時間的に分散するように復号処理の実行タイミングを調整することを特徴とする。
【００１３】
また、前記スケジューリング部は、前記符号量から前記復号部における当該フレームの復号処理にかかる負荷を評価して当該フレームの復号が可能な復号部をその稼働率から決定することを特徴とする。
【００１４】
また、本発明に係る映像ストリーム処理装置の制御方法は、複数の映像ストリームを選択する入力選択部と、前記選択された映像ストリームの復号処理を並列に実行する復号部とを備える映像ストリーム処理装置の制御方法であって、前記選択映像ストリームを解析して映像１フレームに関する符号化情報を取得するステップと、前記符号化情報に応じ前記復号部における復号処理の負荷が時間的に均一となるように前記選択映像ストリームの復号処理の実行を調整するステップとを有することを特徴とする。
【００１５】
また、本発明に係るプログラムは、前記映像ストリーム処理装置の制御方法をコンピュータに実行させることを特徴とする。
【００１６】
また、本発明に係る記録媒体は、前記プログラムをコンピュータ読み取り可能に記録したことを特徴とする。
【発明の効果】
【００１７】
以上のような各技術手段から構成される本発明によれば、映像ストリームを構成するフレームの符号化方式に応じて適応的に復号処理の実行順を調整するため、または復号に必要な処理量を割り当てるため、予め決まった処理量の復号手段を用いずに済む。したがって、Ｉピクチャの処理量に合わせて１映像ストリームの処理量を大きくとらずに済むため、必要以上に処理量の少ない復号手段を選択することなく復号処理に適切な処理量を割り当てることで限られたリソースを有効に利用し、再生品質または再生可能ストリーム数を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態について、図面を参照しながら説明する。同一の符号を付した部分は同一物を表す。
【００１９】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る映像ストリーム処理装置１００の構成例を示すブロック図である。
【００２０】
図１に示すように、映像ストリーム処理装置１００は、入力選択部１０１と、ストリーム解析部１０２と、復号部１０３と、出力メモリ部１０４と、出力切替部１０５と、画面出力部１０６と、スケジューリング部１０７と、出力画面制御部１０８とを含んで構成される。
【００２１】
なお本発明の構成要素である各部は、たとえば、マイクロプロセッサ、メモリ、バス、インターフェイス、周辺装置などから構成されるハードウェアと、これらのハードウェア上にて実行可能なソフトウェアにより実現される。
【００２２】
このような構成により、映像ストリーム処理装置１００は、入力選択部１０１を介して入力された複数の映像ストリームを並列に復号し、ディスプレイ画面において同時に閲覧・視聴可能な形態で画面出力部１０６から出力する。ここで、映像ストリームの表示形態、つまりディスプレイ画面にどのように表示するかは、出力画面制御部１０８が決定する。ディスプレイ画面への表示には、たとえば１映像ストリームの再生表示、主画面と子画面の２画面表示、大容量のレコーダ装置やビデオオンデマンドなどで用いられているような、視聴可能な映像の一覧のマルチ表示などがある。表示する映像ストリームは、スケジューリング部１０７を介して、入力選択部１０１にて選択される。
【００２３】
入力選択部１０１は、記録メディアとその読み取り装置から構成される記録手段（たとえばハードディスクドライブなど）および／または通信路を介してデータの送受信を行う通信手段（たとえばＬＡＮなど）といった外部デバイスに接続し、前記外部デバイスから入力可能な映像ストリームからｎ個（ｎは自然数）の映像ストリームを選択し、映像ストリーム＃１〜＃ｎとしてストリーム解析部１０２に対して出力する。ここで１〜ｎの数字は再生順を示し、数字の小さい方が再生順において優先度がより高く設定されている。つまり１が最も優先度が高く、ｎが最も優先度が低い。
【００２４】
選択された映像ストリーム＃１〜＃ｎは入力選択部１０１からストリーム解析部１０２に出力される。ストリーム解析部１０２では、映像ストリーム＃１〜＃ｎから、映像１フレームまたは１フィールドに関する符号化情報（とくにヘッダ部の情報）を取得する。この符号化情報はスケジューリング部１０７で利用される。また符号化情報取得後の１フレームまたは１フィールド分の符号化データは内部のバッファに記憶され、処理状況に応じて復号部１０３により読み出される。フレームはビデオ信号の画面情報を表す複数ラインにより構成される。インターレースビデオの場合にはフレームは２つのフィールドにより構成される。ＭＰＥＧなどの符号化技術では、フレームまたはフィールドを表す用語として一般にピクチャが用いられることもある。以下では特に断りのない限り、フィールドの概念を含んだものとしてフレームをピクチャと同義に扱う。
【００２５】
ストリーム解析部１０２の構成例を図２に示す。ストリーム解析部１０２は、分離部２０１、バッファ部２０２、スタートコード検出部２０３、ヘッダ復号部２０４と含んで構成される。
【００２６】
ストリーム解析部１０２に入力された映像ストリームには映像（以下、動画像とする）、音声、文字やその他の付加情報など複数種類のストリームが多重化されており、そのうち動画像のストリームのみが分離部２０１において分離される。スタートコード検出部２０３は、動画像のストリームからスタートコードを示す特定のパターンを検出し、フレーム階層のヘッダ部を見つけ出す。ヘッダ復号部２０４は、フレーム前記ヘッダ部を復号し、符号化情報（たとえばピクチャ符号化タイプ）を得る。バッファ部２０２にはフレームの符号化データがスタートコード検出部２０３で相前後する２つのスタートコードが検出されたとき、これらのスタートコード間のデータがフレームの符号化データである。
【００２７】
復号部１０３は、スケジューリング部１０７の制御により、ストリーム解析部１０２のバッファ部２０２からフレームの符号化データを読み出して復号処理を施し、フレームデータを再構成する。符号化データから再構成後のフレームデータを出力メモリ部１０４に対して出力する。フレームデータは出力メモリ部１０４に保存される。復号部１０３に設けられる復号部＃ｉ（ｉは１からｎまでの自然数である）は演算量の異なる複数の復号アルゴリズムを実行可能に構成され、さらに処理の優先度を指定可能である。
【００２８】
出力切替部１０５は、出力画面制御部１０８からの制御に従い、画面出力部１０６に出力する映像ストリームのフレームデータを出力メモリ部１０４から選択する。フレームデータ＃１〜＃ｎが配置や表示順に応じて読み出される。
【００２９】
以上のように、映像コンテンツを選択し、選択した映像コンテンツを表示するに当たり、複数の映像ストリームの復号処理の負荷を時間に対して均一化するための制御がスケジューリング部１０７によりなされる。次に、スケジューリング部１０７について、図３〜図６を参照して説明する。
【００３０】
図３はスケジューリング部１０７の構成例を示すブロック図である。図３に示すように、スケジューリング部１０７は、復号制御部３０１と、処理管理部３０２と、負荷評価部３０３と、再生順決定部３０４とを含んで構成される。復号制御部３０１は、復号部１０３の動作を制御する。処理管理部３０２は、映像ストリーム＃１〜＃ｎを復号する復号部１０３内の復号部＃１〜＃ｎの復号処理について実行タイミングを調整するなど実行状態を管理する。負荷評価部３０３は、復号部１０３における復号処理の処理量を推測し、たとえばＣＰＵの負荷を評価する。再生順決定部３０４は、出力画面制御部１０８の指定に基づき、映像ストリームの再生順を決定する。
【００３１】
図４〜図６はスケジューリング部１０７の処理の流れを示すフローチャートである。まず図４を参照して、スケジューリング部１０７の処理の全体の流れを説明する。
【００３２】
出力画面制御部１０８から、再生対象の映像ストリームと、表示順が指定されて、スケジューリング部１０７の処理が開始する。まず、ステップ（ＳＴ）４００では、再生順決定部３０４が映像ストリームの再生順を決定する。これは、出力画面制御部１０８から与えられた映像ストリームの表示形態（たとえば配置や画面構成、サムネールの表示順）に基づき決定する。表示形態の例を図７に示す。この例では、映像ストリームに対応させたサムネールを５行６列の行列上に３０個配置した構成である。サムネールの表示順とは、これら３０個のサムネールに対して表示される順序を指定するものである。また図７においてサムネールを囲む太枠はカーソルであり、サムネールの指定に使用される。再生順はたとえば表示順でもよいし、画面の中央付近に位置するほど再生順における優先度を高くしてもよい。入力選択部１０１は、この再生順にしたがって映像ストリームを選択する。また、処理管理部３０２は処理テーブルを生成する（ＳＴ４０１）。処理テーブルの例を図８に示す。この例では、処理テーブルの各エントリーはストリーム番号８０１と実行状態８０２とピクチャ符号化タイプ８０３のフィールドを有し、映像ストリーム数だけのエントリーにより構成される。
【００３３】
処理管理部３０２は、映像ストリームの再生順（＃１から＃ｎの順）にフレームの復号処理を実行するか否かを決定する。まず映像ストリーム＃ｉに対する復号処理の実行状態を調べるために処理テーブルを参照する（ＳＴ４０２）。続くＳＴ４０３で、参照の結果から実行状態が停止であるかを判断する。実行状態が停止の場合には処理がＳＴ４０４に進み、それ以外の場合には処理がＳＴ４０７に進む。ＳＴ４０４では、処理管理部３０２は、ストリーム解析部１０２から処理対象の映像ストリーム＃ｉのフレームに対する符号化情報を取得する。ＳＴ４０５では、符号化情報と他の復号処理の実行状態とに応じて復号処理を実行する。このとき、復号処理の実行が可能かどうかの判定を処理管理部３０２が行い、実行可能ならば復号制御部３０１が復号部１０３における復号処理を実行するように制御し、そうでなければ復号処理を待機とする。ＳＴ４０６では、ＳＴ４０３〜４０５が各映像ストリームについて（つまり全てのｉについて）処理済かどうかを判定し、映像ストリーム＃１〜＃ｎについて処理済ならば処理が次のＳＴ４０７に進み、そうでなければ処理がＳＴ４０３に進む。
【００３４】
ここまでが復号部１０３の復号処理を開始するための制御に関する処理である。ＳＴ４０７で本処理の終了の判定を行う。処理終了は、全ての映像ストリームについて復号処理が終了する場合、ユーザの操作等の外的要因による終了が該当する。終了の要因がなければ（ＳＴ４０７でＮＯを選択する場合）、処理が次のＳＴ４０８に進む。以降の処理では、復号部１０３で実行されている復号処理が終わるのを待ってからの制御である。
【００３５】
ＳＴ４０８では、復号部１０３から復号処理の終了通知があるかどうかを処理管理部３０２が判定する。終了通知があれば処理がＳＴ４０９に進み、そうでなければ処理がＳＴ４０７に進む。つまり終了通知がなければ繰り返し終了が通知されるのを待つ。ＳＴ４０９では、処理管理部３０２は、前述のＳＴ４０５で待機とされた復号処理について再度実行が可能かどうかの判定を行い、実行可能ならば復号処理を実行し、そうでなければ復号処理を待機させる。ＳＴ４１０では、各映像ストリーム＃ｉについてＳＴ４０９が処理済みかどうかを判定し、映像ストリーム＃１〜＃ｎについて処理済ならば処理がＳＴ４０２に進み、そうでなければ処理がＳＴ４０９に進む。
【００３６】
以上のように、映像ストリームの復号処理の実行状態により、適宜実施可能な復号処理を実行させることができる。
【００３７】
図５は、前述のＳＴ４０５の処理の流れを示すフローチャートである。ＳＴ４０５では、まず符号化情報からフレームの予測符号化方法により処理を分岐させる（ＳＴ５００）。ここで予測符号化方法とは、フレーム内だけで前後のフレームと無関係に符号化するフレーム内予測符号化、フレーム間の予測によってフレーム間の差分を符号化するフレーム間予測符号化のいずれかである。ここで、フレームの予測符号化方法をピクチャ符号化タイプと、またフレーム内予測符号化されたフレームをＩピクチャと呼ぶ。ＳＴ５００では、映像ストリーム＃ｉの符号化されたフレームがＩピクチャならばＹＥＳが選択され処理がＳＴ５０１に進み、そうでなければＮＯが選択されて処理がＳＴ５０２に進む。
【００３８】
ＳＴ５０１では、処理管理部３０２は処理テーブルを参照し、既に実行されている他の映像ストリームの復号処理についてピクチャ符号化タイプを調べる。既に他にＩピクチャの復号処理が実行されていなければ、映像ストリーム＃ｉの復号処理を実行可能とする。もし、既にＩピクチャの復号処理が実行されていたら、映像ストリーム＃ｉの復号処理は実行不可とする。
【００３９】
ＳＴ５０２では、負荷評価部３０３が復号部１０３の負荷量を見積り、処理管理部３０２は負荷量に基づきフレームの復号処理が実行可能かどうかを判定する。ここで負荷評価部３０３は処理管理部３０２の処理テーブルを参照し、映像ストリーム＃ｉの復号処理にかかる負荷量の増加を見積る。負荷量はピクチャ符号化タイプの他、復号処理のアルゴリズムに依存するので、再生順（つまり映像ストリームの番号であるｉ）などを考慮して複数の復号アルゴリズムの処理量を見積ることで、適切な負荷量を評価する。処理管理部３０２は遅延なく復号可能ならば映像ストリーム＃ｉの復号処理を実行可能とする。もし、これ以上の負荷量が増やせなければ、映像ストリーム＃ｉの復号処理は処理不可能とする。なお、負荷軽減の一手法として再生順における優先度が低い場合（本実施形態ではｉの値が大きい場合）にはＩピクチャのみを復号処理の対象とするように制御を行ってもよい。また、ここまでの説明では、処理管理部３０２はＩピクチャの復号処理の実行タイミングを全く重ならないように制御するものとしているが、復号部１０３の処理量により許される範囲で複数Ｉピクチャの復号処理が重なるように制御してもよい。
【００４０】
前述のようにピクチャ符号化タイプの違いにより、ＳＴ５０１およびＳＴ５０２において行ったように復号処理が実行可能かどうかの判定基準をそれぞれ設ける。そして、実行可能であると判定されたならば（ＳＴ５０３）、復号制御部３０１は復号処理のアルゴリズムおよび実行時の優先度（たとえば高、通常、低など）を指定して復号処理を実行し、映像ストリーム＃ｉの実行状態を“実行”とする（ＳＴ５０４）。実行不可の場合には、映像ストリーム＃ｉの実行状態を“待機”とする。最後に処理テーブルの実行状態を更新し（ＳＴ５０６）、ＳＴ４０５の処理を終了する。
【００４１】
図６は前述のＳＴ４０９の処理の流れを示すフローチャートである。ＳＴ４０９では、映像ストリームの再生順にしたがって、実行状態が“待機”の復号処理を実行させる。まず、処理管理部３０２は、処理テーブルを参照して映像ストリーム＃ｉの実行状態を取得する（ＳＴ６００）。取得した実行状態が“待機”か否かを判定し（ＳＴ６０１）、待機中ならば処理がＳＴ６０２に進み、そうでなければＳＴ４０９は終了する。ＳＴ６０２では、前述のＳＴ５００〜５０３と同様にして、待機中であった映像ストリーム＃ｉの復号処理が実行可能か判断される。ＳＴ６０３〜６０５の処理は前述のＳＴ５０４〜５０６と同様であるため説明は省略する。
【００４２】
図９（Ａ）にスケジューリング部１０７の処理例としてｎ個の映像ストリームを処理する場合の例を示す。図９（Ａ）において、アルファベットのＩはＩピクチャを、ＰはＰピクチャ（フレーム間予測符号化のうち順方向予測符号化されたフレームをさす）を、ＢはＢピクチャ（フレーム間予測符号化のうち双方向予測または双予測符号化されたフレームをさす）を表す。各映像ストリーム＃ｉにおけるピクチャ符号化タイプの並びはＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢ・・・のパターンが繰り返されるとする。横軸は時間を表し、各フレームの復号処理は一定時間内で終了するものとしている。つまり、この場合には単位時間の処理量がピクチャ符号化タイプによって異なっていることになる。
【００４３】
スケジューリング部１０７は、まず時刻ｔ１において映像ストリーム＃１の先頭のＩピクチャの復号処理を実行し、他の映像ストリームの処理は待機状態とする。その後、一定時間が経過し、映像ストリーム＃１のＩピクチャの復号処理が終了すると、時刻ｔ２において待機状態であった映像ストリーム＃２のＩピクチャの復号処理を実行する。ここで、映像ストリーム＃３〜＃ｎまでの処理は再び待機状態となる。映像ストリーム＃１は停止状態であるが、次の復号処理の対象がＰピクチャである。そのためスケジューリング部１０７は、映像ストリーム＃１の復号処理を実行し、停止状態から実行状態とする。以上のようにして、時刻ｔ３以降も映像ストリーム＃３以下＃ｎの復号処理が順次実行され、処理量の許す範囲内で並列に処理がなされる。同じ条件で、全ての映像ストリームを同時に復号した場合、図９（Ｂ）に示すように、相対的に多くの処理量を必要とするＩピクチャの復号処理が同じ時刻で重なるため、同時に復号処理を行える映像ストリーム数が制限される（ここでｍ＜ｎである）。Ｉピクチャ、Ｐピクチャ、Ｂピクチャの復号処理に要する処理量の比は、およそ９：５：６と見積もることができると計算機シミュレーションによりわかっており、図９（Ｂ）に示したように全ての映像ストリームを同時に並列に処理したときに８つの映像ストリームを復号できる処理量があった場合、図９（Ａ）のように時間をずらすことで１２の映像ストリーム（Ｉピクチャ１、Ｐピクチャ４、Ｂピクチャ７）を復号することができる。
【００４４】
なお、ストリーム解析部１０２はフレームのヘッダ部を復号して得られる情報を、復号対象のフレームの符号化情報として取得し、スケジューリング部１０７はフレームの符号化情報（ピクチャ符号化タイプなど）から当該フレームの復号処理を実行するかどうかを判断している。符号化されたフレームのデータ量（符号量）は、一般にＩピクチャが多く、Ｐ、Ｂピクチャは相対的にＩピクチャよりも少なくなっている。これは、符号化時の条件にもよるがＩピクチャでは全てのマクロブロックが符号化されているのに対して、Ｐ、Ｂピクチャでは符号化がスキップされたマクロブロックについてはデータがないためである。したがって、符号量の違いによって、これから復号しようとしているフレームのピクチャ符号化タイプを決定することができる。そのため、ストリーム解析部１０２で符号化情報を復号しなくとも、符号量とピクチャ符号化タイプとの対応付けが可能である。そこで、スケジューリング部１０７は符号化情報としてピクチャ符号化タイプの変わりに、フレームの符号量または符号量に対応付けられたピクチャ符号化タイプの推定値を用いて、復号処理のスケジューリングをしてもよい。なおフレームの符号量は、スタートコード検出部２０３において処理したデータ量をカウントすることで得ることができる。なお、本発明に係る映像ストリーム処理装置に入力される映像ストリームの書式として、ピクチャ符号化タイプやフレーム当りの符号量のようにフレームの復号に要する処理量を間接的に、または直接的に示すため情報を格納するフィールドを設けるようにしてもよい。また、映像ストリームを生成する装置において、映像ストリームをパケット化する際に、パケットに含むフレームについて前述の情報を付加情報として持たせて１つの映像ストリームとしてもよい。
【００４５】
また、前述のように、スケジューリング部１０７は出力画面制御部１０８から与えられた映像ストリームの配置や画面構成に基づき映像ストリームの再生順を決定する。再生順は復号処理の開始後に決定するだけでなく、復号処理中に映像ストリーム処理装置に与えられるユーザの操作状況に応じて出力画面制御部１０８が表示形態を変更し、それに合わせてスケジューリング部１０７は復号処理中に再生順を変更してもよい。たとえば、画面出力部１０６から出力される動画サムネールのマルチ表示において、ユーザが注目する領域（カーソル位置）からのマルチ表示距離（選択領域からの距離）が離れているほど再生順における優先度を低くするようにしてもよいし、または、重要でないシーンのとき再生順における優先度を低くするようにしてもよい。シーンの重要/非重要の判定は、たとえばユーザの視聴履歴/興味の度合い/現在検索中のテーマとの一致度などにより行う。
【００４６】
以上のように、本実施形態によれば、同一の時間帯において、処理負荷の大きいＩピクチャの復号処理ができるだけ重ならないように、ピクチャ符号化タイプに応じて復号処理の実行タイミングを分散させるように調整する。このため、限られたリソースであっても必要以上に復号処理に割り当てる処理量を減らすことなく、複数の映像ストリームの再生を効率的に実行することができる。そのため、同時に再生できる映像ストリーム数を多くしたり、再生品質を向上したりすることが可能となる。
【００４７】
＜第２の実施形態＞
図１０は、本発明の第２の実施形態に係る映像ストリーム処理装置２００の構成例を示すブロック図である。図１０に示すように、映像ストリーム処理装置２００は、入力選択部１０１と、ストリーム解析部１０２と、入力切替部１１０と、復号部１１１、１１２と、出力メモリ部１０４と、出力切替部１０５と、画面出力部１０６と、スケジューリング部１１３と、出力画面制御部１０８とを含んで構成される。なお、復号部１１１、１１２は前述の復号部１０３と同一の構成である。
【００４８】
さらにスケジューリング部１１３の構成例を示すブロック図を図１１に示す。スケジューリング部１１３は、復号制御部３０１と、負荷評価部３０３と、再生順決定部３０４と、処理管理部３０５とを含んで構成される。処理管理部３０５は、入力切替部１１０を制御することで復号部１１１、１１２への映像ストリーム＃１〜＃ｎの入力を調整し、復号する復号部１１１、１１２内の復号処理の割り当てを行う。
【００４９】
このような構成により、映像ストリーム処理装置２００は、入力選択部１０１を介して入力された複数の映像ストリームを並列に復号し、ディスプレイ画面で同時に閲覧・視聴可能な形態で画面出力部１０６から出力する。ここまでの機能は第１の実施形態と同様である。複数の復号部を備え、入力された複数の映像ストリームの復号処理をいずれの復号部により行うかを入力切替部により調整する点が異なる。
【００５０】
入力選択部１０１により、ｎ個の映像ストリームが入力可能な映像ストリームから選択され、映像ストリーム＃１〜＃ｎとしてストリーム解析部１０２に対して出力される。ストリーム解析部１０２では、映像ストリーム＃１〜＃ｎが処理され、１フレームの符号化データの符号量が算出される。映像ストリームは内部のメモリに記憶され、処理状況に応じて復号部１０３により読み出される。ここまでの動作は第１の実施形態と同様である。
【００５１】
映像ストリーム＃１〜＃ｎの１フレーム分の符号量はスケジューリング部１１３に入力される。このときのスケジューリング部１１３の処理のフローチャートを図１２に示す。スケジューリング部１１３では、再生順決定部３０４が映像ストリームの再生順を決定し（ＳＴ１２００）、処理管理部３０５が処理テーブルを生成する（ＳＴ１２０１）。処理テーブルの例を図１３に示す。この例では、ストリーム番号１３０１と復号部番号１３０２と処理量１３０３のフィールドを含んで構成されるエントリーを映像ストリーム数だけもつ。
【００５２】
次にＳＴ１２０２において、処理管理部３０５が映像ストリーム＃ｉの１フレームに関する符号化情報（符号量）を取得する。次に負荷評価部３０３は処理管理部３０５が取得した符号量から想定される復号処理の処理量を決定すると共に、処理テーブルの処理量１３０３から復号部１１１、１１２における現時点での負荷量をそれぞれ評価する（ＳＴ１２０３）。
【００５３】
ＳＴ１２０４では、処理管理部３０５は復号処理の実行が可能かどうか、および実行する場合に複数の復号部のうちいずれに復号処理を割り当てるかの選択を、負荷評価部３０３の評価結果に従い判定する。復号処理の割り当ては、たとえば、複数の復号部に対してある順番で行ってもよいし、予め決められた処理能力の大きさに従う重み付けに応じて行ってもよいし、最大処理能力を超えるまで１つの復号部に対して行ってもよいし、稼働率が低いものから順に行ってもよい。ここで、復号処理が実行可能と判定された場合（ＳＴ１２０４でＹＥＳの場合）には、処理がＳＴ１２０５に進み、復号処理が実行不可と判定された場合（ＳＴ１２０４でＮＯの場合）には、復号処理を待機状態とし、処理がＳＴ１２０７に進む。
【００５４】
ＳＴ１２０５では、処理管理部３０５は映像ストリーム＃ｉの符号化データが先のＳＴ１２０４において選択した復号部に入力されるように入力切替部１１０を制御する。復号制御部３０１は復号処理のアルゴリズムおよび実行時の優先度を指定して復号処理を実行し、実行後処理管理部３０５は処理テーブルを更新する（ＳＴ１２０６）。
ＳＴ１２０８では、処理管理部３０５は映像ストリーム＃１〜＃ｎの全再生（復号処理）が終了したか否かを判定する（ＳＴ１２０８）。全映像ストリームの再生が終了した場合（ＹＥＳの場合）は処理を終了し、全映像ストリームの再生が終了していない場合（ＳＴ１２０８においてＮＯの場合）には処理がＳＴ１２０２に進む。
【００５５】
一方、ＳＴ１２０７では、復号部１１１、１１２から復号処理の終了通知があるかどうかを判定する。終了通知があれば（ＹＥＳの場合）処理がＳＴ１２０３に進み、そうでなければ（ＮＯの場合）、繰り返し終了が通知されるのを待つ。
【００５６】
以上のように、映像ストリームの復号処理にかかる処理量から、適宜実施可能な復号部を選択して復号処理を実行させることができる。
【００５７】
なお、本発明の実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を装置に供給し、マイクロプロセッサまたはＤＰＳによりプログラムコードが実行されることによっても本発明の目的が達成される。この場合、ソフトウェアのプログラムコード自体が本実施形態の機能を実現することになり、プログラムコードを記録した記録媒体は本発明を構成することになる。
【００５８】
以上、本発明の実施形態について説明したが、本発明の映像ストリーム処理装置及びその制御方法、プログラム、記録媒体は、上記の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々の変更を加えうることは勿論である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態に係る映像ストリーム処理装置の構成例を示すブロック図である。
【図２】本発明の実施の形態に係る映像ストリーム処理装置の構成例を示すブロック図である。
【図３】本発明の実施の形態に係る映像ストリーム処理装置の構成例を示すブロック図である。
【図４】本発明の実施の形態に係る映像ストリーム処理装置の動作例を示すフローチャートである。
【図５】本発明の実施の形態に係る映像ストリーム処理装置の動作例を示すフローチャートである。
【図６】本発明の実施の形態に係る映像ストリーム処理装置の動作例を示すフローチャートである。
【図７】本発明の実施形態に係る映像ストリームの表示形態の例を示す図である。
【図８】本発明の実施の形態に係る処理テーブルの例を示す図である。
【図９】本発明の実施の形態に係る復号処理の実行順を示す図である。
【図１０】本発明の実施の形態に係る映像ストリーム処理装置の構成例を示すブロック図である。
【図１１】本発明の実施の形態に係る映像ストリーム処理装置の構成例を示すブロック図である。
【図１２】本発明の実施の形態に係る復号処理の実行順を示すフローチャートである。
【図１３】本発明の実施の形態に係る処理テーブルの例を示す図である。
【図１４】従来技術による映像ストリーム処理装置の構成例を示すブロック図である。
【符号の説明】
【００６０】
１００  映像ストリーム処理装置
１０１  入力選択部
１０２  ストリーム解析部
１０３、１１１、１１２  復号部
１０４  出力メモリ部
１０５  出力切替部
１０６  画面出力部
１０７、１１３  スケジューリング部
１０８  出力画面制御部
１１０  入力切替部
【図１】
2009044537.tif 000003
【図２】
2009044537.tif 000004
【図３】
2009044537.tif 000005
【図４】
2009044537.tif 000006
【図５】
2009044537.tif 000007
【図６】
2009044537.tif 000008
【図７】
2009044537.tif 000009
【図８】
2009044537.tif 000010
【図９】
2009044537.tif 000011
【図１０】
2009044537.tif 000012
【図１１】
2009044537.tif 000013
【図１２】
2009044537.tif 000014
【図１３】
2009044537.tif 000015
【図１４】
2009044537.tif 000016