(57)【要約】【課題】効率的にストリームデータをデコード処理するマルチコアのストリーミングプロセッサおよび効率的にストリームデータをデコード処理するプロセッサシステムを提供する。【解決手段】１つの汎用プロセッサコア１１と複数の演算用プロセッサコア１２とを有し、符号化ストリームの復号処理を複数の処理をそれぞれの演算用プロセッサコア１２に割り当て処理することにより並列処理を行うストリーミングプロセッサ１０であって、ストリーム情報をもとに、ストリーム毎の処理負荷を予測し、予測した前記処理負荷をもとに、それぞれの演算用プロセッサコア１２が行う処理を割り当てるストリーム解析部を有する。【選択図】  図４
2010141821.tif 000002
【特許請求の範囲】
【請求項１】
１つの汎用プロセッサコアと複数の演算用プロセッサコアとを有し、符号化されたストリームを復号するための複数の処理をそれぞれの前記演算用プロセッサコアに割り当てて並列処理を行うストリーミングプロセッサであって、
前記ストリームのストリーム情報をもとに、前記ストリーム毎の処理負荷を予測する処理負荷予測処理、および、予測した前記処理負荷をもとに、それぞれの前記演算用プロセッサコアが行う処理を割り当てる割り当て処理、を行う、ストリーム解析手段を有することを特徴とするストリーミングプロセッサ。
【請求項２】
前記ストリーム情報と前記処理負荷との対応テーブル、および、前記処理負荷と使用する前記演算用プロセッサコアの数との対応テーブルを有し、
前記ストリーム解析手段が、前記ストリーム情報と処理負荷との対応テーブルから前記処理負荷を予測し、前記処理負荷と使用する前記演算用プロセッサコアの数との対応テーブルから、前記割り当て処理を行うことを特徴とする請求項１に記載のストリーミングプロセッサ。
【請求項３】
前記符号化されたストリームが、Ｈ．２６４方式により符号化処理されたデータであり、
前記ストリーム情報が、プロファイル、レベル、マクロブロックサイズ、およびエントロピー符号化モードであることを特徴とする請求項２に記載のストリーミングプロセッサ。
【請求項４】
前記ストリーム情報が、さらにビットレートを含むことを特徴とする請求項３に記載のストリーミングプロセッサ。
【請求項５】
請求項１から請求項４のいずれか１項に記載のストリーミングプロセッサと、
前記ストリーミングプロセッサに前記符号化されたストリームを入力する入力装置と、
前記ストリーミングプロセッサから入力する復号されたストリームを出力する出力装置と、
前記複数の処理のプログラム、前記ストリーム情報と処理負荷との対応テーブル、および前記処理負荷と使用する演算用プロセッサコアの数との対応テーブル、を記憶する記憶装置と、を有することを特徴とするプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリームを並列処理するマルチコアのストリーミングプロセッサおよび前記ストリーミングプロセッサを有するプロセッサシステムに関する。
【背景技術】
【０００２】
デジタル動画の配信、例えば、デジタルテレビ放送においては、データ送信に必要な帯域を低減するために、データ圧縮を含む効率的な符号化技術が不可欠となっている。例えば、符号化方法として、２００３年５月に国際電気通信連合によって勧告された動画データの圧縮符号化方式の標準である「Ｈ．２６４」は、デジタルテレビ放送等に広く使用されている。
【０００３】
符号化されたデジタル動画は、受信器で復号処理、すなわちデコード処理され、表示装置に表示される。ここで、図１は、Ｈ．２６４により符号化されたストリーム、すなわち連続した画像データおよび音声データ等、の復号処理（以下、「デコード処理」ともいう。）を説明するための図である。すなわち、Ｈ．２６４符号化ストリームは、エントロピー復号処理Ｓ１０、逆量子化処理Ｓ１１、逆ＤＣＴ処理Ｓ１２、動き補償処理Ｓ１３、メモリ記憶処理Ｓ１４等の複数の処理を経て、復号ストリームとして出力される。なお、前記処理は、それぞれの処理のプログラムをプロセッサが実行することにより行われる。
【０００４】
そして、デコード処理では、配信されるストリームをリアルタイムで処理しなければならない。限られた時間内で処理するために、１つの汎用プロセッサコアと複数の演算用プロセッサコアとを有するマルチコアプロセッサを用いて、復号処理の複数の処理をそれぞれの演算用プロセッサコアに割り当てる割り当て処理することによって、並列処理を行うストリーミングプロセッサが開発されている。
【０００５】
例えば、図２に示すプロセッサシステム１０１は入力装置１０２と、出力装置１０３と、ストリーミングプロセッサ１１０とを有している。ストリーミングプロセッサ１１０は、１個の汎用プロセッサコア１１１と、７個の演算用プロセッサコア１１２Ａ〜１１２Ｇを有するマルチコアプロセッサである。ストリーミングプロセッサ１１０は、演算用プロセッサコア１１２Ａにストリーム分離処理を、演算用プロセッサコア１１２Ｂ〜１１２Ｄにデコード処理Ａを、演算用プロセッサコア１１２Ｅにデコード処理Ｂおよびデコード処理Ｃを、演算用プロセッサコア１１２Ｆにデコード処理Ｄを、演算用プロセッサコア１１２Ｇに音声デコード処理を、割り当て処理している。
【０００６】
ここで、デコード処理Ａ〜Ｄは、図１で説明したエントロピー復号処理を初めとする処理のいずれかに相当する処理である。すなわち、エントロピー復号処理、逆量子化処理、動き補償処理等の復号過程の各処理は個別のプログラムに分割されている。分割されたそれぞれの処理プログラムを別々の演算用プロセッサコアのメモリに読み込み、複数の演算用プロセッサコアを並列に動作させることで、ストリーミングプロセッサ１１０は高速なリアルタイムデコード処理を実現している。
【０００７】
ストリーミングプロセッサ１１０では、デコード過程のそれぞれの処理がどの演算用プロセッサコア１０２Ａ〜１０２Ｇに割り当てられるかは予め決まっている。しかし符号化ストリームはデコード処理を開始するまでは、そのストリームの処理負荷が不明なため、入力される可能性のある最大負荷のストリームに合わせてコアの割り当ては決められている。このため、処理負荷の低いストリームが入力された場合には、演算用プロセッサコアが有効に利用されない。
【０００８】
ここで、図３はストリーミングプロセッサ１１０における演算用プロセッサコア１１２の使用状態を説明するための説明図である。なお、図３においてストリーム分離部である演算コア１２Ａは、ストリーム中の映像と音声とを分離する処理を行い、音声デコード部はストリーム中の音声のデコード処理を行う。
【０００９】
図３に示すように、ストリーム１では、デコード処理Ａの処理負荷が小さく演算用プロセッサコア１１２Ｃおよび１１２Ｄは空きが発生しているが、ストリーム２ではデコード処理Ａは負荷が大きく３つの演算用プロセッサコア１１２Ｂ〜１１２Ｄが最大限使用されているが、演算用プロセッサコア１１２Ｅおよび１０２Ｆは処理負荷が小さく無駄が発生している。
【００１０】
以上の説明のように、従来のストリーミングプロセッサ１１０およびプロセッサシステム１０１では、演算用プロセッサコアに空きが発生するにも関わらず他のプログラムを実行することができない等、プロセッサが本来持つ性能を十分に発揮できず、効率的にストリームデータをデコード処理することができないおそれがあった。
【特許文献１】特表２０６−５２４４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、効率的にストリームデータをデコード処理するマルチコアのストリーミングプロセッサおよび効率的にストリームデータをデコード処理するプロセッサシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一態様のストリーミングプロセッサは、１つの汎用プロセッサコアと複数の演算用プロセッサコアとを有し、符号化されたストリームを復号するための複数の処理をそれぞれの演算用プロセッサコアに割り当てて並列処理を行うストリーミングプロセッサであって、ストリームのストリーム情報をもとに、ストリーム毎の処理負荷を予測する処理負荷予測処理、および、予測した処理負荷をもとに、それぞれの演算用プロセッサコアが行う処理を割り当てる割り当て処理、を行うストリーム解析手段を有することを特徴とするストリーミングプロセッサである。
【００１３】
また、本発明の別の一態様のプロセッサシステムは、１つの汎用プロセッサコアと複数の演算用プロセッサコアとを有し、符号化されたストリームを復号するための複数の処理をそれぞれの演算用プロセッサコアに割り当てて並列処理を行うストリーミングプロセッサであって、ストリームのストリーム情報をもとに、ストリーム毎の処理負荷を予測する処理負荷予測処理、および、予測した処理負荷をもとに、それぞれの演算用プロセッサコアが行う処理を割り当てる割り当て処理を行う、ストリーム解析手段を有するストリーミングプロセッサと、ストリーミングプロセッサに符号化されたストリームを入力する入力装置と、ストリーミングプロセッサから入力する復号されたストリームを出力する出力装置と、複数の処理のプログラム、ストリーム情報と処理負荷との対応テーブル、および処理負荷と使用する演算用プロセッサコアの数との対応テーブル、を記憶する記憶装置と、を有することを特徴とするプロセッサシステム。使用する演算用プロセッサコア数との対応テーブル、を記憶する記憶装置と、を有することを特徴とするプロセッサシステムである。
【発明の効果】
【００１４】
本発明は、効率的にストリームデータをデコード処理するマルチコアのストリーミングプロセッサおよび効率的にストリームデータをデコード処理するプロセッサシステムを提供するものである。
【発明を実施するための最良の形態】
【００１５】
＜第１の実施の形態＞  
以下、図面を参照して本発明の第１の実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１について説明する。図４は、本発明の第１の実施の形態のストリーミングプロセッサおよびプロセッサシステムの構成を示す構成図である。
【００１６】
図４に示すように、プロセッサシステム１は、入力装置２と、出力装置３と、記憶装置４と、ストリーミングプロセッサ１０とを有している。ストリーミングプロセッサ１０は１個の汎用プロセッサコア（以下、「汎用コア」ともいう。）１１と、７個の演算用プロセッサコア（以下、「演算用コア」ともいう。）１２Ａ〜１２Ｇとを有し、符号化されたストリームデータの復号処理を複数の処理に分割して、分割されたそれぞれの処理を「汎用コアおよび演算用コア１２Ａ〜１２Ｇに割り当て処理することにより並列処理を行う。なお、以下、演算用コア１２Ａ〜１２Ｇのそれぞれを指すときは、演算用コア１２という。
【００１７】
記憶装置４は、分割され、それぞれの演算用コア１２に割り当てる処理のプログラム１７と、パラメータ／処理負荷対応テーブル１５と、処理負荷／使用コア数対応テーブル１６とを記憶する。そして、汎用コア１１は、ストリーム入力機能および映像・音声出力機能等を有するプログラムが図示しないメモリに読み込まれ処理を行い、それぞれの演算用コア１２はその他の機能を有する、それぞれのプログラムが図示しないメモリに読み込まれ処理を行う。
【００１８】
なお、ストリーミングプロセッサ１０は、１個の汎用コア１１と７個の演算用コア１２Ａ〜１２Ｇとを有するマルチコアプロセッサであるが、それぞれのプロセッサコアの個数については本実施の形態に限られるものではない。  
ここで、例えば入力装置２は、デジタルハイビジョンテレビ放送受信機またはデジタルハイビジョンテレビ放送受信機能を有するハードディスクレコーダの受信部であり、出力装置３はモニタおよびスピーカーであり、記憶装置４はハードディスク装置である。
【００１９】
次に、図５および図６を用いて、本実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１の動作について説明する。図５は、本実施の形態のストリーミングプロセッサの動作の流れを説明するためのフローチャートであり、図６は本実施の形態のストリーミングプロセッサにおける演算用プロセッサコアの割り当ての一例を示す説明図である。
【００２０】
以下、図５のフローチャートに従い説明する。
【００２１】
＜ステップＳ２１＞  ストリーム入力ステップ  
入力装置２および汎用コア１１を介して、符号化されたストリームデータがストリーミングプロセッサ１０に入力される。
【００２２】
＜ステップＳ２２＞  ストリーム分離ステップ  
ストリーミングプロセッサ１０に入力された符号化ストリームは、演算用コア１２Ａのストリーム分離部に送られ、Ｈ．２６４ストリームと音声ストリームとに分離される。なお、図６のスタート時に示すように、記憶装置４に記憶されていたストリーム分離機能を有するプログラムが演算用コア１２Ａのメモリに読み込まれ、演算用コア１２Ａはストリーム分離部１２Ａ１として動作し、ストリーム解析機能を有するプログラムが演算用コア１２Ｂのメモリに読み込まれ、演算用コア１２Ｂはストリーム解析部１２Ｂ１として動作する状態になっている。以下の演算用コア１２も記憶装置４に記憶されていた当該機能を処理するプログラム１７が、それぞれの演算用コア１２のメモリに読み込まれ、それぞれの処理部として動作する。
【００２３】
分離されたＨ．２６４ストリームは演算用コア１２Ｂのストリーム解析部１２Ｂ１に、音声ストリームは演算用コア１２Ｇの音声デコード部に、それぞれ送られる。
【００２４】
＜ステップＳ２３＞  ストリーム解析ステップ１  
ストリーム解析手段であるストリーム解析部１２Ｂ１はＨ．２６４ストリーム中からＮＡＬユニットにＳＰＳパラメータおよびＰＰＳパラメータが含まれているかを確認する。含まれていなかった場合（Ｎｏ）は、例えば、図３に示したように、予め決められているプログラム１７の演算用コア１２への割り当てに従って、それぞれのプログラムが、それぞれのメモリに読み込まれて処理を行うか、すでにそれぞれの演算用コア１２に読み込まれているプログラムに従って処理を行う。
【００２５】
＜ステップＳ２４＞  ストリーム解析ステップ２  
ＮＡＬユニットにＳＰＳパラメータおよびＰＰＳパラメータが含まれていた場合（Ｓ２３：Ｙｅｓ）には、ストリーム解析部１２Ｂ１はＮＡＬユニットのみをデコード処理して付加情報であるパラメータ情報を取り出す。なお、ストリーム解析部１２Ｂ１の動作については後に図６を用いて、詳述する。
【００２６】
＜ステップＳ２５＞  処理負荷予測ステップ  
ストリーム解析部１２Ｂ１は、取得したストリーム情報を用いて、パラメータ／処理負荷対応テーブル１５にもとづいて、入力されたストリームの最大処理負荷を予測する。なお、パラメータ／処理負荷対応テーブル１５は、ストリーム解析プログラムと同時に記憶装置４から演算用コア１２Ｃのメモリ部に読み込まれている。
【００２７】
＜ステップＳ２６＞  コア数決定ステップ  
ストリーム解析部１２Ｂ１は、予測された最大処理負荷と処理負荷／使用コア数対応テーブル１６とをもとに、入力されたストリームをリアルタイムでデコード処理するための性能を維持するために最低限必要なプロセッサコア数を決定する。なお処理負荷／使用コア数対応テーブル１６は、ストリーム解析プログラムと同時に記憶装置４から演算用コア１２Ｃのメモリ部に読み込まれている。
【００２８】
ストリーム解析部１２Ｂ１は、それぞれの演算用コア１２が行うデコード処理を割り当てる。すなわち、図９に示したストリーム１では、演算用コア１２Ｃにデコード処理Ａを、演算用コア１２Ｄにデコード処理Ｂを、演算用コア１２Ｅにデコード処理Ｃおよびデコード処理Ｄを、演算用コア１２Ｆにデコード処理Ｅを割り当てる。
【００２９】
＜ステップＳ２７＞  デコード処理ステップ  
それぞれの演算用コア１２は、読み込んだプログラムによる処理部としてデコード処理を並列動作で行う。
【００３０】
＜ステップＳ２８＞  出力ステップ  
ストリーミングプロセッサ１０は、汎用コア１１を介して出力装置３に復号データ、すなわち、ストリーム映像データおよび音声データを出力タイミングの同期をとった上で出力する。
【００３１】
＜ステップＳ２９＞  繰り返し処理  
ストリーミングプロセッサ１０は、上記のストリームの処理を終了指示があるまで繰り返して行う。
【００３２】
以上の説明のように、本実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１では、ストリーム毎に最適の処理配置を行うため、効率的にストリームデータをデコード処理することができる。
【００３３】
次に図７、図８および図９を用いて、本実施の形態のストリーミングプロセッサ１０のストリーム情報解析部の情報取得処理の動作の流れについて詳細に説明する。図７は本実施の形態のストリーミングプロセッサのストリーム情報解析部の情報取得処理の動作の流れを説明するためのフローチャートであり、図８は本実施の形態のストリーミングプロセッサのパラメータ／処理負荷対応テーブルの一例を示す説明図であり、図９は本実施の形態のストリーミングプロセッサの処理負荷／使用コア数対応テーブルの一例を示す説明図である。  
以下、図７のフローチャートに従い説明する。
【００３４】
＜ステップＳ３１＞  ＮＡＬユニット取得ステップ  
すでに説明したように、ストリーミングプロセッサ１０の演算用コア１２Ｃのストリーム解析部１２Ｂ１はＨ．２６４ストリーム中からＮＡＬ（Network Abstraction Layer：ネットワーク抽象化レイヤ）ユニットを取得する。ＮＡＬユニットにはストリームの種々の情報が含まれているが、ストリーミングプロセッサ１０では、プロファイル、レベル、マクロブロックサイズ、およびエントロピー符号化モードを用いて処理負荷を予測する。また、ＮＡＬユニットにストリーム情報としてビットレートが含まれている場合には、ストリーミングプロセッサ１０では、さらにビットレートも用いて処理負荷を予測する。
【００３５】
＜ステップＳ３２〜Ｓ３７＞  ＳＰＳ  パラメータ取得ステップ  
ストリーム解析部１２Ｂ１は、ストリームが入力されると、そこに含まれるＮＡＬユニットと、そのＮＡＬユニットに関連付けられた（ＮＡＬ_unit_type）を取得する。
【００３６】
ストリーム解析部１２Ｂ１は、ＮＡＬユニットのＮＡＬ_unit_typeの値が７に等しい場合、そのＮＡＬユニットはSequence Parameter Set (シークエンス・パラメータ・セット：以下、「ＳＰＳ」という。)を含むため、ＳＰＳのデコード処理を行い、含まれているプロファイル（profile_idc）、レベル（level_idc）、マクロブロックサイズ（pic_width_in_mbs_minus1、 pic_height_map_units_minus1）の値を取得する。ここで、マクロブロックとはＨ．２６４における処理単位である１６画素×１６画素のブロックであり、マクロブロックサイズとは映像を構成しているブロックの数、すなわち、映像サイズである。
【００３７】
また、ストリーム解析部１２Ｂ１は、ＳＰＳに含まれる（vui_parameters_present_flag）の値が１に等しく、かつ（nal_hrd_parameters_present_flag）または（vcl_hrd_parameters_present_flag）の両方または、いずれか一方がＳＰＳ中に存在し、その値が１に等しい場合には、ＳＰＳ中に存在する、ビットレート（bit_rate_value_minus1）の値を取得する。
【００３８】
すなわち、ストリーミングプロセッサ１０が、処理負荷予測処理を行うためのストリーム情報として、ビットレートは必須の情報ではない。
【００３９】
＜ステップＳ３８〜Ｓ４０＞  ＰＰＳ  パラメータ取得ステップ  
さらに、ストリーム解析部１２Ｂ１は、（ＮＡＬ_unit_type）の値が８に等しい場合、そのＮＡＬユニットはPicture Parameter Set (ピクチャ・パラメータ・セット：以下、「ＰＰＳ」という。)を含むため、ＰＰＳのデコード処理を行い、含まれるエントロピー符号化モード（entropy_coding_mode_flag）の値を取得する。
【００４０】
＜ステップＳ４１＞  
ストリーム解析部１２Ｂ１はＳＰＳとＰＰＳとの両方のデコード処理およびそれらに含まれる必要なパラメータ取得が完了した場合、ステップＳ４２で入力ストリーム負荷予測処理を行う。ＳＰＳとＰＰＳのいずれか一方しか完了していない場合、ストリーム解析部１２Ｂ１はストリームに含まれる次のＮＡＬユニットを取得する。
【００４１】
＜ステップＳ４２＞  処理負荷予測処理ステップ  
ストリーム解析部１２Ｂ１は入力ストリーム負荷予測処理では、ＳＰＳおよびＰＰＳから取得したパラメータの組み合わせに対応したストリームの負荷を、パラメータ／処理負荷対応テーブル１５によって予測する。ここで、パラメータ、すなわち、ストリーム情報としては、プロファイル、レベル、マクロブロックサイズ、およびエントロピー符号化モードが必須の情報であり、ストリーム解析部１２Ｂ１は、ビットレート情報が入手できた場合にはビットレート情報も負荷予測処理に用いる。
【００４２】
例えば図８に示すように、パラメータ／処理負荷対応テーブル１５Ａは、ストリームのひとつのパラメータであるレベルに対する処理負荷を示したテーブルである。すなわち、レベル１は処理負荷が小さいが、レベルの番号が大きくなるに従い処理負荷が増加している。同様に、他のパラメータについてもパラメータ／処理負荷対応テーブル１５があり、ストリーム解析部１２Ｂ１は複数のパラメータ／処理負荷対応テーブル１５を用いて負荷を予測する。
【００４３】
さらに、ストリーム解析部１２Ｂ１はその予測負荷に対応した演算用コア１２の使用数を、処理負荷／使用コア数対応テーブル１６によって決定する。
【００４４】
すなわち、図９に示すように処理負荷／使用コア数対応テーブル１６は処理負荷に対応して使用する演算用コア１２の数が記載されている。  
もちろん、処理負荷／使用コア数対応テーブル１６およびパラメータ／処理負荷対応テーブル１５は表形式ではなく、数式であってもよい。
【００４５】
以上の説明のように、本実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１では、ストリーム毎に処理負荷／使用コア数対応テーブル１６およびパラメータ／処理負荷対応テーブル１５をもとに最適の処理配置を行うため、効率的にストリームデータをデコード処理することができる。
【００４６】
＜第１の実施の形態の第１変形例＞  
以下、図面を参照して本発明の第１の実施の形態の第１変形例のストリーミングプロセッサおよびプロセッサシステムについて説明する。本変形例のストリーミングプロセッサおよびプロセッサシステムは第１の実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１と類似しているため、同じ説明は省略する。図１０は本発明の第１の実施の形態の第１変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。
【００４７】
図１０に示すように、本変形例のストリーミングプロセッサでは、第１の実施の形態のストリーミングプロセッサ１０と同様に、スタート時には、ストリーム解析プログラムが演算用コア１２Ｂに読み込まれてストリーム解析部１２Ｂ１として機能している。しかし、ストリーム解析部１２Ｂ１は、その機能が終了するとデコード時には、演算用コア１２Ｂから消去され、演算用コア１２Ｂは別のデコード処理部Ａとして処理を行う。そしてデコード時２に示すように、再びストリーム解析部１２Ｂ１の動作が必要になった場合には、再びストリーム解析プログラムが演算用コア１２Ｂに読み込まれてストリーム解析部１２Ｂ１として機能する。ストリーム解析はストリーム毎に行われるため使用頻度が比較的低い。
【００４８】
本変形例のストリーミングプロセッサおよびプロセッサシステムは第１の実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１が有する効果に加えて、より効率的にストリームデータをデコード処理することができる。
【００４９】
＜第１の実施の形態の第２変形例＞  
以下、図面を参照して本発明の第１の実施の形態の第２変形例のストリーミングプロセッサおよびプロセッサシステムについて説明する。本変形例のストリーミングプロセッサおよびプロセッサシステムは第１の実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１と類似しているため、同じ説明は省略する。図１１は本発明の第１の実施の形態の第２変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。
【００５０】
図１１に示すように、本変形例のストリーミングプロセッサでは、第１の実施の形態のストリーミングプロセッサ１０と同様に、スタート時、すなわちデコード処理開始前には、ストリーム解析プログラムが演算用コア１２Ｂに読み込まれてストリーム解析部１２Ｂ１として機能している。さらに、本変形例のストリーミングプロセッサでは、デコード処理が開始していないため使用されていない演算用コア１２Ｃ〜１２Ｇが再エンコード処理に使用されている。ハードディスクレコーダ等には通常デコード処理された映像ストリームが記憶されているが、再エンコード処理し再記憶することにより記憶容量を減ずることができる。このため、本変形例のストリーミングプロセッサでは、デコード処理、言い換えれば、リアルタイム処理に使用されていない演算用コア１２がある場合には、その演算用コア１２によりデコード処理以外のベストエフォートプロセス処理を行う。
【００５１】
また、本変形例のストリーミングプロセッサでは、図１１のデコード時に示すように、デコード時であってもストリームの負荷が小さく、デコード処理に使用されていない演算用コア１２がある場合には、その演算用コア１２によりデコード処理以外の処理を行う。さらに本変形例のストリーミングプロセッサでは、図１１のデコード時２に示すように、デコード処理に加えて、使用者の指示に従って特殊画像処理、例えば、注目対象を強調表示する等のリアルタイム処理を行うことも可能である。あるいは、本変形例のストリーミングプロセッサでは、２つのストリームを同時にデコード処理することもできる。
【００５２】
しかし、ストリーム解析部１２Ｂ１は、その機能が終了するとデコード時には、演算用コア１２Ｂから消去され、演算用コア１２Ｂは別のデコード処理部Ａとして処理を行う。そしてデコード時２に示すように、再びストリーム解析部１２Ｂ１の動作が必要になった場合には、再びストリーム解析プログラムが演算用コア１２Ｂに読み込まれてストリーム解析部１２Ｂ１として機能する。もちろん、ストリーム解析部１２Ｂ１として動作する演算用コア１２は演算用コア１２Ｂに限られるものではなく、他の演算用コア１２が使用される場合もある。
【００５３】
本変形例のストリーミングプロセッサおよびプロセッサシステムは第１の実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１が有する効果に加えて、より効率的にストリームデータをデコード処理することができる。
【００５４】
本変形例のストリーミングプロセッサおよびプロセッサシステムは第１の実施の形態のストリーミングプロセッサ１０およびプロセッサシステム１が有する効果に加えて、より効率的にストリームデータをデコード処理することができ、さらにリアルタイム処理であるデコード処理以外の、いわゆるベストエフォートプロセス処理にもストリーミングプロセッサを活用することができる。また、負荷が小さな処理しかない場合には、処理プログラムをロードしない演算用コア１２があってもよい。全く使用されない演算用コア１２は電力を殆ど消費しないため、プロセッサシステム全体の消費電力を低減することができる。
【００５５】
また、本発明のストリーミングプロセッサおよびプロセッサシステムでは、いわゆるプロセッサプール機能を用いて、それぞれのデコード処理が使用する演算用コア１２の上限を設定しておいてもよい。あるいは、デコード処理全体で使用するコア数をプールしておき、他の処理とのバランスをとりながら、デコード処理とデコード処理以外の処理とを行っても良い。また、ストリーム解析部１２Ｂ１が、デコード処理全体を行うための処理負荷を予測し、デコード処理全体を行うための演算用コア１２数を算出し、ベストエフォートプロセス処理より優先して割り当て処理を行っても良い。
【００５６】
なお、上記説明ではＨ．２６４符号化処理されたデータを例に説明したが、符号化されたストリームであれば、他の符号化、例えば、ＭＰＥＧ―４、ＭＰＥＧ−２、または、ＶＣ１等であっても、本発明の効果を得ることができる。
【００５７】
本発明は、上述した実施の形態または変形例に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００５８】
【図１】Ｈ．２６４により符号化されたストリームの復号処理を説明するための図である。
【図２】公知のプロセッサシステムの構成および処理配置を説明するための説明図である。
【図３】公知のプロセッサシステムの演算用コアの処理配置を説明するための説明図である。
【図４】本発明の第１の実施の形態のストリーミングプロセッサおよびプロセッサシステムの構成を示す構成図である。
【図５】本発明の第１の実施の形態のストリーミングプロセッサの動作の流れを説明するためのフローチャートである。
【図６】本発明の第１の実施の形態のストリーミングプロセッサにおける演算用プロセッサコアの割り当ての一例を示す説明図である。
【図７】本発明の第１の実施の形態のストリーミングプロセッサのストリーム情報解析部の情報取得処理の動作の流れを説明するためのフローチャートである。
【図８】本発明の第１の実施の形態のストリーミングプロセッサのパラメータ／処理負荷対応テーブルの一例を示す説明図である。
【図９】本発明の第１の実施の形態のストリーミングプロセッサの処理負荷／使用コア数対応テーブルの一例を示す説明図である。
【図１０】本発明の第１の実施の形態の第１変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。
【図１１】本発明の第１の実施の形態の第２変形例のストリーミングプロセッサおよびプロセッサシステムにおける演算用プロセッサコアの使用状態を説明するための説明図である。
【符号の説明】
【００５９】
１…プロセッサシステム
２…入力装置
３…出力装置
４…記憶装置
１０…ストリーミングプロセッサ
１１…汎用プロセッサコア
１２、１２Ａ〜１２Ｇ…演算用プロセッサコア
１５、１５Ａ…処理負荷対応テーブル
１６…使用コア数対応テーブル
１７、１７Ａ…プログラム
１０１…プロセッサシステム
１０２…入力装置
１０３…出力装置
１１０…ストリーミングプロセッサ
１１１…汎用プロセッサコア
１１２、１１２Ａ〜１１２Ｇ…演算用プロセッサコア
【図１】
2010141821.tif 000003
【図２】
2010141821.tif 000004
【図３】
2010141821.tif 000005
【図４】
2010141821.tif 000006
【図５】
2010141821.tif 000007
【図６】
2010141821.tif 000008
【図７】
2010141821.tif 000009
【図８】
2010141821.tif 000010
【図９】
2010141821.tif 000011
【図１０】
2010141821.tif 000012
【図１１】
2010141821.tif 000013